*

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Message

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

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

関連記事

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

まず、データをサーバに送信するEAを作ります。 飛ばすトレード情報のデータは、 ・チケットナ

記事を読む

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

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

記事を読む

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

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

記事を読む

no image

最近の海外のEA開発の流行り:ロングとショートのパラメータ群を分ける

表題の通りですが、最近海外製のEAではロングとショートのパラメータを分けるのが流行っているようです。

記事を読む

第12回:消えてしまう数値を一時的に保存して利用する~変数~

変数の役割 これまでにもあまり大した説明をせずに変数を扱ってきましたが、 ここでは変数について重

記事を読む

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

    各トピックに対するコメントは各記事のコメント欄にお願いします。それ以外のご質問、ご相談などは
    infoあっとfxantenna.com
    まで
    私の偽者がいるらしいのでご注意ください。
【MAクロス】仮想通貨でシステムトレード検証(ソフト無料プレゼントあり)

MT4/MT5でも仮想通貨チャートが増えてきたので、そろそろ自動売買や

自動売買プログラム他 無料プレゼント 2019年2月

口座開設プレゼント企画 下記のリンクより口座開設していただいた方にお

バイナリーオプションで特定の手法が勝てるかどうか検証する方法

バイナリーオプションの場合、 リアルタイムの自動売買開発と過去検証の

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

今回はリバーストレードができるように改良します。 端的に言うと、コピ

【一覧】シンプルに稼働するコピートレードツールを作る。

MT4以外のソフトを使わずに、DLLも使わずに、同一コンピュータ上で高

→もっと見る

PAGE TOP ↑