*

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

今回はトレードを受信する方のEAを作ります。
トレードデータを送信するEAと比較すると、

トレード関数を実装しなければいけないので、
少し厄介です。

まずトレードデータをサーバから取得します。

関数名にGetが入っていますが、リクエストはPOSTです。
ここらへんのURLとかデータベースとかは後で扱うので、
今は外枠だけ作っておけばOKです。

取得したデータは最初配列になっているので、CharArrayToStringで文字列に直します。

次に、
サーバから取得したトレードポジションを現在持っているかどうかを判定する関数を作ります。

後で扱うのですが、
オーダーを送信をする際にトレードコメントに親のトレードのチケットナンバーを差し込み、
ポジションのコメントにそのチケットナンバーのものがあるかないかで判定を行います。

(オーダーコメントの場合デバッグ作業はしやすいのですが、コメントを書き換える業者があるので、
マジックナンバーを親のチケットナンバーにした方が良いかもしれません。)

これで親のトレードと同じポジションを今現在持っているかが判定できます。
持っていなかったらエントリーし、持っていたらスルーします。

次に、
同じように”過去に”親のトレードを保有し、決済したかどうかを判定する関数を作ります。

これは何のためにやるかというと、何らかのエラーによりポジションが決済された際に、
またエントリーするのを防ぐ役割があります。

もしくは、親トレーダーがエントリーして、そのトレードをコピーしたは良いけど、
気に食わないから手動で決済する、という要望に応えることもできます。

基本的には先ほどと同じ構造の関数です。

いよいよ、オーダーを送信する関数を作ります。

MQL5の場合、オーダーの送信は構造体にして送信するので上記のようなちょっと見慣れない感じになります。
受信する側の業者の通貨ペア名がUSDJPY_mのようになっていることがあるので、

あらかじめその余計な文字列だけを取得しておき(Ex)、あとで連結します。TheSymbol+Ex

上記ではオーダーコメントとマジックナンバー、両方に親のトレードチケット番号を挿入していますが、
どちらか片方でもOKです。

あとは、
「過去に親のポジションを持っていない」かつ「今も親のポジションを持っていない」場合に
エントリーし、

「受信したデータに現在持っているポジションの情報が消えたら」決済というプログラミングを
OnTickに書くだけです。

WEBサーバに接続する際に、500エラーや503エラーが出ることがありますが、
そういった事例の対処はPHPのときにします。

Message

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

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

関連記事

第20回:複数のポジションを識別・判別する

口座内の異なる通貨ペア、マジックナンバーのポジションを区別する MT4では同時に異なる種類のポジシ

記事を読む

MT4チャート上で動画を表示する

MT4にはチャート上に画像を表示させる機能があります。 しかし、動画を表示させる機能はありません。

記事を読む

第1回:EA開発の前準備~エディタソフトの確認~

メタエディタの準備 EAを開発するにはMT4に付属しているメタエディタというソフトを使います。

記事を読む

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

SP500 2018/1/1~2018/12/31 D1 PF:1.63 勝率:89.24% Sp

記事を読む

【VPSスピード勝負】お名前ドットコム vs Beeks

トレード用のVPSを使う上で重要な項目はいろいろありますが、 その中でもスピードは要です。

記事を読む

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

    各トピックに対するコメントは各記事のコメント欄にお願いします。それ以外のご質問、ご相談などは
    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 ↑