Почему не работают MA? - страница 3

 
Gep:

Всем привет.

После сегодняшнего отката все мои посты со скринами и кодом индикатора накрылись медным тазом.

Ну ладно, не повторяясь - выкладываю код индикатора на машках, но он (индикатор) пока работает, хотя ещё не гонял его и не подстраивал, а надо под пары и ТФ.

Использовать лучше всего от ТФ Н1 и выше. Скрин тоже прилагаю.

//+------------------------------------------------------------------+
//|                                                 Gradient-Т05.mq4 |
//|                          Copyright © 2007, HomeSoft-Tartan Corp. |
//|                                              spiky@transkeino.ru |
//+------------------------------------------------------------------+
#property copyright "Copyright © 2007, HomeSoft-Tartan Corp."
#property link      "www.fxexpert.ru"
// индикатор отображается на указанном в настройках числе баров истории
// количество баров истории отображается в окне индикатора как и остальные его параметры
#property indicator_separate_window
#property indicator_buffers 2
#property indicator_color1 Gold
#property indicator_color2 Red
//---- input parameters
extern double    b=0.7;      // коэфф. сглаживания
extern double  prg=0.3;      // порог триггера 
extern int       t3_period=8;// период сглаживания
extern int       pertwo=21;  // параметр управления периодом вычисления длинной машки 
extern int       perone=14;  // параметр управления периодом вычисления средней машки 
extern int       pernul=7;   // параметр управления периодом вычисления короткой машки 
extern int       sdvtwo=7;   // сдвиг относительно нулевого бара
extern int       sdvone=5;   // сдвиг относительно нулевого бара
extern int       sdvnul=3;   // сдвиг относительно нулевого бара
extern int         mBar=300; // число просчитываемых баров 
//---- buffers
double ExtMapBuffer[0];
double TrigBuffer[0];
double e1, e2, e3, e4, e5, e6, c1, c2, c3, c4, n, w1, w2, b2, b3;
double t3, shift, masl,maav,maqu,grad,trig,por;
bool   ft=true;
int    pr;
//+------------------------------------------------------------------+
//| Custom indicator initialization function                         |
//+------------------------------------------------------------------+
int init()
  {
//---- indicators
   SetIndexBuffer(0,ExtMapBuffer);
   SetIndexBuffer(1,TrigBuffer); 
   SetIndexStyle(0,DRAW_LINE,0,1); 
   SetIndexStyle(1,DRAW_LINE,0,2); 
   SetIndexEmptyValue(0,0.0);
   SetIndexEmptyValue(1,0.0); 
   SetIndexLabel(0,"Gradient");
   SetIndexLabel(1,"Porog");
   IndicatorShortName("Gradient-T05(Mashky"+pertwo+","+sdvtwo+","+perone+","+sdvone+","+pernul+","+sdvnul+","+Bars+")");  
 if (Symbol()=="USDJPY") por=prg*100; else por=prg;   
   Comment("");    
//----
   return(0);
  }
  
//+------------------------------------------------------------------+
//| expert deinitialization function                                 |
//+------------------------------------------------------------------+  
int deinit()
  {
//----
  Comment(""); 
//----
   return(0);
  }  
//+------------------------------------------------------------------+
//| Custom indicator iteration function                              |
//+------------------------------------------------------------------+
int start()
  {
  if (ft)
  {
   b2=b*b;
   b3=b2*b;
   c1=-b3;
   c2=(3*(b2+b3));
   c3=-3*(2*b2+b+b3);
   c4=(1+3*b+b3+3*b2);
   n=t3_period;
 
   if (n<1) n=1;
   n = 1 + 0.5*(n-1);
   w1 = 2 / (n + 1);
   w2 = 1 - w1;
   ft=false;
   if (Point>0.0002) pr=2; else pr=4; 
   }
 
   for(int i=mBar; i>=0; i--)
   {
       masl=iMA(NULL,0,pertwo,sdvtwo,MODE_SMMA,PRICE_CLOSE,i);
       maav=iMA(NULL,0,perone,sdvone,MODE_SMMA,PRICE_CLOSE,i);
       maqu=iMA(NULL,0,pernul,sdvnul,MODE_SMMA,PRICE_CLOSE,i);
      
       grad=NormalizeDouble(((maqu-maav)+(maav-masl))/2,pr)*100;   
  
       e1 = w1*grad + w2*e1;
       e2 = w1*e1 + w2*e2;
       e3 = w1*e2 + w2*e3;
       e4 = w1*e3 + w2*e4;
       e5 = w1*e4 + w2*e5;
       e6 = w1*e5 + w2*e6;
       t3 = c1*e6 + c2*e5 + c3*e4 + c4*e3; 
      
       ExtMapBuffer[i]=t3; 
   
   if (t3>=0) trig=por;
   if (t3<0)  trig=-por;
      TrigBuffer[i]=trig;      
      
   } 
   return(0);
   }
//+------------------------------------------------------------------+
Суть этого индикатора проста как бильярдный шар без номера. Взяты 3 машки с разными периодами, сдвинуты как в Аллигаторе и подсчитаны расстояния между ними, потом это усреднено и в виде

кривой вынесено в окно индикатора. Параметр порога сделан для удобства восприятия и подбирается на тесте или визуально.

Поскольку числа получаются иногда очень маленькие укрупнил значения простым умножением. Вот собственно и все у меня о машках. Много расписывать не буду - опять потеряют обидно будет.

Попутного тренда и больших профитов.

Этого набора для начинающего трейдера достаточно, чтобы понять, что надо строить систему под себя и сво психотип самостоятельно.

Попутного тренда и больших профитов.

добрый вечер, я тут попил выходные, захожу а тут.... а объяснить немного подробнее возможно? и как бы казус, пьян был, так мельком заходил , столько сообщений было, в том числе и ваше, а в понедельник протрезвел - нетути. У меня глюк? или я не понимаю что происходит?
 

Поаккуратнее с цитированием, и пьянство тут не оправдание) 'Апгрейд скриптов сайта MQL4.community'