*

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Message

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

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

関連記事

2chの市況版のスレをテキストマイニングして逆張りする

よく「大衆の逆をいけば勝てる」みたいなことが相場の世界では言われますよね。 今回は2chの市況版の

記事を読む

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

前回は、コピー先でエントリーするところまで行ったので、今回は決済処理をします。 決済は「ファイル関

記事を読む

第2回:EAの新規作成

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

記事を読む

意外と厄介なWebRequestのPOST

最近になってMQL4でもオンラインに接続できるようになりましたが、 WebRequestのPOST

記事を読む

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

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

記事を読む

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

    "FX"の自動売買システムに興味がある方はinfo@aiforex.infoにご連絡ください。
    担当の方が対応します

    トレード成績はこのブログに掲載しています。


    株、仮想通貨、それ以外の私に対するご連絡は
    infoあっとfxantenna.com
    まで

ライトコインLTCのアービトラージ取引結果 binance vs poloniex

今回はライトコインのアービトラージ結果です。 最初はレート差1USD

仮想通貨アービトラージに取引所間の送金は必ずしも必要ではない

ここまで話を進めてきていまさら~な感じもするのですが、そもそものところ

BCH(ビットコインキャッシュ)のアービトラージの取引結果(Binance vs Poloniex)

今回はビットコインキャッシュのアービトラージの取引結果です。

ETH(イーサリアム)のアービトラージの取引結果(Binance vs Poloniex)

前回まででアルトコインのアービトラージの作り方や背景について説明しまし

APIを使ったアルトコインの自動アービトラージ

国内の取引所ではAPI取引でビットコイン以外をトレードできないため、ア

→もっと見る

PAGE TOP ↑