*

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

まず、データをサーバに送信するEAを作ります。

飛ばすトレード情報のデータは、
・チケットナンバー
・通貨ペア名
・エントリーの向き
です。

他にも情報を追加したい場合は、適宜追加してください。
基本的には上記だけでも何とかなります。

他に入れたい場合は、

・注文時間

・注文ロット

・SL

・TP

・注文方式

とかを入れると予約注文や部分決済などにも対応したシステムが作れます。

これらの情報を何かしらの方法でサーバーに送らなければいけないのですが、MQLのWebRequest関数で送信できるWEBの通信には大きくPOSTとGETがあります。

GETの方が簡単なのでデータ量が短い場合はGETでも大丈夫ですが、ポジションの量が増えたりするとものすごい長いURLになってしまうので、POSTで行きましょう。

データの整形ですが、ポジションの数に応じてこの情報を連結させます。
例えば、
123456:USDJPY:BUY@123457:EURUSD:SELL@111111:EURJPY:BUY
このような感じです。

それぞれの記号はデータを区切る意味しかないので、
カンマでもコロンでもなんでもOKです。
(ただし、データベースが誤認識しやすい記号があるので、それらは避けましょう)

今回はMQL4ではなく、MQL5で書いていますが、
基本的にはMQL4と同じです。

オーダー関数が構造体になるくらいの違いです。


関数化するとこんな感じです。

業者によっては、USDJPYmとかUSDJPY_xとか余計な文字列がついていることがあるので、
最初の6文字だけを取得するように一般化してください。

StringSubstrを使えば最初の6文字だけを切り取れます。

また、このEAにトレードをさせるわけではないので、
for文の判定はPositionsTotal()そのままでOKです。(以前EA開発講座でやりましたが、for文の中で決済処理をしてしまうとPositionsTotal()の数が変わってしまうことがあるのを回避する話です。)

順番が前後してしまったのですが、トレードを送信する側のアカウント情報を
サーバに送る準備をします。(一応ね)

トレード情報を送る機能 と アカウント情報を送る機能 を分けて処理します。

「口座の管理や認証処理はとりあえずいらないよ」っていう人はスルーしても大丈夫です。

サーバに送る情報は、
・サーバにアクセスする際のパスワード
・使っている業者
・アカウント名
・アカウント番号
・メールアドレス(パラメタ入力)
・デモ口座かどうか
・受信者用のパスワード(パラメタ入力)
です。必要に応じて適宜増やしたり減らしてください。


この二つの情報(アカウント情報とトレード情報)をサーバに送信します。
トレード情報は頻繁にサーバに送信する必要がありますが、アカウント情報はたまに送信すればOKです。

セキュリティ向上のため、SSL接続でPOSTでHTTPリクエストを行います。

ポート制限がかかっているVPS上でMT4を稼働させている場合、SSL接続だとうまく通信できない事例があるので、生HTTPが良いと思います。

平文でGETリクエストでも大丈夫だとは思いますが、一応暗号化はしておきます。


この関数は指定したURLに対して、指定した文字列をPOSTで送る関数です。このURLはあとでサーバーを構築した際に指定します。

中で何をしているかわからなくてもこの関数をコピペすれば大丈夫です。

ちなみに、MQLのWebRequestは少しクセがあり、リファレンスのサンプルも上手く動かないので、少し注意が必要です。

Message

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

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

関連記事

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

MT4以外のソフトを使わずに、DLLも使わずに、同一コンピュータ上で高速なコピートレードを実現させる

記事を読む

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

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

記事を読む

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

まずは、コピー元のプログラムを作ります。トレードを受信する側よりもかなり簡単です。 コピー先

記事を読む

FX会社のサーバーはどこのデータセンタを使っているか

FX会社のサーバーがどこにあるかご存知でしょうか。 FX会社側が自分のサーバーがどこにあるかを公表

記事を読む

トレード専用サーバーが普通のサーバーと違うところ

よく「トレード専用のサーバーがどうたらこうたら~」と言いますが、 具体的に何が違うのかをはっきり知

記事を読む

 

  • (↑広告です。このサイトの管理者の運営ではありません)



  • 横瀬兼元(ペンネーム)です。

    ご質問、ご相談などは
    infoあっとfxantenna.com
    まで
    偽者(オリジナルある模倣者)がいるらしいのでご注意ください。
【MT4EA】半年で5万回以上トレードしても右肩上がりにできる証明(EA配布)

(ただし、スプレッドが狭ければ...) EURUSD

no image
(MT4EA)MACDと特殊ベッティング【EA検証班求ム】 

. . 超シンプルなMACDのEAです

MT4の1分足テストで起こる致命的な現象

1分足っていうのは他の時間枠といろいろ違う点があります。 まず、本題か

no image
【EA検証班募集】コツコツドカンとドローダウン(MT4) ~原理は単純を、構造は複雑を、人は最も人らしく~

EURGBP 2018.11.1~2019.4.30 D1 Sp

MT5のテスターではスプレッドは変更できないという事実

を知らない人が多くて、「このバックテストのスプレッドはいくつですか」と

→もっと見る

PAGE TOP ↑