iBarShiftのアナログ - ページ 17

 
Nikolai Semko:

非常に微妙なニュアンスであることがわかりました。

こんなに複雑だと知っていたら、手を出さなかったのに ))))

このバージョンでは、正常に動作するはずです。
もし、動作がおかしいと思われる方がいらっしゃいましたら、ご報告いただけると幸いです。


よくぞ言ってくれました。

ありがとうございました。

構築して、今のところすべてうまくいっているようです。唯一問題があるとすれば、いくつかのギザギザのチャート(私が探している現在のTFからH1)ですが、他のバージョンとの違いがなぜあるのかは理解しないことにしました(正しい計算ではないかもしれません)...。

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

しかし、最後のバリエーションは、週数でよりよく機能しました

 
Aleksey Vyazmikin:

おお、それはすごい!

ありがとうございました。

構築して、今のところ全て良好のようです。唯一の問題は、引き裂かれたチャート(H1を探す現在のTFから)ですが、他のバージョンとの違いがある理由は調べないことにしました(たぶん正しい計算ではない)...。

しかし、最後のバージョンは、数週間、よりよく機能しました

前回の投稿にあるiBarShiftのこのバージョンは(私もそうですが)忘れた方がいいと思います。いくつもの欠点がある。説明が長くなりますね。

このバージョンを 使用してください。

 
Nikolai Semko:

あなたの最後の投稿にあるiBarShiftのバージョン(私のものでもあります)は、忘れた方が良いでしょう。いくつものバグがある。説明が長くなりますね。

このバージョンではこのアドオンのみを 使用してください。

オッケーです。