*

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

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

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

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

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

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


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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Message

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

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

関連記事

【MT5toMT5】コピートレードツール(EA)の紹介

今回はMT5からMT5にトレードをコピーするツールの紹介です。 まずは様子をご覧ください。

記事を読む

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

以前、DLLなしで動くコピートレードツールを連載しましたが、 今回はサーバを経由するコピートレードツ

記事を読む

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

前回までの内容でサーバを経由するコピートレードツールは (ある程度MQLとPHPがわかっていれば)で

記事を読む

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

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

記事を読む

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

今回はトレードを受信する側のPHPのスクリプトを書きます。 これが終わればコピーツールの大枠が完成

記事を読む

 

  • (↑広告です。このサイトの管理者の運営ではありません)



  • 横瀬兼元(ペンネーム)です。

    ご質問、ご相談などは
    infoあっとfxantenna.com
    まで
    偽者(オリジナルある模倣者)がいるらしいのでご注意ください。
【MT4EA】半年で5万回以上トレードしても右肩上がりにできる証明(EA配布)

(ただし、スプレッドが狭ければ...) EURUSD

no image
(MT4EA)MACDと特殊ベッティング【EA検証班求ム】 

. . 超シンプルなMACDのEAです

MT4の1分足テストで起こる致命的な現象

1分足っていうのは他の時間枠といろいろ違う点があります。 まず、本題か

no image
【EA検証班募集】コツコツドカンとドローダウン(MT4) ~原理は単純を、構造は複雑を、人は最も人らしく~

EURGBP 2018.11.1~2019.4.30 D1 Sp

MT5のテスターではスプレッドは変更できないという事実

を知らない人が多くて、「このバックテストのスプレッドはいくつですか」と

→もっと見る

PAGE TOP ↑