Analog zu iBarShift - Seite 17

 
Nikolai Semko:

Es stellte sich heraus, dass es sehr nuanciert war.

Hätte ich gewusst, wie kompliziert es ist, hätte ich mich nicht darauf eingelassen ))))

Diese Version sollte korrekt funktionieren.
Wenn jemand feststellt, dass es nicht richtig funktioniert, wäre ich dankbar, wenn er das Problem melden könnte.


Gut gemacht!

Ich danke Ihnen!

Gebaut, alles scheint gut so weit, das einzige, was ich ein Problem mit ist einige gezackte Charts (von der aktuellen TF ich bin für H1 suchen), aber ich habe beschlossen, nicht zu verstehen, warum es einen Unterschied zwischen der anderen Version (vielleicht ist es nicht die richtige Berechnung)...

//+------------------------------------------------------------------+ 
//| Получим iBarShift для заданного номера бара                      | +++
//+------------------------------------------------------------------+    
int iBarShift(const string Symb,const ENUM_TIMEFRAMES TimeFrame,datetime time,const bool Exact=false)
  {
   static int Res=-1;
   static string LastSymb=NULL;
   static ENUM_TIMEFRAMES LastTimeFrame=0;
   static datetime LastTime=0;
   static bool LastExact=false;
   static int PerSec=::PeriodSeconds(LastTimeFrame);
   
   if (LastTimeFrame!=TimeFrame) PerSec=::PeriodSeconds(TimeFrame);
   time-=time%PerSec;

   if((time!=LastTime) || (Symb!=LastSymb) || (TimeFrame!=LastTimeFrame) || (Exact!=LastExact))
     {
      Res=::Bars(Symb,TimeFrame,time,UINT_MAX)-1;
      if(Res<0) Res=0;

      LastTime = time;
      LastSymb = Symb;
      LastTimeFrame=TimeFrame;
      LastExact=Exact;
     }

   return(Res);
  }  

Aber die letzte Variante hat über Wochen besser funktioniert!

 
Aleksey Vyazmikin:

Oh, das ist großartig!

Ich danke Ihnen!

Gebaut, alles scheint gut so weit, das einzige Problem ist mit den zerrissenen Charts (von der aktuellen TF auf der Suche nach H1), aber ich beschlossen, nicht zu untersuchen, warum es einen Unterschied zwischen der anderen Version (vielleicht ist es nicht die richtige Berechnung)...

Aber die letzte Version funktionierte wochenlang besser!

Diese Version von iBarShift in Ihrem letzten Beitrag (auch meine) ist am besten vergessen. Sie weist eine Reihe von Mängeln auf. Das ist eine lange Erklärung.

Verwenden Sie diese Version.

 
Nikolai Semko:

die Version von iBarShift in Ihrem letzten Beitrag (auch meine) sollte man am besten vergessen. Es hat eine Reihe von Fehlern. Das ist eine lange Erklärung.

Verwenden Sie diese Version, aber nur mit diesem Add-on.

Gut.

Grund der Beschwerde: