Analógico para iBarShift - página 17

 
Nikolai Semko:

Acabou por ser muito matizada.

Se eu soubesse como seria complicado, não me teria envolvido ))))

Esta versão deve funcionar correctamente.
Se alguém o encontrar a funcionar incorrectamente, ficaria grato se pudesse denunciar o problema.


Muito bem!

Obrigado!

Construído, tudo me parece bem até agora, a única coisa com que tenho um problema são alguns gráficos recortados (da actual TF que procuro H1), mas decidi não compreender porque existe uma diferença entre a outra versão (talvez não seja o cálculo correcto)...

//+------------------------------------------------------------------+ 
//| Получим 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);
  }  

Mas a última variante funcionou melhor em semanas!

 
Aleksey Vyazmikin:

Oh, isso é óptimo!

Obrigado!

Construído, tudo parece bom até agora, o único problema é com os gráficos rasgados (da actual TF à procura do H1), mas decidi não analisar a diferença entre a outra versão (talvez não seja o cálculo correcto)...

Mas a última versão funcionou melhor durante semanas!

Esta versão do iBarShift no seu último post(também meu) é melhor esquecida. Tem uma série de falhas. É uma longa explicação.

Utilize esta versão.

 
Nikolai Semko:

essa versão do iBarShift no seu último post (também meu) é melhor esquecida. Tem uma série de bugs. É uma longa explicação.

Utilize esta versão, mas apenas com este suplemento.

Ok.