Мультитаймфреймовые индикаторы - страница 737

 

Привет М

Вы правы

Это Macd, который я использовал, я сравниваю с вашим.

Вот код, выглядит ли он правильно для вас

//+------------------------------------------------------------------+

//| MACD с пересечением.mq4 |

//| Copyright © 2004, MetaQuotes Software Corp. |

//| Торговая платформа MetaTrader 5 / MetaQuotes Software Corp. |

//+------------------------------------------------------------------+

#property copyright ""

#property link ""

//---- настройки индикатора

#property indicator_separate_window

#property indicator_buffers 3

#property indicator_color1 Gold

#property indicator_color2 Red

#property indicator_color3 Серый

#property indicator_width1 2

//---- параметры индикатора

extern int FastEMA=12;

extern int SlowEMA=26;

extern int SignalSMA=9;

//---- буферы индикатора

double MacdBuffer[];

double SignalBuffer[];

double HistogramBuffer[];

//---- глобальные файлы

int maxLines;

//+------------------------------------------------------------------+

//| Пользовательская функция инициализации индикатора |

//+------------------------------------------------------------------+

int init()

{

SetIndexStyle(0,DRAW_LINE);

SetIndexStyle(1,DRAW_LINE);

SetIndexStyle(2,DRAW_HISTOGRAM);

//

SetIndexBuffer(0,MacdBuffer);

SetIndexBuffer(1,SignalBuffer);

SetIndexBuffer(2,HistogramBuffer);

//

SetIndexLabel(0, "MACD");

SetIndexLabel(1, "Signal");

SetIndexLabel(2, "MACD-Signal");

//

SetIndexDrawBegin(1,SignalSMA);

IndicatorDigits(Digits+1);

IndicatorShortName("MACD("+FastEMA+", "+SlowEMA+", "+SignalSMA+")");

return(0);

}

//+------------------------------------------------------------------+

//| |

//+------------------------------------------------------------------+

int deinit()

{

DeleteLines();

return(0);

}

//+------------------------------------------------------------------+

//| Конвергенция/дивергенция скользящих средних |

//+------------------------------------------------------------------+

int start()

{

двойное пересечение;

int limit,i;

int counted_bars=IndicatorCounted();

//----

if(counted_bars>0) counted_bars--;

limit=Bars-counted_bars;

//----

for(i=0; i<limit; i++) MacdBuffer=iMA(NULL,0,FastEMA,0,MODE_EMA,PRICE_CLOSE,i)-iMA(NULL,0,SlowEMA,0,MODE_EMA,PRICE_CLOSE,i);

for(i=0; i<limit; i++)

{

SignalBuffer=iMAOnArray(MacdBuffer,Bars,SignalSMA,0,MODE_SMA,i);

HistogramBuffer=MacdBuffer - SignalBuffer;

}

//----

DeleteLines();

for(i=WindowBarsPerChart(); i>0 ;i--)

{

crossing=(MacdBuffer-SignalBuffer)*(MacdBuffer-SignalBuffer);

if (crossing < 0)

{

maxLines+=1;

ObjectCreate("MacdCross "+maxLines,0,0,Time,0);

ObjectSet("MacdCross "+maxLines,OBJPROP_COLOR,DimGray);

ObjectSet("MacdCross "+maxLines,OBJPROP_STYLE,STYLE_DOT);

}

}

return(0);

}

//+------------------------------------------------------------------+

//| |

//+------------------------------------------------------------------+

void DeleteLines()

{

for(int i=1;i<=maxLines;i++) ObjectDelete("MacdCross "+i); maxLines=0;

}

//+------------------------------------------------------------------+

Вы можете сказать мне, как добавить MTF к этому, просто для знания.

Thx

Файлы:
 
rkhan1:
Привет М

Вы правы

Это Macd, который я использовал, я сравниваю с вашим.

Вот код, он выглядит правильно, как вам кажется

//+------------------------------------------------------------------+

//| MACD с пересечением.mq4 |

//| Copyright © 2004, MetaQuotes Software Corp. |

//| Торговая платформа MetaTrader 5 / MetaQuotes Software Corp. |

//+------------------------------------------------------------------+

#property copyright ""

#property link ""

//---- настройки индикатора

#property indicator_separate_window

#property indicator_buffers 3

#property indicator_color1 Gold

#property indicator_color2 Red

#property indicator_color3 Серый

#property indicator_width1 2

//---- параметры индикатора

extern int FastEMA=12;

extern int SlowEMA=26;

extern int SignalSMA=9;

//---- буферы индикатора

double MacdBuffer[];

double SignalBuffer[];

double HistogramBuffer[];

//---- глобальные файлы

int maxLines;

//+------------------------------------------------------------------+

//| Пользовательская функция инициализации индикатора |

//+------------------------------------------------------------------+

int init()

{

SetIndexStyle(0,DRAW_LINE);

SetIndexStyle(1,DRAW_LINE);

SetIndexStyle(2,DRAW_HISTOGRAM);

//

SetIndexBuffer(0,MacdBuffer);

SetIndexBuffer(1,SignalBuffer);

SetIndexBuffer(2,HistogramBuffer);

//

SetIndexLabel(0, "MACD");

SetIndexLabel(1, "Signal");

SetIndexLabel(2, "MACD-Signal");

//

SetIndexDrawBegin(1,SignalSMA);

IndicatorDigits(Digits+1);

IndicatorShortName("MACD("+FastEMA+", "+SlowEMA+", "+SignalSMA+")");

return(0);

}

//+------------------------------------------------------------------+

//| |

//+------------------------------------------------------------------+

int deinit()

{

DeleteLines();

return(0);

}

//+------------------------------------------------------------------+

//| Конвергенция/дивергенция скользящих средних |

//+------------------------------------------------------------------+

int start()

{

двойное пересечение;

int limit,i;

int counted_bars=IndicatorCounted();

//----

if(counted_bars>0) counted_bars--;

limit=Bars-counted_bars;

//----

for(i=0; i<limit; i++) MacdBuffer=iMA(NULL,0,FastEMA,0,MODE_EMA,PRICE_CLOSE,i)-iMA(NULL,0,SlowEMA,0,MODE_EMA,PRICE_CLOSE,i);

for(i=0; i<limit; i++)

{

SignalBuffer=iMAOnArray(MacdBuffer,Bars,SignalSMA,0,MODE_SMA,i);

HistogramBuffer=MacdBuffer - SignalBuffer;

}

//----

DeleteLines();

for(i=WindowBarsPerChart(); i>0 ;i--)

{

crossing=(MacdBuffer-SignalBuffer)*(MacdBuffer-SignalBuffer);

if (crossing < 0)

{

maxLines+=1;

ObjectCreate("MacdCross "+maxLines,0,0,Time,0);

ObjectSet("MacdCross "+maxLines,OBJPROP_COLOR,DimGray);

ObjectSet("MacdCross "+maxLines,OBJPROP_STYLE,STYLE_DOT);

}

}

return(0);

}

//+------------------------------------------------------------------+

//| |

//+------------------------------------------------------------------+

void DeleteLines()

{

for(int i=1;i<=maxLines;i++) ObjectDelete("MacdCross "+i); maxLines=0;

}

//+------------------------------------------------------------------+

подскажите, пожалуйста, как добавить MTF к этому, просто для знания.

Спасибо

В этой программе используется SMA для сигнальной линии - она такая же, как и встроенная в metatrader.

 
mladen:
rkhan1 Это обновленная версия: mtf_ma_with_shift_nmc.mq4

Уважаемый mladen,

возможно ли сделать его двухцветным?

 
studbiol:
Уважаемый mladen, возможно ли сделать его двухцветным?

Studbiol, добавил многоцветный вариант.

 

Мой следующий вопрос к щедрым программистам:

Прилагаемый индикатор кажется хорошим индикатором. Это что-то вроде Solarwind или ZigZag? Перерисовывается ли он?

Если он не перерисовывается, не мог бы кто-нибудь посмотреть, почему он не отображается на TF > 240 мин. и, возможно, заставить его работать.

Заранее спасибо.

Файлы:
 
studbiol:
Мой следующий вопрос к щедрым программистам:

Прилагаемый индикатор кажется хорошим индикатором. Это разновидность Solarwind или ZigZag? Перерисовывается ли он?

Если он не перерисовывается, не мог бы кто-нибудь посмотреть, почему он не отображается на TF > 240 мин. и, возможно, заставить его работать.

Заранее спасибо.

studbiol

Активатор Gan high low не перекрашивает.

Что касается того, почему он не отображается: лучше использовать какую-нибудь другую версию (так как эта закодирована для работы только внутри дня, и в ней тоже есть ошибки).

 

Привет, Младен и Mrtools,

Не будете ли вы так же любезны и не могли бы вы сделать эту удивительную красоту MTF?

Файлы:
 

Привет трейдеры,

есть ли у кого-нибудь версия осциллятора Accelerator Oscillator с настройкой периода?

Это действительно необходимо.

tanx

С наилучшими пожеланиями

Али

 
za_trader:
Привет трейдерам,

есть ли у кого-нибудь версия ускорительного генератора с настройкой периода?

Это действительно необходимо.

tanx

С наилучшими пожеланиями

Али

Вот, пожалуйста: accelerator_periods.mq4

Файлы:
 
Wulong10:
Привет Mladen и Mrtools, Не будете ли вы так же любезны и не могли бы вы сделать эту удивительную красоту MTF?

Тестирую некоторые вещи, попробуйте.

Файлы:
Причина обращения: