再び本格的にJForexを使うようになって、早数か月。
今使っているストラテジーに、リスク管理によるlot制御を加えようと考えました。
複数シンボル・時間足で動いているので、oreder履歴から自分担当の取引を識別するために、commentを使用しようと考えていました。
MT4のマジックナンバーのようなイメージです。
ふっふっふ~ん♪と鼻歌交じりにロジックを修正して、実行したら例外を吐きましたww
coment取得結果がnullになっていました!
コメント付加が失敗しているのか?
いや、ちゃんとコメントは付加されています。
上記はsubmit()した直後のIOrderです。
これが、IHistory.getOrdersHistory()で取得したClose済のポジション(order)に関しては、nullになっています。
疑惑1:バックテストではコメントは正しく動作しない?
ドキュメント探しても、関連する記述は見当たりません。
完全否定はできませんが、取引レポートには正しくコメントが表示されているので、可能性は低いと考えました。
疑惑2:ポジションクローズした後は、コメントが削除される?
上記のIOrderの中身を見ても、明らかに内容が異なっています。
closeされたorderは内容が簡略化されるのでしょうか・・・
個人的に疑惑2であろうと考えています。
どちらにせよ、order履歴からコメントで自分分を識別するのは無理そうです_| ̄|○
仕方ないので、close後にも残っているラベルに埋め込むことにしました・・・。
美しくないですねw
MT4のマジックナンバーは凄く優れたアイデアだと思っています。
JForexにも取り入れてほしいところです。
(2020/5/8追記)
思い出したので確認したところ、疑惑1が結論でした。
本番取引のコメントは、クローズした後でも正しく取得できました。
まぁ、普通に考えればそうですよね・・・、そうでなければコメント情報をどこに持っているんだ?っていうw
他にもサーバで働くorderのチェック条件が、テスターだと機能しない等あったので、少し注意が必要です。