記事"MetaTraderプログラムを簡単かつ迅速に開発するためのライブラリ(第23部): 基本取引クラス - パラメータ有効性の検証"についてのディスカッション

 

新しい記事 MetaTraderプログラムを簡単かつ迅速に開発するためのライブラリ(第23部): 基本取引クラス - パラメータ有効性の検証 はパブリッシュされました:

本稿では、取引クラスの不正な取引注文パラメータ値に対する制御と取引イベントの音声通知において開発を続けています。

EAをコンパイルしてテスターで起動します。パラメータでは、Lotsを10、StopLoss in pointsTakeProfit in pointsは1に設定します。


したがって、無効なロットサイズでポジションを開こうとするため、資金が不足し、銘柄のStopLevelパラメータによって規制される最小ストップ注文の距離に違反することを試みます。


操作ログには「取引操作を実行するのに十分なお金がありません」と「StopLoss値がStopLevelパラメータ要件に違反しています」の2つのエラーが表示されます。TakeProfitは1ポイントに設定しています。EAにそのエラーの情報も表示されないのはなぜでしょうか。実際には、最小のSYMBOL_TRADE_STOPS_LEVEL内で実行されるTakeProfitおよびStopLossレベルを配置することはルールに違反しないため、ここではエラーはありません。

TakeProfitおよびStopLossレベルは、反対の操作を実行するための現在の価格と比較する必要があります。

  • 買いは売呼値で行われます。TakeProfitとStopLossのレベルは買呼値と比較されるべきです。
  • 売りは買呼値で行われます。TakeProfitとStopLossのレベルは売呼値と比較されるべきです。

作者: Artyom Trishkin