← К каталогу
Исходный код · ID 2716

Macd_color

macd_color histo.mq5

Похожие материалы по тегам

pro +.pineTradingView · 2 общих теговofada_gold_trader_v230.mq5MQL5 / MetaTrader 5 · 2 общих теговmulti strategy algo combined by enigma mode.pineTradingView · 2 общих теговmacd-osma-on-chart-mtf-v2.mq5MQL5 / MetaTrader 5 · 2 общих теговmelona ob strategy 6th update (by 3dots).pineTradingView · 2 общих теговlondon breakout 1.00@lifeindreamsworld.mq4MQL4 / MetaTrader 4 · 2 общих тегов
Вы автор или правообладатель?

Сообщите нам, если считаете, что материал размещён без разрешения.

Краткий обзор

О программе

Macd_color — индикатор для MetaTrader 4, отображающий MACD в виде цветных гистограмм в отдельном окне. Индикатор рассчитывает разницу между быстрой и медленной скользящими средними и строит сигнальную линию на основе этой разницы. Гистограммы окрашиваются в разные цвета в зависимости от направления тренда.

Поддерживаются различные типы скользящих средних (SMA, EMA, SMMA, LWMA, TEMA) и типы цен (Close, Open, High, Low, Median, Typical, Weighted, а также цены Heikin Ashi). Индикатор использует 4 буфера для отрисовки: два гистограммных (зелёный и красный), линию MACD и сигнальную линию.

Настройки включают периоды и методы расчёта быстрой, медленной и сигнальной скользящих, выбор ценового типа и горизонтальный сдвиг индикатора.

Настройки программы

НастройкаОписание
Fast moving average period (FastMaPeriod) Период быстрой скользящей — Период быстрой скользящей средней
Fast moving average method (FastMaMethod) Метод быстрой скользящей — Метод расчёта быстрой скользящей средней (SMA, EMA, SMMA, LWMA, TEMA)
Slow moving average period (SlowMaPeriod) Период медленной скользящей — Период медленной скользящей средней
Slow moving average method (SlowMaMethod) Метод медленной скользящей — Метод расчёта медленной скользящей средней (SMA, EMA, SMMA, LWMA, TEMA)
Signal moving average period (SignalMaPeriod) Период сигнальной скользящей — Период сигнальной скользящей средней
Signal moving average method (SignalMaMethod) Метод сигнальной скользящей — Метод расчёта сигнальной скользящей средней (SMA, EMA, SMMA, LWMA, TEMA)
Price to use (Price) Тип цены — Тип цены для расчёта (Close, Open, High, Low, Median, Typical, Weighted, Heikin Ashi и др.)
Shift (Shift) Сдвиг — Горизонтальный сдвиг индикатора в барах
Получить полный код

Поиск по коду файла

#property indicator_separate_window
#property indicator_buffers    4
#property indicator_color1     clrLimeGreen
#property indicator_color2     clrRed
#property indicator_color3     clrDarkSlateGray
#property indicator_color4     clrYellow
#property indicator_width1     2
#property indicator_width2     2
#property indicator_width3     2
#property indicator_levelstyle STYLE_DOT
#property indicator_levelcolor clrMediumOrchid
#property strict

enum enPrices
{
   pr_close,      // Close
   pr_open,       // Open
   pr_high,       // High
   pr_low,        // Low
   pr_median,     // Median
   pr_typical,    // Typical
   pr_weighted,   // Weighted
   pr_average,    // Average (high+low+open+close)/4
   pr_medianb,    // Average median body (open+close)/2
   pr_tbiased,    // Trend biased price
   pr_tbiased2,   // Trend biased (extreme) price
   pr_haclose,    // Heiken ashi close
   pr_haopen ,    // Heiken ashi open
   pr_hahigh,     // Heiken ashi high
   pr_halow,      // Heiken ashi low
   pr_hamedian,   // Heiken ashi median
   pr_hatypical,  // Heiken ashi typical
   pr_haweighted, // Heiken ashi weighted
   pr_haaverage,  // Heiken ashi average
   pr_hamedianb,  // Heiken ashi median body
   pr_hatbiased,  // Heiken ashi trend biased price
   pr_hatbiased2  // Heiken ashi trend biased (extreme) price
};
enum enMaTypes
{
   ma_sma,    // Simple moving average
   ma_ema,    // Exponential moving average
   ma_smma,   // Smoothed MA
   ma_lwma,   // Linear weighted MA
   ma_tema    // Triple exponential moving average - TEMA
};

extern int            FastMaPeriod    = 12;           // Fast moving average period
extern enMaTypes      FastMaMethod    = ma_sma;       // Fast moving average method   
extern int            SlowMaPeriod    = 26;           // Slow moving average period
extern enMaTypes      SlowMaMethod    = ma_sma;       // Slow moving average method   
extern int            SignalMaPeriod  = 9;            // Signal moving average period
extern enMaTypes      SignalMaMethod  = ma_sma;       // Signal moving average method   
extern enPrices       Price           = pr_close;     // Price to use 
extern int            Shift           = 0;            // Shift

double macd[];   
double Up[];   
double Dn[];
double signal[];
double trend[];

int init()
{
      // код доступен только после оплаты
   }
int deinit() { return(0); }

int start()
{
      // код доступен только после оплаты
   }

#define _maInstances 3
#define _maWorkBufferx1 1*_maInstances
#define _maWorkBufferx2 2*_maInstances
#define _maWorkBufferx3 3*_maInstances

double iCustomMa(int mode, double price, double length, int r, int instanceNo=0)
{
   int bars = Bars; r = bars-r-1;
   switch (mode)
   {
      case ma_sma   : return(iSma(price,(int)length,r,bars,instanceNo));
      case ma_ema   : return(iEma(price,length,r,bars,instanceNo));
      case ma_smma  : return(iSmma(price,(int)length,r,bars,instanceNo));
      case ma_lwma  : return(iLwma(price,(int)length,r,bars,instanceNo));
      case ma_tema  : return(iTema(price,(int)length,r,bars,instanceNo));
      default       : return(price);
   }
}

double workSma[][_maWorkBufferx2];
double iSma(double price, int period, int r, int _bars, int instanceNo=0)
{
   if (ArrayRange(workSma,0)!= _bars) ArrayResize(workSma,_bars); instanceNo *= 2; int k;

   workSma[r][instanceNo+0] = price;
   workSma[r][instanceNo+1] = price; for(k=1; k<period && (r-k)>=0; k++) workSma[r][instanceNo+1] += workSma[r-k][instanceNo+0];  
   workSma[r][instanceNo+1] /= 1.0*k;
   return(workSma[r][instanceNo+1]);
}

double workEma[][_maWorkBufferx1];
double iEma(double price, double period, int r, int _bars, int instanceNo=0)
{
   if (ArrayRange(workEma,0)!= _bars) ArrayResize(workEma,_bars);

   workEma[r][instanceNo] = price;
   if (r>0 && period>1)
          workEma[r][instanceNo] = workEma[r-1][instanceNo]+(2.0/(1.0+period))*(price-workEma[r-1][ins

Показано первые 50% кода (символов: 7476)

Открыть по тарифу

Купите тариф с пакетом открытий или войдите, если тариф уже есть. Открытый файл останется в вашем кабинете навсегда.

Разовая покупка файла

На этой странице откроется полный исходный код файла вместо ознакомительного фрагмента.

Чтобы оформить заказ, введите email и перейдите к оплате.

Стоимость полного кода
747,60₽ ≈ $9.14