Kauper Опубликовано 3 июля, 2007 Жалоба Поделиться Опубликовано 3 июля, 2007 Привет всем. Вопрос впринципе как и предыдущего энтузиаста. Есть индикатор. Я на нем немного играл. Вроде пока выигрывал. Значит принцип такой. Накладываем его на график с параметрами(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); } //+------------------------------------------------------------------+ Ссылка на комментарий Поделиться на другие сайты Поделиться
maksimv Опубликовано 3 июля, 2007 Жалоба Поделиться Опубликовано 3 июля, 2007 Спасибо за индикатор. По крайней мере смотриться довольно таки не плохо... Если не секрет, то по какому принципу он построен или хотябы где о нем можно прочитать? Он перерисовывается как зигзаги и прочие схожие с ним индикаторы или же строится по принципу скользящих- с запаздыванием, но без серьезных изменений по ходу цены? Сразу скажу, что я не программист и с языком не знаком, так что даже если по коду все и так ясно- я не пойму... Если не трудно, то объясни, пожалуйста... Заранее спасибо... Ссылка на комментарий Поделиться на другие сайты Поделиться
Kauper Опубликовано 3 июля, 2007 Автор Жалоба Поделиться Опубликовано 3 июля, 2007 Спасибо за индикатор. По крайней мере смотриться довольно таки не плохо... Если не секрет, то по какому принципу он построен или хотябы где о нем можно прочитать? Он перерисовывается как зигзаги и прочие схожие с ним индикаторы или же строится по принципу скользящих- с запаздыванием, но без серьезных изменений по ходу цены? Сразу скажу, что я не программист и с языком не знаком, так что даже если по коду все и так ясно- я не пойму... Если не трудно, то объясни, пожалуйста... Заранее спасибо...Дело в том что я тоже не программист, но он не перерисовывает эт точно. ТОка надо смотреть по закрытию бара. А не в течение его формирования. Потести если не сложно тож. У меня пока результаты ничего Ссылка на комментарий Поделиться на другие сайты Поделиться
maksimv Опубликовано 3 июля, 2007 Жалоба Поделиться Опубликовано 3 июля, 2007 Дело в том что я тоже не программист, но он не перерисовывает эт точно. ТОка надо смотреть по закрытию бара. А не в течение его формирования. Потести если не сложно тож. У меня пока результаты ничего Спасибо. Сейчас пытаюсь тестировать, но времени это займет не мало... Скрестим пальцы . Ссылка на комментарий Поделиться на другие сайты Поделиться
maksimv Опубликовано 3 июля, 2007 Жалоба Поделиться Опубликовано 3 июля, 2007 Он действительно не перерисовывается, он меняет цвет... К примеру если открыться на покупку по синему цвету со следующего бара и после этого цена пойдет против нас вниз, то индикатор может просто поменять цвет на красный... Вот такой вот блин хамелеон... Ссылка на комментарий Поделиться на другие сайты Поделиться
Azat Опубликовано 3 июля, 2007 Жалоба Поделиться Опубликовано 3 июля, 2007 без теоретического обоснования применение таких выкладок сомнительно- а вдруг это совпадение? в основе торговли ( и индикаторов как ее инструмента) лежит определенное видние и понимание. даже стоящие часы показывают 2 раза в сутки правильно. Ссылка на комментарий Поделиться на другие сайты Поделиться
Kauper Опубликовано 3 июля, 2007 Автор Жалоба Поделиться Опубликовано 3 июля, 2007 Скорее всего нужно использовать этот индикатор не по его первоначалньой задумке, а по комбинации двух, т.е. на пересечении. Можно попробовать поподбирать разные параметры... Жду предложений Ссылка на комментарий Поделиться на другие сайты Поделиться
Аяй Опубликовано 24 сентября, 2008 Жалоба Поделиться Опубликовано 24 сентября, 2008 Мне тоже нравится....считается так:Integer(SquareRoot(Period)) WMA [2 x Integer(Period/2) WMA(Price) - Period WMA(Price)] MetaStock Formulaperiod:=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 FormulaInput: period (Default value 20)waverage(2*waverage(close,period/2)-waverage(close,period), SquareRoot(Period)) Ссылка на комментарий Поделиться на другие сайты Поделиться
Рекомендуемые сообщения