信頼できる仕掛け注文関数(値幅指定)

アイキャッチ

価格ではなく値幅(pips)による仕掛け注文関数

「信頼できる仕掛け注文関数」で、注文失敗時にリトライしたり注文の詳細情報をログに出力したりする仕掛け注文関数としてorderSendReliable()を作成しました。

orderSendReliable()における損切りと利食いのパラメータは価格指定になっており、ちょっと扱いにくい印象です。例えば、USDJPYの現在レートが115円だとした場合、ロング成行注文、損切り50pipsにしようとすると、損切りのパラメータには114.5円を指定することになります。いちいち頭の中で50pips→0.5円(EURUSDなら0.0005ドル)と暗算しないといけませんね。価格指定(114.5円)ではなく、値幅指定(50pips)で書きたいところです。

というわけで、orderSendReliable()を値幅指定できる仕掛け注文関数を紹介します。

orderSendReliable()との違いは、損切りと利食いのパラメータの内容が価格から値幅(pips)に変わったことだけです。orderSendReliableRange()の内部で値幅を価格に変換後、orderSendReliable()を呼び出しています。

値幅を価格に変換する際、ロングとショートで仕掛け価格から値幅分だけ足し引きが異なりますので、その点は注意です。変数plusMinusSignで足すのか引くのかを制御しています。

この関数では損切りと利食いの価格をdouble sl = 0.0とdouble tp = 0.0で初期化していますので、うっかりマイナスの損切り・利食いのパラメータを与えてしまっても、内部で0(損切り、利食いの指定なし)にしてorderSendReliable()を呼んでくれる副次効果があります。

サンプルEA

関数だけではイメージが沸きづらいと思いますので、サンプルEAを載せておきます。

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

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

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

コメントを残す



four × four =