Перейти к содержанию
Форекс Форум трейдеров Академии «MasterForex-V»

Отличный индикатор


Рекомендуемые сообщения

Привет всем. Вопрос впринципе как и предыдущего энтузиаста. Есть индикатор. Я на нем немного играл. Вроде пока выигрывал. Значит принцип такой. Накладываем его на график с параметрами(15,3,0) и ивходим в рынок сугубо по измененению цвета. Просмотрите кому ни лень потестируйте, плюс можно с настройками индикатора поиграться. Работа на 4H фунт йена.

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

//| HMA.mq4

//| Copyright © 2006 WizardSerg <wizardserg@mail.ru>, ?? ??????? ForexMagazine #104

//| wizardserg@mail.ru

//| Revised by IgorAD,igorad2003@yahoo.co.uk |

//| Personalized by iGoR AKA FXiGoR for the Trend Slope Trading method (T_S_T)

//| Link:

//| contact: thefuturemaster@hotmail.com

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

#property copyright "MT4 release WizardSerg <wizardserg@mail.ru>, ?? ??????? ForexMagazine #104"

#property link "wizardserg@mail.ru"

 

#property indicator_chart_window

#property indicator_buffers 2

#property indicator_color1 Blue

#property indicator_color2 Red

//---- input parameters

extern int period=15;

extern int method=3; // MODE_SMA

extern int price=0; // PRICE_CLOSE

//---- buffers

double Uptrend[];

double Dntrend[];

double ExtMapBuffer[];

 

 

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

//| Custom indicator initialization function |

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

int init()

{

IndicatorBuffers(3);

SetIndexBuffer(0, Uptrend);

//ArraySetAsSeries(Uptrend, true);

SetIndexBuffer(1, Dntrend);

//ArraySetAsSeries(Dntrend, true);

SetIndexBuffer(2, ExtMapBuffer);

ArraySetAsSeries(ExtMapBuffer, true);

 

SetIndexStyle(0,DRAW_LINE,STYLE_SOLID,2);

SetIndexStyle(1,DRAW_LINE,STYLE_SOLID,2);

 

IndicatorShortName("Signal Line("+period+")");

return(0);

}

 

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

//| Custor indicator deinitialization function |

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

int deinit()

{

// ???? ????? ?????? ??????

return(0);

}

 

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

//| ?????????? ??????? |

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

double WMA(int x, int p)

{

return(iMA(NULL, 0, p, 0, method, price, x));

}

 

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

//| Custom indicator iteration function |

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

int start()

{

int counted_bars = IndicatorCounted();

 

if(counted_bars < 0)

return(-1);

 

int x = 0;

int p = MathSqrt(period);

int e = Bars - counted_bars + period + 1;

 

double vect[], trend[];

 

if(e > Bars)

e = Bars;

 

ArrayResize(vect, e);

ArraySetAsSeries(vect, true);

ArrayResize(trend, e);

ArraySetAsSeries(trend, true);

 

for(x = 0; x < e; x++)

{

vect[x] = 2*WMA(x, period/2) - WMA(x, period);

// Print("Bar date/time: ", TimeToStr(Time[x]), " close: ", Close[x], " vect[", x, "] = ", vect[x], " 2*WMA(p/2) = ", 2*WMA(x, period/2), " WMA(p) = ", WMA(x, period));

}

 

for(x = 0; x < e-period; x++)

 

ExtMapBuffer[x] = iMAOnArray(vect, 0, p, 0, method, x);

 

for(x = e-period; x >= 0; x--)

{

trend[x] = trend[x+1];

if (ExtMapBuffer[x]> ExtMapBuffer[x+1]) trend[x] =1;

if (ExtMapBuffer[x]< ExtMapBuffer[x+1]) trend[x] =-1;

 

if (trend[x]>0)

{ Uptrend[x] = ExtMapBuffer[x];

if (trend[x+1]<0) Uptrend[x+1]=ExtMapBuffer[x+1];

Dntrend[x] = EMPTY_VALUE;

}

else

if (trend[x]<0)

{

Dntrend[x] = ExtMapBuffer[x];

if (trend[x+1]>0) Dntrend[x+1]=ExtMapBuffer[x+1];

Uptrend[x] = EMPTY_VALUE;

}

 

//Comment( " trend=",trend[x]);

//Comment("Down: ",Dntrend[x], " Up: ",Uptrend[x]);

}

 

return(0);

}

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

Ссылка на комментарий
Поделиться на другие сайты

Спасибо за индикатор. По крайней мере смотриться довольно таки не плохо... Если не секрет, то по какому принципу он построен или хотябы где о нем можно прочитать? Он перерисовывается как зигзаги и прочие схожие с ним индикаторы или же строится по принципу скользящих- с запаздыванием, но без серьезных изменений по ходу цены? Сразу скажу, что я не программист и с языком не знаком, так что даже если по коду все и так ясно- я не пойму... Если не трудно, то объясни, пожалуйста... Заранее спасибо...
Ссылка на комментарий
Поделиться на другие сайты

Спасибо за индикатор. По крайней мере смотриться довольно таки не плохо... Если не секрет, то по какому принципу он построен или хотябы где о нем можно прочитать? Он перерисовывается как зигзаги и прочие схожие с ним индикаторы или же строится по принципу скользящих- с запаздыванием, но без серьезных изменений по ходу цены? Сразу скажу, что я не программист и с языком не знаком, так что даже если по коду все и так ясно- я не пойму... Если не трудно, то объясни, пожалуйста... Заранее спасибо...

Дело в том что я тоже не программист, но он не перерисовывает эт точно. ТОка надо смотреть по закрытию бара. А не в течение его формирования. Потести если не сложно тож. У меня пока результаты ничего

Ссылка на комментарий
Поделиться на другие сайты

Дело в том что я тоже не программист, но он не перерисовывает эт точно. ТОка надо смотреть по закрытию бара. А не в течение его формирования. Потести если не сложно тож. У меня пока результаты ничего

 

Спасибо. Сейчас пытаюсь тестировать, но времени это займет не мало... Скрестим пальцы :biggrin: .

Ссылка на комментарий
Поделиться на другие сайты

Он действительно не перерисовывается, он меняет цвет... К примеру если открыться на покупку по синему цвету со следующего бара и после этого цена пойдет против нас вниз, то индикатор может просто поменять цвет на красный... Вот такой вот блин хамелеон...
Ссылка на комментарий
Поделиться на другие сайты

без теоретического обоснования применение таких выкладок сомнительно- а вдруг это совпадение? в основе торговли ( и индикаторов как ее инструмента) лежит определенное видние и понимание. даже стоящие часы показывают 2 раза в сутки правильно.
Ссылка на комментарий
Поделиться на другие сайты

Скорее всего нужно использовать этот индикатор не по его первоначалньой задумке, а по комбинации двух, т.е. на пересечении. Можно попробовать поподбирать разные параметры... Жду предложений
Ссылка на комментарий
Поделиться на другие сайты

  • 1 год спустя...

Мне тоже нравится.

...

считается так:

Integer(SquareRoot(Period)) WMA [2 x Integer(Period/2) WMA(Price) - Period WMA(Price)]

 

MetaStock Formula

period:=Input("Period",1,200,20) ;

sqrtperiod:=Input("Square Root of Period",1,20,4);

Mov(2*(Mov(C,period/2,W))-Mov(C,period,W),sqrtperiod,W);

 

SuperCharts Formula

Input: period (Default value 20)

waverage(2*waverage(close,period/2)-waverage(close,period), SquareRoot(Period))

Ссылка на комментарий
Поделиться на другие сайты

×
×
  • Создать...