マイナスPips数によるStopLoss機能実装

ForexHACKEDもどきの自作EAに損切り機能をつけようと四苦八苦。

今まではOrdersTotal()で注文件数を取得してMaxBuy[Sell]Orders()より少なかったら次のナンピン投入、というロジックを採用していました。が、損切りの発生を考慮すると注文件数=ナンピン回数と言えなくなってしまいます。損切り自体は注文時、T/P変更時にStopLoss値を設定してあげれば可能ですが、損切りした後にさらにナンピンを重ねるとき、何回目かのナンピンかわからないためロット数が算出できない、という罠に悩んでました。

そこで、今注文しているうち最大ロット数を求め、Boosterで割り戻すような感じで何回目のナンピンかを求めるようにしてみました。弱点はナンピンを重ねている最中にBooster値を変更すると現在のナンピン数が取得できなくなり誤作動する、というところ・・・(泣

とりあえず、バックテストではうまく動いているようですので、これでForexHACEDのiStopLoss機能取り込み完了として、次はStopLossPCT機能を盛り込もうかと。これはドローダウンが設定値を超えたら、全ポジションを強制決済、という豪快な損切り機能とする予定です。