double iMACD( string symbol, int timeframe, int fast_ema_period, int slow_ema_period, int signal_period, int applied_price, int mode, int shift)
Расчет индикатора Moving Averages Convergence/Divergence. В тех системах, где ОsМА называют гистограммой МАКД, данный индикатгор изображается в виде двух линий. В клиентском терминале схожденние/расхождение скользящих средних рисуется в виде гистограммы.
Параметры:
symbol - Символьное имя инструмента, на данных которого будет вычисляться индикатор. NULL означает текущий символ.
timeframe - Период. Может быть одним из периодов графика. 0 означает период текущего графика.
fast_ema_period - Период усреднения для вычисления быстрой скользящей средней.
slow_ema_period - Период усреднения для вычисления медленной скользящей средней.
signal_period - Период усреднения для вычисления сигнальной линии.
applied_price - Используемая цена. Может быть любой из ценовых констант.
mode - Индекс линии индикатора. Может быть любым из значений идентификаторов линии индикаторов.
shift - Индекс получаемого значения из индикаторного буфера (сдвиг относительно текущего бара на указанное количество периодов назад).
Пример:
if(iMACD(NULL,0,12,26,9,PRICE_CLOSE,MODE_MAIN,0)>iMACD(NULL,0,12,26,9,PRICE_CLOSE,MODE_SIGNAL,0)) return(0);
Где: iMACD(NULL,0,12,26,9,PRICE_CLOSE,MODE_SIGNAL,0) Сигнальная
iMACD(NULL,0,12,26,9,PRICE_CLOSE,MODE_MAIN,0) макд...
double iMACD( string symbol, int timeframe, int fast_ema_period, int slow_ema_period, int signal_period, int applied_price, int mode, int shift)
Расчет индикатора Moving Averages Convergence/Divergence. В тех системах, где ОsМА называют гистограммой МАКД, данный индикатгор изображается в виде двух линий. В клиентском терминале схожденние/расхождение скользящих средних рисуется в виде гистограммы.
Параметры:
symbol - Символьное имя инструмента, на данных которого будет вычисляться индикатор. NULL означает текущий символ.
timeframe - Период. Может быть одним из периодов графика. 0 означает период текущего графика.
fast_ema_period - Период усреднения для вычисления быстрой скользящей средней.
slow_ema_period - Период усреднения для вычисления медленной скользящей средней.
signal_period - Период усреднения для вычисления сигнальной линии.
applied_price - Используемая цена. Может быть любой из ценовых констант.
mode - Индекс линии индикатора. Может быть любым из значений идентификаторов линии индикаторов.
shift - Индекс получаемого значения из индикаторного буфера (сдвиг относительно текущего бара на указанное количество периодов назад).
Пример:
if(iMACD(NULL,0,12,26,9,PRICE_CLOSE,MODE_MAIN,0)>iMACD(NULL,0,12,26,9,PRICE_CLOSE,MODE_SIGNAL,0)) return(0);
Где: iMACD(NULL,0,12,26,9,PRICE_CLOSE,MODE_SIGNAL,0) Сигнальная
iMACD(NULL,0,12,26,9,PRICE_CLOSE,MODE_MAIN,0) макд...
Попробовал так:
//тут получаю значение MACD гистограммы.
double MACDGisto=iMACD(_Symb, _TF_Ord, _MACDFast, _MACDSlow, _MACDSMA, PRICE_CLOSE, MODE_MAIN, 0);
//тут получаю значение сигнальной линии.
double SignalLine=iMACD(_Symb, _TF_Ord, _MACDFast, _MACDSlow, _MACDSMA, PRICE_CLOSE, MODE_SIGNAL, 0);
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Вы принимаете политику сайта и условия использования
Здравствуйте!
Хочу сделать в советнике фильтр, на базе MACD гистограммы.
Но вот пчему то не сходятся значения между сигналми от советника и сигналами от стандартного MACD индикатора при обсолютно одинаковых парамерах....
Мне нужно добится следующего: Buy - только если гистограмма выше сигнальной линии а Sell - только если гистограмма ниже сигнальной линии и не важно, выше или ниже нулевой линии.
Вот исходник фильтра из соетника:
extern string _Symb="GBPJPY";
extern int _TF_Ord=15;
int _MACDFast=5;
int _MACDSlow=34;
int _MACDSMA=5;
//тут получаю значение MACD гистограммы.
double MACDGisto=(iMA(_Symb, _TF_Ord, _MACDFast, 0, MODE_EMA, PRICE_CLOSE, 0)-iMA(_Symb, _TF_Ord, _MACDSlow, 0, MODE_EMA, PRICE_CLOSE, 0));
//тут получаю значение сигнальной линии.
double SignalLine=iMA(_Symb, _TF_Ord, _MACDSMA, 0, MODE_SMA, PRICE_CLOSE, 0);
if(MACDGisto > SignalLine){ BuySignal=true; }
if(MACDGisto < SignalLine){ SellSignal=true; }
Подскажите, почему не сходятся возвращаемые значения от вышеуказанного кода и от стандартного MACD индикатора.
Заранее спасибо!