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; }
1. new tick 2. new deal in the feed 3. change of OI (with 1ms accuracy) これは、ティックがなくても、フィードにディールがなくても、OIの変化がそれだけで起こることを示しています。
コードはご自身で 書かれたのですか?
なぜ建玉の端末変更で:
SymbolInfoDouble(Symbol(),SYMBOL_SESSION_INTEREST)
は、テープに相対的にその人生を生きている?
void OnBookEvent(const string& symbol)
そういう設計になっているんです。
同期が取りにくい、情報が少ない。
なぜ建玉の端末変更で:
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
もしかしたら、端末では同期が取れていないかもしれませんが、そのコードで
何でも話すことができるのでしょうか?
このコードの具体的などこが不満なのでしょうか?
具体的にどのようなコードが間違っているのでしょうか?
すべて...
CopyTicks(_Symbol,tick,COPY_TICKS_ALL,0,1);
タイマーは全く必要ありません。
名作です。
if(ticks<20) return;
などなど...。
からすべて。
タイマーは全く必要ありません。
名作です。
などなど...。
膝をついて作ったコードを数分で突いて本質を見せるのは、とてもプロらしいと思います。
そこで必要となるのがタイマーです。
要点を示すために、自分で作ったコードを2〜3分でつつくのは、とてもプロフェッショナルなことです。
タイマーが必要です、スレッドをよく読んでください。
タイマーは必要ありません。
OnBookEventが発生するのは、トランザクションが発生したときだけではありません。
で、この関数でシンボルをフィルタリングする必要があります。
void OnBookEvent (const string& symbol) { if(symbol == Symbol()) { .. } }
この機能は、マーケットレビューにあるすべてのものを「埋める」ものです。
なぜ「素手」を投稿するのか?
追加
"非常にプロフェッショナル "な仕事を受けるために
100.00 USD
Нужен софт для отслеживания ленты сделок по каждому тику с указанием изменения ОИ (аналог Time&Sales в платформе Volfix)
そして、どうすればいいのかわからないこと。
- 無料取引アプリ
- 8千を超えるシグナルをコピー
- 金融ニュースで金融マーケットを探索
なぜ建玉の端末変更で:
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で完全なフィードを取得したい。