ライブラリ: MT4Orders - ページ 44 1...373839404142434445464748495051...95 新しいコメント Andrey Khatimlianskii 2020.02.27 14:00 #431 そしてもうひとつ: 2020.02.27 14:59:50.616 ExecutionSpeed (EURUSD,H1) 0 - 1532297: 00:00:14.989 2020.02.27 14:59:50.616 ExecutionSpeed (EURUSD,H1) 1 - 1528006: 00:00:04.983 2020.02.27 14:59:50.616 ExecutionSpeed (EURUSD,H1) 2 - 1527412: 00:00:03.543 2020.02.27 14:59:50.616 ExecutionSpeed (EURUSD,H1) 3 - 1528097: 00:00:01.812 2020.02.27 14:59:50.616 ExecutionSpeed (EURUSD,H1) 4 - 1478424: 00:00:01.502 2020.02.27 14:59:50.616 ExecutionSpeed (EURUSD,H1) 5 - 1478368: 00:00:01.502 2020.02.27 14:59:50.616 ExecutionSpeed (EURUSD,H1) 6 - 1478410: 00:00:01.502 2020.02.27 14:59:50.616 ExecutionSpeed (EURUSD,H1) 7 - 1478344: 00:00:01.501 2020.02.27 14:59:50.616 ExecutionSpeed (EURUSD,H1) 8 - 1733682: 00:00:01.480 2020.02.27 14:59:50.616 ExecutionSpeed (EURUSD,H1) 9 - 737378: 00:00:00.346 fxsaber 2020.02.27 14:29 #432 Andrey Khatimlianskii:それが現実なんだ: 情報をありがとう。この長い執行時間は、おそらくサードパーティのゲートウェイによるものだろう。取引所はどうなっているのだろう。 fxsaber 2020.03.02 10:01 #433 MT4では、このような状況の ためにアラートを書いた。このようなチェックがどれほど高価になるかをチェックする必要があったので、測定するためのハード・バリアントを書いた。 #include <MT4Orders.mqh> #include <Debug.mqh> // 履歴からすべてのチケットを取得する。 void GetTickets( TICKET_TYPE &Tickets[] ) { for (int i = ArrayResize(Tickets, OrdersHistoryTotal()) - 1; i >= 0; i--) if (OrderSelect(i, SELECT_BY_POS, MODE_HISTORY)) Tickets[i] = OrderTicket(); } // 履歴からすべてのチケットを選択します。 int CheckTickets( const TICKET_TYPE &Tickets[] ) { int Count = 0; for (int i = ArraySize(Tickets) - 1; i >= 0; i--) if (OrderSelect(Tickets[i], SELECT_BY_TICKET)) Count++; return(Count); } void OnStart() { TICKET_TYPE Tickets[]; GetTickets(Tickets); // チケットを手に入れた。 ArraySort(Tickets); BENCH(CheckTickets(Tickets)); // チケットをチェック。 _P2(CheckTickets(Tickets)); }これがMT4での結果だ。Time[CheckTickets(Tickets)] = 9667 CheckTickets(Tickets) = 2024010msで20K枚。MT5で。Time[CheckTickets(Tickets)] = 5262 CheckTickets(Tickets) = 8335KのMT4チケットが0.8ms。Time[CheckTickets(Tickets)] = 700707 СheckTickets(Tickets) = 170458 700msで170K MT4チケット。MT5は、取引履歴が比較的少ない場合はMT4よりも高速です。取引履歴が大きい場合(数十万件)、MT5は大幅に遅くなります。 fxsaber 2020.03.18 03:22 #434 MT5の興味深いケース。 テイクが部分的に実行され、その後削除された。この場合、DEAL_ORDER のステータスが FILLED/PARTIAL ではなく ORDER_STATE_CANCELED になります。 この場合、DEAL_TIME_MSCはORDER_TIME_DONE_MSCと等しくありません。 fxsaber 2020.03.18 03:29 #435 fxsaber:DEAL_TIME_MSC が ORDER_TIME_DONE_MSC と等しくない。 これはリミッターの部分実行で発生する。 fxsaber 2020.03.18 03:47 #436 ネクタイの拒否。 このような状況はよく起こりうる: 価格がオープンポジションのテイクプロフィットに達した。 MT5が成行注文を生成した。対応する指値注文が流動性プロバイダーに送信された。 指値注文が再登録されます。その後、テイクに対応する MT5 注文が削除されます。 ポイント 1 に切り替えます。 履歴でプロバイダの拒否を確認できるので、良い実装だ。そして、ティアをリミッターとして強制的に内部実装した。 Andrey Khatimlianskii 2020.03.18 04:52 #437 fxsaber: 価格がオープンポジションの利益確定に達した。 MT5が成行注文を生成した。 対応する指値注文が流動性プロバイダーに送信されました。 指値注文が再登録されます。その後、テイクに対応する MT5 注文が削除されます。 ポイント 1 に切り替えます。 履歴でプロバイダーの拒否を確認できるので、良い実装だ。そして、ティアをリミッターとして 強制的に内部実装。 リミッターはどこにあるのか? この実装は、テイクを設定した瞬間に即座にリミッターとして送信するよりも優れているのか?最安値のLPを選ぶ? fxsaber 2020.03.18 04:57 #438 Andrey Khatimlianskii:どこにリミッターがあるんだ? MT5 は常にマークダウンの形でテイクを表示します。 この実装は、テイクを設定した瞬間に即座にリミットとして送信するよりもどのように優れていますか?ベストプライスのLPを選択するのですか? そうです。取引所ではなく、アグリゲーションだからです。 Andrey Khatimlianskii 2020.03.18 05:59 #439 fxsaber:MT5は常にテイクをマーキーとして表示する。 誰に表示するのですか? TPをリミットとして表示するサーバ・プラグインはないのか? fxsaber: そうです。取引所ではなく、アグリゲーションだからです。 その主張を検証してみたい。 集合体だからといって、マーケットプレイスでエントリーがより収益的になるわけではありませんよね? fxsaber 2020.03.18 06:13 #440 Andrey Khatimlianskii:誰に? クライアントだ。 TPを制限値として表示するサーバー側のプラグインはないのか? 第三者だ。 私はこの主張を検証したい。 エントリーは集計だからマーケットプレイスで利益が上がるわけではないでしょう? そうやって、非常に短い有効期限で指値フィードが送られる。 1...373839404142434445464748495051...95 新しいコメント 取引の機会を逃しています。 無料取引アプリ 8千を超えるシグナルをコピー 金融ニュースで金融マーケットを探索 新規登録 ログイン スペースを含まないラテン文字 このメールにパスワードが送信されます エラーが発生しました Googleでログイン WebサイトポリシーおよびMQL5.COM利用規約に同意します。 新規登録 MQL5.com WebサイトへのログインにCookieの使用を許可します。 ログインするには、ブラウザで必要な設定を有効にしてください。 ログイン/パスワードをお忘れですか? Googleでログイン
そしてもうひとつ:
それが現実なんだ:
情報をありがとう。この長い執行時間は、おそらくサードパーティのゲートウェイによるものだろう。取引所はどうなっているのだろう。
これがMT4での結果だ。
10msで20K枚。
MT5で。
5KのMT4チケットが0.8ms。
700msで170K MT4チケット。
MT5は、取引履歴が比較的少ない場合はMT4よりも高速です。取引履歴が大きい場合(数十万件)、MT5は大幅に遅くなります。
MT5の興味深いケース。
テイクが部分的に実行され、その後削除された。この場合、DEAL_ORDER のステータスが FILLED/PARTIAL ではなく ORDER_STATE_CANCELED になります。
この場合、DEAL_TIME_MSCはORDER_TIME_DONE_MSCと等しくありません。
DEAL_TIME_MSC が ORDER_TIME_DONE_MSC と等しくない。
これはリミッターの部分実行で発生する。
ネクタイの拒否。
このような状況はよく起こりうる:
リミッターはどこにあるのか?
この実装は、テイクを設定した瞬間に即座にリミッターとして送信するよりも優れているのか?最安値のLPを選ぶ?
どこにリミッターがあるんだ?
MT5 は常にマークダウンの形でテイクを表示します。
この実装は、テイクを設定した瞬間に即座にリミットとして送信するよりもどのように優れていますか?ベストプライスのLPを選択するのですか?
そうです。取引所ではなく、アグリゲーションだからです。
MT5は常にテイクをマーキーとして表示する。
誰に表示するのですか?
TPをリミットとして表示するサーバ・プラグインはないのか?
そうです。取引所ではなく、アグリゲーションだからです。
その主張を検証してみたい。
集合体だからといって、マーケットプレイスでエントリーがより収益的になるわけではありませんよね?
誰に?
クライアントだ。
TPを制限値として表示するサーバー側のプラグインはないのか?
第三者だ。
私はこの主張を検証したい。
エントリーは集計だからマーケットプレイスで利益が上がるわけではないでしょう?
そうやって、非常に短い有効期限で指値フィードが送られる。