[Tips]MetaTraderですばやく全ポジションクローズするには・・・
複数回に分けてオーダーを出すシステムってよくありますよね?
買い下がりや買いあがりです。
複数回に分けて買うことでドルコスト平均法、、、とまでは言いませんが高値つかみを防ぐことができ有効な手法のひとつだと思います。
(もちろん無限ナンピンとかピラミッドナンピンとか推奨できないものもありますが)
たとえば 1ロット×5回に分けてLongするシステムがあったとして これらをクローズする時には通常
OrderClose()を5回すると思います。
しかし1回のOrderCloseが通るのに1,2秒かかり 5個のClose注文を連続して出すと状況によってはオーダーが通るのにトータルで10秒ぐらいかかることもあります。
たかが10秒と思うかもしれませんが状況によってはその10秒で成績が大きく変わってきます。
この時間を短縮するにはどうすればよいか?
逆方向のポジションを同ロット数とって両建てにし、その後その両建てを相殺すればいいのです。
これだとエントリー数がいくつであろうと 1回の注文で両建てが成立し その後為替が同動こうと損益は確定しますよね?
上記のケースだと5ロットをShortして 上記1ロット×5のLongの玉と相殺です。
MQLでこの両建ての相殺、、、ができればいいのですがリファレンスを見る限りできなさそうです。
(もし知ってる人いたら教えてください)
なので今のところ手動でのオペレーションでこれを行います。
12/29追記
MQLから利用する場合はOrderCloseByでできますね。
リファレンス見てて気づきました。
この方法だと完全自動売買システムではなく人間のオペレーションが入ってしまうので賛否あるとは思いますが
リアルタイムじゃなくて1日1回、ロールオーバー前に両建て解消の手続きをすれだけですので
同状況になったらメールで通知する などの機能と併用すればあながちダメとは言い切れないのではないでしょうか?
パラメーターで通常のクローズか この両建て相殺クローズかを選択できるようにしておき
PCを見られる状況の日は両建て相殺クローズを、ダメな日は通常のクローズをと切り替えて行えばよりバックテストに近い結果が得られると思います。
(バックテストではこの複数オーダーを連続して出した場合の待ち時間は考慮に入れられてないので)
また万が一このオペレーションをし忘れたとしても 発生する損失は プラススワップとマイナススワップの差だけですので微々たる額です。
この両建て相殺クローズにより1pipsでもいい条件でクローズできるかもしれない、そのメリットと比べればこのリスクは無視できるぐらい小さいのではないでしょうか?
またセミオートトレーディングシステムを使う場合や MT4を使って手動のトレードを行う場合にもこの方法は有効だと思います。特に手動のオペレーションの場合 全玉クローズするのにかかる時間はかなりかかるので
この手法はかなり有効です。
元々私がこの方法を思いついたのも手動のトレードで遊んでて気づいたわけですし・・・
参考までに試してみてください。
※この手法は今週思いついて水曜日ぐらいからリアルトレードで使い始めたばかりなので何か問題がある可能性もあります。
リアルトレードで行う際は十分注意してまた自己責任で行ってください。

↑↑↑↑ あなたのクリックが更新のモチベーションにつながります^^ ↑↑↑↑

3 People have left comments on this post
会社の方は儲かってますか?
おかげさまでシステムトレードの開発の依頼も増えてきて売り上げに占める割合もかなり増えてきました。
システムトレード開発を行う会社は少ないので 開発を繰り返すことで開発ノウハウもたまってきますし いい流れができてきていると思います。
それはいい事ですね!
他社から依頼を受けることで、お金だけでなく、知識、ノウハウ、といった付加価値も得ることができるのですね。
あぁー自分にももう少しプログラムに詳しければなぁ~><
本当に悲しいです。