*

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Message

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

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

関連記事

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

前回はコピー元のコードを書きました。(先頭の変数の宣言が含まれていないので、コピペしてもまた動かない

記事を読む

ティック更新よりも早い頻度で演算させる

EAというやつうは基本的にティックレートを受信する度に一回、演算する仕組みになっています。 U

記事を読む

MT4のチャート上にボタンを作る

現在のMT4は結構いろいろな機能が追加されていて、 DLLや拡張ファイルを使わずに、 EA単体で

記事を読む

【MT4MT5】チャート上にWEBサイトの情報を載せる その1

オンラインの情報をトレードの判断に使う、というのは至極まっとうな考え方だと思います。 日経が為

記事を読む

第2回:EAの新規作成

新規作成 メタエディタから「New」(新規作成)をクリックしてください。 するとこれから何を

記事を読む

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

    各トピックに対するコメントは各記事のコメント欄にお願いします。それ以外のご質問、ご相談などは
    infoあっとfxantenna.com
    まで
    私の偽物がいるらしいので偽物にご注意ください。
no image
[bitwallet]paypal, Netteler, Skrillの次のオンラインマネーウォレット

近頃FX業界ではbitwallet(旧:mybitwallet)という

no image
ストップレベル=0はストップレベルがないことではない

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

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

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

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

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

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

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

→もっと見る

PAGE TOP ↑