記事"MetaTraderプログラムを簡単かつ迅速に開発するためのライブラリ(第21部): 取引クラス - 基本クロスプラットフォーム取引オブジェクト"についてのディスカッション

 

新しい記事 MetaTraderプログラムを簡単かつ迅速に開発するためのライブラリ(第21部): 取引クラス - 基本クロスプラットフォーム取引オブジェクト はパブリッシュされました:

この記事では、取引クラスを新しいライブラリセクションとして開発し始めます。さらに、MetaTrader 5およびMetaTrader 4プラットフォーム向けの統合基本取引オブジェクトの開発を検討します。サーバにリクエストを送信する場合、このような取引オブジェクトにより、検証済みの正しい取引リクエストパラメータがサーバに渡されます。

いつでもデータに簡単にアクセスできるというのはよいことですが、取引に適用できないとすれば、そのデータは役に立ちません。これは、既存の機能とともに取引機能が必要であることを意味します。
このセクションではすべてを段階的に行うので、セクションは比較的大きくなります。

  • MetaTrader 5とMetaTrader 4の違いに関係なく、これらのプラットフォームの両方から取引リクエストを送ることができるべきです。統一が必要です。
  • まず、意図的に誤ったリクエストでサーバが負荷されないように、取引リクエストを検証する必要があります。
  • 取引サーバのリターンコードを考慮して正しく処理します。サーバにリクエストを送信するときに、EAはサーバとの「リクエスト/レスポンス」対話を維持します。ここでのタスクは、そのような「通信チャネル」、すなわち取引サーバーの応答を処理するメソッドを作成することです。
  • 「できる限りコストを抑えて」ポジションを開く必要がある場合があるため、サーバの応答を処理するいくつかのオプションを作成する必要があります。これを行うには、注文が拒否された場合にサーバにリクエストを繰り返し送信するように手配する必要があります。取引リクエストのパラメータを調整するかリクエストを再送信するか、すべてのパラメータをそのままにして、これらのパラメータを持つリクエストが渡されるとすぐに送信されるような適切な瞬間を待機することができます。また、意図的に悪い価格で注文を再送信しないように、価格レベルを考慮する必要があります。
    場合によっては、リクエストの結果に関係なく取引リクエストを送信し、作業を継続する必要があります。
  • また、ライブラリベースのプログラムをMQL5マーケットに配置する際には、問題を回避するために、取引クラスの動作を調整する必要があります。このようなプログラムはすべてのチェックに合格するべきです。
以上が、取引クラスに関する現在の計画です。

作者: Artyom Trishkin