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

 

Осциллятор Forex_Off_Trend

Одним из наиболее точных осцилляторов для определения смены тренда является осциллятор

Forex_Off_Trend Oscillator. Последняя версия, которую я получил на прошлой неделе, называется ForexTrend_v2 и представляет собой версию с гистограммой. Я был очень рад этой разработке, но новая версия совсем не хороша. Она ужасно перерисовывается, но если мы сможем это исправить, она может стать очень хорошим дополнением в качестве MTF-осциллятора.

Я прилагаю оба файла с просьбой посмотреть на них, и если вы сможете перевести их в формат MTF, я буду очень рад. Формат гистограммы превосходен, так что можно сузить окно и при этом сразу увидеть, когда направление меняется.

С нетерпением жду ответа от вас, ребята. Заранее спасибо и наилучшие пожелания.

Файлы:
 

offtrend

Мне кажется, что это практически тот же код с кодом histo и измененным номером SSP по умолчанию. возможно, стоит назвать этот код histo или как-то еще вместо v2, имхо.

Немного больше разделения помогает мне при быстром просмотре.

else

{

ExtHBuffer1=0;

ExtHBuffer2=-1 //<----

и вот немного таймфреймового дерьма

как обычно, остерегайтесь проблем с перерисовкой

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

//| Copy and Pasted by Lowphat |

//| |

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

#property copyright " "

#property link " "

#property indicator_separate_window

#property indicator_buffers 2

#property indicator_color1 Lime

#property indicator_color2 Red

#property indicator_maximum 1

#property indicator_minimum -1

extern int TimeFrame=30;

extern int SSP=7;

extern double Kmax=50.6;

double ExtMapBuffer1[];

double ExtMapBuffer2[];

int init()

{

SetIndexStyle(0,DRAW_HISTOGRAM,EMPTY,2);

SetIndexBuffer(0,ExtMapBuffer1);

SetIndexStyle(1,DRAW_HISTOGRAM,EMPTY,2);

SetIndexBuffer(1,ExtMapBuffer2);

switch(TimeFrame)

{

case 1 : string TimeFrameStr="Period_M1"; break;

case 5 : TimeFrameStr="Period_M5"; break;

case 15 : TimeFrameStr="Period_M15"; break;

case 30 : TimeFrameStr="Period_M30"; break;

case 60 : TimeFrameStr="Period_H1"; break;

case 240 : TimeFrameStr="Period_H4"; break;

case 1440 : TimeFrameStr="Period_D1"; break;

case 10080 : TimeFrameStr="Period_W1"; break;

case 43200 : TimeFrameStr="Period_MN1"; break;

default : TimeFrameStr="Current Timeframe";

}

string short_name;

short_name=("FxTrend("+TimeFrame+")");

IndicatorShortName(short_name);

SetIndexLabel(0,short_name);

}

//----

return(0);

int start()

{

datetime TimeArray[];

int i,limit,y=0,counted_bars=IndicatorCounted();

// Plot defined time frame on to current time frame

ArrayCopySeries(TimeArray,MODE_TIME,Symbol(),TimeFrame);

limit=Bars-counted_bars;

limit=Bars-counted_bars;

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

{

if (Time<TimeArray[y]) y++;

ExtMapBuffer1=iCustom(NULL,TimeFrame,"ForexTrend Histo",SSP,Kmax,0,y);

ExtMapBuffer2=iCustom(NULL,TimeFrame,"ForexTrend Histo",SSP,Kmax,1,y);

}

return(0);

}
 
lowphat:
Мне кажется, что это практически тот же код с кодом histo и измененным номером SSP по умолчанию. Возможно, стоит назвать этот код histo или как-то иначе вместо v2, имхо.

Немного большее разделение помогает мне для быстрых взглядов

else

{

ExtHBuffer1=0;

ExtHBuffer2=-1 //<----

и вот немного таймфреймового дерьма

как обычно, остерегайтесь проблем с перерисовкой

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

//| Copy and Pasted by Lowphat |

//| |

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

#property copyright " "

#property link " "

#property indicator_separate_window

#property indicator_buffers 2

#property indicator_color1 Lime

#property indicator_color2 Red

#property indicator_maximum 1

#property indicator_minimum -1

extern int TimeFrame=30;

extern int SSP=7;

extern double Kmax=50.6;

double ExtMapBuffer1[];

double ExtMapBuffer2[];

int init()

{

SetIndexStyle(0,DRAW_HISTOGRAM,EMPTY,2);

SetIndexBuffer(0,ExtMapBuffer1);

SetIndexStyle(1,DRAW_HISTOGRAM,EMPTY,2);

SetIndexBuffer(1,ExtMapBuffer2);

switch(TimeFrame)

{

case 1 : string TimeFrameStr="Period_M1"; break;

case 5 : TimeFrameStr="Period_M5"; break;

case 15 : TimeFrameStr="Period_M15"; break;

case 30 : TimeFrameStr="Period_M30"; break;

case 60 : TimeFrameStr="Period_H1"; break;

case 240 : TimeFrameStr="Period_H4"; break;

case 1440 : TimeFrameStr="Period_D1"; break;

case 10080 : TimeFrameStr="Period_W1"; break;

case 43200 : TimeFrameStr="Period_MN1"; break;

default : TimeFrameStr="Current Timeframe";

}

string short_name;

short_name=("FxTrend("+TimeFrame+")");

IndicatorShortName(short_name);

SetIndexLabel(0,short_name);

}

//----

return(0);

int start()

{

datetime TimeArray[];

int i,limit,y=0,counted_bars=IndicatorCounted();

// Plot defined time frame on to current time frame

ArrayCopySeries(TimeArray,MODE_TIME,Symbol(),TimeFrame);

limit=Bars-counted_bars;

limit=Bars-counted_bars;

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

{

if (Time<TimeArray[y]) y++;

ExtMapBuffer1=iCustom(NULL,TimeFrame,"ForexTrend Histo",SSP,Kmax,0,y);

ExtMapBuffer2=iCustom(NULL,TimeFrame,"ForexTrend Histo",SSP,Kmax,1,y);

}

return(0);

}

Спасибо за ваш ответ Lowphat, но так как я не программист, это имеет очень мало смысла для меня, к сожалению. - Я согласен с вашим мнением относительно V2 = Histogram.

Какие еще предложения, пожалуйста?

 

Вот, держи, приятель.

У меня не было времени проверить его, но я думаю, что все должно быть в порядке.

Файлы:
 
ValeoFX:
Одним из самых точных осцилляторов для определения смены тренда является

Forex_Off_Trend Oscillator

. Последняя версия, которую я получил на прошлой неделе, называется ForexTrend_v2 и представляет собой версию с гистограммой. Я был очень рад этой разработке, но новая версия совсем не хороша. Она ужасно перерисовывается, но если мы сможем это исправить, она может стать очень хорошим дополнением в качестве MTF-осциллятора.

Я прилагаю оба файла с просьбой посмотреть на них, и если вы сможете перевести их в формат MTF, я буду очень рад. Формат гистограммы прекрасен тем, что можно сузить окно и при этом сразу увидеть, когда направление меняется.

С нетерпением жду ответа от вас, ребята. Заранее спасибо и наилучшие пожелания.

Извините за выражение, но я не понимаю, как вы можете делать такие заявления. Он перерисовывает прошлое до 6 баров...и вы называете это одним из самых точных индикаторов для определения тренда ?!!!.... Он даже побил точность индикатора Yu4rik....

приветствую... iGoR

Файлы:
forex2.zip  119 kb
 
iGoR:
Извините, но я не понимаю, как вы можете делать такие заявления. Он перерисовывает прошлое до 6 баров...и вы называете это одним из самых точных индикаторов для определения тренда ?!!!.... Он даже побил точность индикатора Yu4rik.... regards...iGoR

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

Теперь относительно вашего заявления, что он "даже побил точность Yu4rik", вы хотите сказать, что он более точен, чем Yu4rik? Извините, но я немного запутался.

 
lowphat:
Вот, держи, приятель, у меня не было времени проверить, но я думаю, что все должно быть в порядке.

Очень признателен, Лоуфат. Я буду старательно тестировать его и сообщу вам.

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

 

Последние несколько полос продолжают менять цвет, это может привести к потере денег.

 
ValeoFX:
Игорь, перерисовка может быть и так, однако, в реальном времени он очень точен. Так что бэктестить его тоже нельзя. Теперь по поводу вашего заявления, что он "даже побил точность Yu4rik", вы хотите сказать, что он более точен, чем Yu4rik? Извините, но я немного запутался.

В реальном времени он перерисовывает прошлое до 6 баров. Это означает, что если вы поместите этот индикатор на дневной график, он может перерисовывать прошлое до 6 дней.

В моей папке zip вы можете увидеть, что он делает в реальном времени. Если у вас есть индикатор, который перерисовывает прошлое только на 1 баре, то это бесполезно.

Работать с таким индикатором - то же самое, что сказать ....I WOULD HAVE go long 6 bars ago (но это уже после фактов), а чуть позже сказать I WOULD HAVE exited 6 bars ago.

Таким образом, у вас будет 100% хитрейт.....

Индикатор YU4rik также полезен, потому что он перерисовывает до 4 или 5 баров назад. Поэтому, когда я сказал, что он побил YU4rik, это означает, что он еще более ненадежен.

Этот индикатор похож на МА, которую вы сдвигаете назад во времени (ретроспектива).

Так что этот индикатор не точен, это дерьмо.

с уважением... iGoR

 
iGoR:
В реальном времени он перерисовывает прошлое до 6 баров. Это означает, что если вы поместите этот индикатор на дневной график, то он может перерисовать прошлое до 6 дней.

В моей папке zip вы можете увидеть, что он делал в реальном времени. Если у вас есть индикатор, который перерисовывает прошлое только с 1 бара, это бесполезно.

Работать с таким индикатором - это то же самое, что сказать ....I WOULD HAVE go long 6 bars ago (но это уже после фактов), а чуть позже сказать I WOULD HAVE exited 6 bars ago.

Таким образом, у вас будет 100% хитрейт.....

Индикатор YU4rik также полезен, потому что он перерисовывает до 4 или 5 баров назад. Поэтому, когда я сказал, что он побил YU4rik, это означает, что он еще более ненадежен.

Этот индикатор похож на МА, которую вы сдвигаете назад во времени (ретроспектива).

Так что этот индикатор не точен, это дерьмо.

с уважением... iGoR

Спасибо iGoR за это объяснение. Очень признателен.

Причина обращения: