StopLevelとFreezeLevelによる制限

アイキャッチ

分かりにくい2つの制限

MQL4で長らく曖昧に理解していたStopLevelとFreezeLevel。ようやく正しい仕様を理解できました。というか、ちゃんとMQL4のサイトに定義がありましたorz

Requirements and Limitations in Making Trades

「ここに記載されている表の条件を満たしなさい。そうしないと注文エラーになりますよ。」ということです。例えば、StopLevelのBuyポジションの場合、損切り価格(SL)は、「Bid-SL ≥ StopLevel」を満たしなさいという意味です。

StopLevelはMarketInfo(Symbol(), MODE_STOPLEVEL)、FreezeLevelはMarketInfo(Symbol(), MODE_FREEZELEVEL)で取得できます。なお、StopLevelとFreezeLevelはポイント値ですので、比較式を作る時は注意(比較する側される側、どちらもポイントに換算するか価格に換算するか)が必要です。

ずっとモヤモヤしていた問題が1つ解決できました!

今まで掲載していたorderSendReliable()とorderModifyReliable()を一部見直さないといけませんね。この記事を公開したら、すぐ書き直そうっと。

余談ですが、MarketInfo(Symbol(), MODE_STOPLEVEL)とAccountStopoutLevel()は、字面が似ていますが意味が全然違います。前者は上記の通り、通貨ペアごとの仕掛けの制限を表します。後者は、FX業者の強制ロスカット率を表します。お間違えのないように。

ブログランキングに参加中!

ポチっとクリック頂けると励みになります♪
(クリックしてもランキング一覧が表示されるだけですが、それでOKです)

  にほんブログ村 為替ブログ FX システムトレード派へ

コメントを残す



20 − 15 =