記事"MetaTraderプログラムを簡単かつ迅速に開発するためのライブラリ(第24部): 未決取引リクエストの使用 - 初期実装(ポジションのオープン)"についてのディスカッション

 

新しい記事 MetaTraderプログラムを簡単かつ迅速に開発するためのライブラリ(第24部): 未決取引リクエストの使用 - 初期実装(ポジションのオープン) はパブリッシュされました:

本稿では、注文の値にいくつかのデータを格納し、マジックナンバーを配置し、保留中リクエストの実装を開始します。概念を確認するために、サーバエラーを受信して、待機後に繰り返しリクエストを送信する必要がある際にマーケットポジションを開くための最初のテスト保留中リクエストを作成しましょう。

コンパイルしてEAを起動します。インターネットをオフにして、端末の右下隅に次の画像が表示されるまで待ちます。



インターネットを無効にして[売]をクリックすると、取引サーバはエラーを返し、次のエントリが操作ログに表示されます。

2019.11.26 15:34:48.661 CTrading::OpenPosition<uint,uint>: Invalid request:
2019.11.26 15:34:48.661 No connection with the trade server
2019.11.26 15:34:48.661 Correction of trade request parameters ...
2019.11.26 15:34:48.661 Trading attempt #1. Error: No connection with the trade server


エラーを受け取った後、ライブラリは、ショートポジションを開けなかったときにパラメータが設定された保留中リクエストを作成します。
保留中リクエストには、試行回数と20秒の待機時間も含まれます。

次に、取引サーバへの接続を復元できるようにインターネットを有効にします。


接続が復元されるとすぐに、ライブラリはサーバに送信する保留中リクエストの処理を開始します。その結果、操作ログエントリにポジションが表示されます。

2019.11.26 15:35:00.853 CTrading::OpenPosition<double,double>: Invalid request:
2019.11.26 15:35:00.853 Trading is prohibited for the current account
2019.11.26 15:35:00.853 Correction of trade request parameters ...
2019.11.26 15:35:00.853 Trading operation aborted
2019.11.26 15:35:01.192 CTrading::OpenPosition<double,double>: Invalid request:
2019.11.26 15:35:01.192 Trading is prohibited for the current account
2019.11.26 15:35:01.192 Correction of trade request parameters ...
2019.11.26 15:35:01.192 Trading operation aborted
2019.11.26 15:35:01.942 - Position is open: 2019.11.26 10:35:01.660 -
2019.11.26 15:35:01.942 EURUSD Opened 0.10 Sell #486405595 [0.10 Market-order Sell #486405595] at price 1.10126, sl 1.10285, tp 1.09985, Magic number 17629307 (123), G1: 13
2019.11.26 15:35:01.942 OnDoEasyEvent: Position is open


ご覧のとおり、取引サーバへの接続を復元した後、現在のアカウントの取引は遅れて有効になりました
しかし、保留中リクエストはとにかく機能しました。
...

また、操作ログの実際のマジックナンバー(17629307)に続いて、括弧(123)のEA設定で定義されたマジックナンバーに加えたエントリ「G1: 13」があって、最初のグループIDが13であることが分かります。2番目のグループは値がゼロなので、IDはありません。よって「G2: XX」2番目のグループIDエントリはありません。

作者: Artyom Trishkin

理由: