*

【MQL4】外部ソフトなしで稼働するコピートレードツールを作る。その⑤

今回は取得したコピー元のトレード情報を、現在のトレード状態と照らし合わせる作業をします。

最も容易に想定されるバグとして、何度も同じポジションを取ったり決済したりを繰り返す、というものがあります。

これを解消するには、コピー先のオーダーの履歴に、すでにそのオーダーを取得したことがあるかどうかを調べる作業が必要です。

まだオーダーをコーディングしていませんが、受信側がオーダーをコピーしてポジションを取得する際に、そのオーダーのコメントに親のオーダーのチケット番号を入れます。

受信側が持っているオーダーのコメント と 配信側が持っているオーダーのチケット番号が一致していれば、
それはコピートレードで対応されたオーダーということになります。

(もっと良い関数名があればなぁ….)

【追記】後の記事では、コメントがブローカーによって勝手に編集される可能性を考慮して、
受信側のオーダーのコメントに配信側のチケット番号を入れるのではなく、
受信側のオーダーのマジックナンバーに配信側のチケット番号を入れています。

MQL4ではOrderSelectの際にMODE_HISOTRYを選択すると、決済済み、削除済みのオーダーを参照できます。

ただし、参照できる決済済み削除済みのオーダーは、MT4で表示されている履歴に依存するので、表示されている履歴が短い場合は、その分しか参照できません。

逆に全履歴がターミナル上で表示されている場合には、全履歴を取得することができます。
(今後のアップデートで変わるかもしれませんね。)

今回のコピートレードでは、コピーしたオーダーのコメントに、コピー元のチケット番号を入れる仕様にしました。

これによって、そのオーダーを過去にコピーしたことがあるのかどうかがわかります。

ちなみにMT5の場合、オーダーコメントは結構変わってしまうので、この手法は使えません。

また、履歴上のオーダーの検索と同時に、コピーするべきトレードが現在コピーされているかどうかを検索する必要があります。

A・今、コピーするべきオーダーを持っているか調べる
B・過去にコピーするべきオーダーを持っていたか調べる

つまりこの2パターンです。

何を想定しているかというと、せっかくコピーしたトレードを裁量で決済されてしまったパターンです。

この場合、
もう一度ポジションを保有するか、それとも、トレーダーを信用してポジションを見送るか、の選択になるのですが、

せっかくトレーダーが何かの意図をもって決済したものを、間髪入れずに再ポジションしたら、クレームになりそうな気がします。

(もちろん誤って決済してしまった、という可能性もあると思います。)

しかし、過去のトレードも参照しておけばバグの可能性も減らせることができるので、今回は
「コピーしたポジションをトレーダーが裁量で決済した場合、再エントリーしない」仕様にします。

先ほどと同じように、今度は”現在もっているポジション”とコピー元のトレード情報を照らし合わせます。(照らし合わせる関数を作ります)

ちょっとややこしいかもしれませんが、やっていることは、
A・今、コピーするべきオーダーを持っているか調べる
B・過去にコピーするべきオーダーを持っていたか調べる
ことが必要で、そのための独自関数を作っただけです。

Message

メールアドレスが公開されることはありません。

このコメントはWEBに公開されるので、問い合わせ等はメールでお願いします。

関連記事

MQLxPHP サーバを経由するコピートレードツールを作る4

今回はサーバー側のコーディングを行います。 まずは、トレードを送信する親側の処理を行うPHPファイ

記事を読む

合成通貨アービトラージEA

まず合成通貨のパターンを構成する通貨を選択します。 どんなに採用通貨ペアが少ないFX業者でも利

記事を読む

TradeStationでFXをやるとティックチャートとレンコン足が使える

FXをやるなら、専門特化したMetaTraderが総合点では圧倒的に高いと思います。 しかし、部分

記事を読む

第17回:OrderSelectでポジションの情報を取得する

ポジションの情報を取得する 今回はすでに持っているポジション、オーダーした複数のポジションの情報を

記事を読む

第5回:コンパイルとEAの生成

ここではソースコードからEAを生成します。 mqファイルのコンパイル ソースコードファイルは

記事を読む

 
  • ブログ管理人の横瀬兼元(ペンネーム)です。

    各トピックに対するコメントは各記事のコメント欄にお願いします。それ以外のご質問、ご相談などは
    infoあっとfxantenna.com
    まで
    私の偽物がいるらしいので偽物にご注意ください。
no image
【MQL4】外部ソフトなしで稼働するコピートレードツールを作る。その⑨

このシリーズは前回の投稿から1年以上あいている訳ですが、結構問い合わせ

no image
【一覧】外部ソフトなしで稼働するコピートレードツールを作る。

【MQL4】外部ソフトなしで稼働するコピートレードツールを作る。その1

no image
スマホから稼働中のEAを操作、チェックするアイディア【RDP以外で】

自動売買システムはVPSなどに設置することで24時間稼働させられますが

no image
【初心者向け】VPSでWebサーバー構築 (さくらVPSxUbuntu16.04)

今回はサーバーの構築について扱ってみようと思います。VPSを使った一般

no image
2018年中盤~の仮想通貨(ビットコイン)アービトラージの相場について

ちょくちょく「最近、ビットコインのアービトラージどうですか」という質問

→もっと見る

PAGE TOP ↑