É possível programar TODOS os canais/flutuadores horizontais a um determinado intervalo de tempo ou pelo menos formular os ToR corretamente? - página 7

 
Rayder69:

Aqui está um roteiro que eu não consigo lembrar onde ou quando o encontrei.

Talvez alguém possa usá-lo!?


O que ele faz?
 
Você entra na variável em que tipo de flop você está interessado durante toda a história e isso lhe dá o flop mais longo no número especificado de pips, quando e quanto tempo ele durou.
 

Obrigado

 
Rayder69:
Você entra na variável que vira em pips que lhe interessa ao longo da história, e ela lhe dá a maior viragem no número especificado de pips, quando e quanto tempo ela durou.


Erro: O script não pode funcionar neste gráfico.

O que eu estou fazendo de errado?

 
Não posso dizer. Funciona bem para mim. Coloquei-o na pasta de especialistas/scripts e tudo funciona bem, sejam moedas ou futuros.
 
não funciona com cinco dígitos
 
alsu:
não funciona com cinco dígitos

é possível consertá-lo? e ouso pedir para colocar em variáveis o intervalo de tempo em que se procura um flat
 
sever30:

possível de corrigir? e ouso pedir para colocar em variáveis o intervalo de tempo em que se procura um flat
//////////////////////////////////////////////////////////////////////
//   ПОИСК САМОГО ДЛИННОГО ФЛЕТА ПО ВРЕМЕНИ      +111.mq4           //
//////////////////////////////////////////////////////////////////////
#property show_inputs  
  extern int ПУНКТЫ=300;
  extern datetime НАЧАЛО=D'2010.9.3';
  extern datetime КОНЕЦ=D'2010.1.1';
//----------Переменные для вывода данных--------------  
  int FBars,          //кол-во баров в коридоре      
      SiftBars;       //индекс бара
  double PriceMin,    //минимум коридора
         PriceMax;    //максимум коридора
//----------------------------------------------------
int init()
  {
   НАЧАЛО=iBarShift(0,0,НАЧАЛО);
   КОНЕЦ=iBarShift(0,0,КОНЕЦ);
  }
//----------------------------------------------------
int start()
  {
   int i,n,D,ST,Bar;
//----
   Alert("*********************");
   int Shift_Min=iLowest(Symbol(),0,MODE_LOW,Bars,0);     //Находим индекс минимального бара
   int Shift_Max=iHighest(Symbol(),0,MODE_HIGH,Bars,0);   //Находим индекс максимального бара
   double Min=iLow(Symbol(),0,Shift_Min);                 //Находим минимум на графике
   double Max=iHigh(Symbol(),0,Shift_Max);                //Нходим максимум на графике
   double Z=(Max-Min)/Point;             //Растояние в пунктах от минимума до максимума на всем графике
   double W=Z-ПУНКТЫ;                //Переменная W нужна для ограничения бесполезных циклов по ценам ось(Y)  
//--------------------------------------------------------   
   for (i=0;i<=W;i++)//Цикл по ценам ось(Y) 
    { 
     ST=0;                                
     for(n=НАЧАЛО;n<=КОНЕЦ&&n<Bars;n++)//Цикл по барам ось(X)
      {
       if(Low[n]>Min && High[n]<Min+ПУНКТЫ*Point)
        {
         if(ST==0)
          {
           Bar=n;
          }
         ST++;
        }else
        {
         if(FBars<ST)
          {
           FBars=ST;                   //Сохраним кол-во баров в коридоре
           PriceMin=Min;               //Сохраним минимум коридора
           PriceMax=Min+ПУНКТЫ*Point;  //Сохраним максимум коридора
           SiftBars=Bar;               //Сохраним индекс бара
           ST=0;                       //Обнуляем счетчик
          }else
          {
           ST=0;                       //Обнуляем счетчик
          }
        }
      }
     Min+=1*Point;                     //Сдвигаем коридор на один пункт вверх                   
    }
//--------------------- ВЫВОД ДАННЫХ --------------------
   ObjectDelete("q9w8e5");
   ObjectCreate("q9w8e5",OBJ_RECTANGLE,0,Time[SiftBars],PriceMin,Time[SiftBars+FBars],PriceMax);
   
   datetime Нач=Time[SiftBars+FBars];
   datetime Кон=Time[SiftBars];
   
   Alert("Самый длинны флет в ",ПУНКТЫ," пунктов был с ",TimeDay(Нач),".",TimeMonth(Нач),".",TimeYear(Нач),"   ",TimeHour(Нач),":",TimeMinute(Нач),
        "  по ",TimeDay(Кон),".",TimeMonth(Кон),".",TimeYear(Кон),"   ",TimeHour(Кон),":",TimeMinute(Кон),"    Цена :  MAX = ",PriceMax,"  MIN = ",PriceMin,
        "   Кол-во баров в коридоре = ",FBars,"       :)"); 
   
   return(0);
  }
//+------------------------------------------------------------------+
 
sever29:

Se você quiser usar o roteiro para avaliar o desempenho de EAs tipo avalanche, isto só é adequado para uma avalanche clássica com canais estacionários. Se forem utilizados canais não estacionários, os triângulos divergentes são os mais perigosos neste caso.
 
khorosh:
Se você quiser usar o roteiro para avaliar o desempenho de EAs tipo avalanche, isto só é adequado para uma avalanche clássica com canais estacionários. Se forem utilizados canais não estacionários, os triângulos divergentes são os mais perigosos neste caso.
Os canais estacionários são um canal com dois limites paralelos?