*

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

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

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

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

(関数名センスない?)

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

ただし、MT4で表示されている履歴に依存するので、表示されている履歴が直近一か月の場合は、その分しか参照できません。

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

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

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

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

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

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

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

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

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

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

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

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

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

Message

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

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

関連記事

no image

久しぶりにMQL4を触って違和感を覚えたこと(覚書)

ほとんどの人には関係ない記事だと思います。 開発者の方が検索してたまたま見てもらうような覚書で

記事を読む

週明け窓埋めロジックってどうなの?

FXの中でも有名なトレード手法として、 窓埋めロジックというものがあります。 株の場合は、窓

記事を読む

EA、インジケーターに有効期限をつける

EAやインジケーターをお試しで使ってもらい 気に入ってもらったら購入してもらうというビジネスモデル

記事を読む

トレード履歴からEAを復元することは可能か

「優秀なトレード履歴からEAを復元することはできるか」 という問い合わせをたまにいただきます。

記事を読む

MQL4とMQL5の違い(更新中)

・OrdersTotalの扱い MQL4でのOrdersTotalはMQL5ではPositions

記事を読む

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

    各トピックに対するコメントは各記事のコメント欄にお願いします。それ以外のご質問、ご相談などは
    infoあっとfxantenna.com
    まで
    私の偽物がいるらしいので偽物にご注意ください。
no image
ストップレベル=0はストップレベルがないことではない

MT4/MT5では予約注文を行う際にストップレベルというものがあります

no image
私の偽者、偽ブログにご注意ください

読者の方からご連絡いただいたのですが、私のブログの内容をそのままコピー

no image
サービス展開向けの仮想通貨自動売買システムを作るには

前置き ビットコイン、仮想通貨の自動売買を作る目的として、通常は個人

一回の演算で複数のリクエストを送る 仮想通貨の自動売買⑪

公開:2017/9/4 基本的にjson形式でAPIをたたく場合

コインチェックAPIで信用取引 仮想通貨の自動売買⑩

公開:2017/9/4 これまではAPIで現物取引を扱ってきまし

→もっと見る

PAGE TOP ↑