遅行性OI(建玉)

 

なぜ建玉の端末変更で:
SymbolInfoDouble(Symbol(),SYMBOL_SESSION_INTEREST)
は、テープに相対的にその人生を生きている?
void OnBookEvent(const string& symbol)

私が理解する限り、先物市場では、リボンの取引によってOIが変化することはありません。しかし、なぜ取引もないのにOIが勝手に変化するのでしょうか?
これはすでに以前にも見たことがあります。
https://www.mql5.com/ru/forum/165157/page2#comment_3989978

ターミナルのOIはどのような周期で更新され、何に依存するのでしょうか。
OIの変化をフィードの取引と同期させるにはどうすればよいですか?OIで完全なフィードを取得したい。

Открытый Интерес на истории
Открытый Интерес на истории
  • 2016.12.30
  • www.mql5.com
Здравствуйте, уважаемая администрация...
 
1. new tick 2. new deal in the feed 3. change of OI (with 1ms accuracy) it shows that OI changes happen by itself without ticks and without deals in the feed.ログにイベントをマークする小さなExpert Advisor。


long bool_event_time_last = 0;

int OnInit() {
   EventSetMillisecondTimer(1);
   MarketBookAdd(_Symbol);
   
   MqlTick tick[];
   CopyTicks(_Symbol,tick,COPY_TICKS_ALL,0,1);
   bool_event_time_last = tick[0].time_msc;

   return(INIT_SUCCEEDED);
}

void OnDeinit(const int reason) {
   EventKillTimer();
}

void OnTick() {
   Print("1. tick");
}

void OnTimer() {
   static double open_last = SymbolInfoDouble(Symbol(),SYMBOL_SESSION_INTEREST);
   double open_current = SymbolInfoDouble(Symbol(),SYMBOL_SESSION_INTEREST);
   if(NormalizeDouble(open_current,0) != NormalizeDouble(open_last,0)) {
      open_last = open_current;
      Print("3. oi change");
   }
}

void OnBookEvent (const string& symbol) {
   MqlTick tick[];
   int ticks = CopyTicks(_Symbol,tick,COPY_TICKS_ALL,0,100);
   if(ticks<20) return;
   for(int i=ticks-1;i>=0;i--) {
      if(tick[i].time_msc <= bool_event_time_last) break;
      if((int)tick[0].flags<32) continue;
      Print("2. book deal");
   }
   bool_event_time_last = tick[ticks-1].time_msc;
}
ファイル:
 
Alena Lysenkova:

1. new tick 2. new deal in the feed 3. change of OI (with 1ms accuracy) これは、ティックがなくても、フィードにディールがなくても、OIの変化がそれだけで起こることを示しています。



コードはご自身で 書かれたのですか?

 
Alena Lysenkova:

なぜ建玉の端末変更で:
SymbolInfoDouble(Symbol(),SYMBOL_SESSION_INTEREST)
は、テープに相対的にその人生を生きている?
void OnBookEvent(const string& symbol)

そういう設計になっているんです。

同期が取りにくい、情報が少ない。

 
Alena Lysenkova:

なぜ建玉の端末変更で:
SymbolInfoDouble(Symbol(),SYMBOL_SESSION_INTEREST)
は、テープに相対的にその人生を生きている?
void OnBookEvent(const string& symbol)

私が理解する限り、先物市場では、リボンの取引によってOIが変化することはありません。しかし、なぜ取引もないのにOIが勝手に変化するのでしょうか?
これはすでに以前にも見たことがあります。
https://www.mql5.com/ru/forum/165157/page2#comment_3989978

ターミナルのOIはどのような周期で更新され、何に依存するのでしょうか。
OIの変化をフィードの取引と同期させるにはどうすればよいですか?OIで本格的なフィードを持ちたい。

フルオーダーログをご希望の方は、プラザから接続してください。MT5が株式フロー用に再設計されることはないだろう。

もうひとつは、その全情報が必要なのかどうかです。

 

Andrey Khatimlianskii @Dmitriy Skub

もしかしたら、端末では同期が取れていないかもしれませんが、そのコードで

は、何か話すことはないのか?

Andrey Khatimlianskii
Andrey Khatimlianskii
  • www.mql5.com
Профиль трейдера
 
prostotrader:

Andrey Khatimlianskii @Dmitriy Skub

もしかしたら、端末では同期が取れていないかもしれませんが、そのコードで

は、何か話すことはないのか?

マイケル、コードを見ていないんだ))
 
prostotrader:

Andrey Khatimlianskii @Dmitriy Skub

もしかしたら、端末では同期が取れていないかもしれませんが、そのコードで

何でも話すことができるのでしょうか?

このコードの具体的などこが不満なのでしょうか?

 
Alena Lysenkova:

具体的にどのようなコードが間違っているのでしょうか?

すべて...

CopyTicks(_Symbol,tick,COPY_TICKS_ALL,0,1);

タイマーは全く必要ありません。

名作です。

if(ticks<20) return;

などなど...。

 
prostotrader:

からすべて。

タイマーは全く必要ありません。

名作です。

などなど...。

膝をついて作ったコードを数分で突いて本質を見せるのは、とてもプロらしいと思います。

そこで必要となるのがタイマーです。

 
Alena Lysenkova:

要点を示すために、自分で作ったコードを2〜3分でつつくのは、とてもプロフェッショナルなことです。

タイマーが必要です、スレッドをよく読んでください。

タイマーは必要ありません。

OnBookEventが発生するのは、トランザクションが発生したときだけではありません。

で、この関数でシンボルをフィルタリングする必要があります。

void OnBookEvent (const string& symbol)
{
  if(symbol == Symbol())
  {
    
.. 
  }
}

この機能は、マーケットレビューにあるすべてのものを「埋める」ものです。

なぜ「素手」を投稿するのか?

追加

"非常にプロフェッショナル "な仕事を受けるために

100.00 USD
Нужен софт для отслеживания ленты сделок по каждому тику с указанием изменения ОИ (аналог Time&Sales в платформе Volfix)
そして、どうすればいいのかわからないこと。
理由: