Ist es möglich, programmatisch ALLE horizontalen Kanäle/Floats in einem bestimmten Zeitintervall zu finden oder zumindest die ToR korrekt zu formulieren? - Seite 7

 
Rayder69:

Hier ist ein Skript, von dem ich nicht mehr weiß, wo oder wann ich es gefunden habe.

Vielleicht kann es jemand gebrauchen!?


Was bewirkt es?
 
Sie geben in die Variable ein, für welche Art von Flop Sie sich in der gesamten Historie interessieren, und Sie erhalten den längsten Flop in der angegebenen Anzahl von Pips, wann und wie lange er gedauert hat.
 

Dankeschön

 
Rayder69:
Sie geben in die Variable ein, an welchem Flip in Pips Sie in der Geschichte interessiert sind, und es gibt Ihnen den längsten Flip in der angegebenen Anzahl von Pips, wann und wie lange er dauerte.


Fehler: Das Skript kann mit diesem Diagramm nicht arbeiten.

Was mache ich falsch?

 
Das kann ich nicht sagen. Bei mir funktioniert es gut. Ich habe es in den Ordner experts/scripts gelegt und alles funktioniert einwandfrei, egal ob es sich um Währungen oder Futures handelt.
 
es funktioniert nicht bei fünf Ziffern
 
alsu:
es funktioniert nicht bei fünf Ziffern

Ist es möglich, das Problem zu beheben? und darf ich darum bitten, das Zeitintervall, in dem nach einer Wohnung gesucht wird, in Variablen einzutragen?
 
sever30:

möglich zu beheben? und darf ich darum bitten, das Zeitintervall, in dem nach einer Wohnung gesucht wird, in Variablen einzutragen
//////////////////////////////////////////////////////////////////////
//   ПОИСК САМОГО ДЛИННОГО ФЛЕТА ПО ВРЕМЕНИ      +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:

Wenn Sie das Skript verwenden wollen, um die Leistung von Lawinen-ähnlichen EAs zu bewerten, ist dies nur für eine klassische Lawine mit stationären Kanälen geeignet. Bei nicht stationären Kanälen sind divergierende Dreiecke in diesem Fall am gefährlichsten.
 
khorosh:
Wenn Sie das Skript verwenden möchten, um die Leistung von Lawinen-ähnlichen EAs zu bewerten, ist dies nur für eine klassische Lawine mit stationären Kanälen geeignet. Bei nichtstationären Kanälen sind divergierende Dreiecke in diesem Fall am gefährlichsten.
Sind stationäre Kanäle ein Kanal mit zwei parallelen Grenzen?
Grund der Beschwerde: