*

【MQL4】シンプルに稼働するコピートレードツールを作る。その⑤

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Message

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

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

関連記事

【EA】マーチンなし、高スプレッド対応自動売買システム【配布】

. EURUSD 2018/1/1~2018/12/31 M5 spread:2 PF:1.2

記事を読む

配布したEAのトレードが コピートレードツールで流出するのを防ぐ方法

読者の方から質問があったので、回答になります。 タイトルの通りで、何かしらEAを配布するときに

記事を読む

PHP(サーバー)側からEAに情報を送る

以前の投稿で、EA側からサーバーにアクセスする方法について扱ったのですが、 ”逆にサーバー側か

記事を読む

EA化できないインジケーターをむりやりEA化する方法

意外と知られていないようなので、ちょっとした小ネタです。 世の中にはいろいろなインジケーターが

記事を読む

【MQL4】シンプルに稼働するコピートレードツールを作る。その⑧

意外と長い記事になってしまいましたが、現在のこれまでの仕様は下記のとおりです。 ・DLL、外部ソフ

記事を読む

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

    各トピックに対するコメントは各記事のコメント欄にお願いします。それ以外のご質問、ご相談などは
    infoあっとfxantenna.com
    まで
    私の偽者がいるらしいのでご注意ください。
他通貨対応H4,D1用EA(ex4)

H4 EURUSD 2018/1/1~2018/12/31 H

Q&A iCustomのEAのエラーについて

Q. 第24回:iCustomでインジケータをEA化するというサイ

【MT4】SP500,日経225,FX用EA(無料配布)

SP500 2018/1/1~2018/12/31 D1 PF:1.

【MT4】H4, D1用EA(プレゼント企画)

EURUSD 2018/1/1~2018/12/31 D1

質問回答コラム

Q. 管理人さん自身はEAで運用しているのですか A.  して

→もっと見る

PAGE TOP ↑