¿Es posible encontrar programáticamente TODOS los canales horizontales/flotantes en un determinado intervalo de tiempo o al menos formular el TdR correctamente? - página 7

 
Rayder69:

Aquí hay un guión que no puedo recordar dónde o cuándo lo encontré.

¿Tal vez alguien podría usarlo?


¿Qué hace?
 
Introduces en la variable qué tipo de flop te interesa durante todo el historial y te da el flop más largo en el número de pips especificado, cuándo y cuánto duró.
 

Gracias

 
Rayder69:
Introduces en la variable qué flip en pips te interesa a lo largo del historial, y te da el flip más largo en el número de pips especificado, cuándo y cuánto duró.


Error: El script no puede funcionar en este gráfico.

¿Qué estoy haciendo mal?

 
No puedo decirlo. A mí me funciona bien. Lo he puesto en la carpeta expertos/scripts y todo funciona bien, ya sean divisas o futuros.
 
no funciona con cinco dígitos
 
alsu:
no funciona con cinco dígitos

¿es posible arreglarlo? y me atrevo a pedir que se ponga en variables el intervalo de tiempo en el que se busca un piso
 
sever30:

¿es posible arreglarlo? y me atrevo a pedir que se ponga en variables el intervalo de tiempo en el que se busca un piso
//////////////////////////////////////////////////////////////////////
//   ПОИСК САМОГО ДЛИННОГО ФЛЕТА ПО ВРЕМЕНИ      +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:

Si desea utilizar el script para evaluar el rendimiento de los EAs tipo avalancha, éste sólo es adecuado para una avalancha clásica con canales estacionarios. Si se utilizan canales no estacionarios, los triángulos divergentes son los más peligrosos en este caso.
 
khorosh:
Si desea utilizar el script para evaluar el rendimiento de los EAs tipo avalancha, éste sólo es adecuado para una avalancha clásica con canales estacionarios. Si se utilizan canales no estacionarios, los triángulos divergentes son los más peligrosos en este caso.
¿Los canales estacionarios son un canal con dos límites paralelos?