【MQL4】シンプルに稼働するコピートレードツールを作る。その①
MT4で自動売買ソフトを稼働させるトレーダーには、ときとしてトレードを別のMT4にコピーしたい場合があります。
例えば、デモ口座でしか稼働しないトライアル版のEAや、口座番号に制限がかかっているEA、ブローカーに制約があるEAなどです。
以前の記事で、外部サーバーを使ったコピートレードの話をしたような気がしますが、
今回は同一コンピューター上でのコピートレードツールを作ります。
ネットを経由させないコピーツールとしてのメリットは、トレードの反映のスピードが早いこと、外部サーバーの構築、管理をする手間がないことが挙げられます。
逆にデメリットとしては、
”コピー元のMT4とコピー先のMT4が同一PC上になければならない”
ということです。
この使用場面はいろいろと限られてくると思いますが、基本的には個人利用を想定しています。
さて、実際の仕様の話ですが、現在のMT4であればDLLや外部ソフトを使わずに、EA単体で稼働させることが可能です。(もちろんプログラマの腕ありきですが・・・)
これを実現させるコアとなるのが、ファイル関数のCOMMON機能です。
ファイル関数は、EA上のデータをファイルに記録することができます。
MT4のターミナル上にデータを保存するグローバル変数はそれぞれのMT4上に記録されますが、
ファイル関数はCOMMON指定することで、より上位のフォルダにデータを保存することが可能です。
それにより異なるブローカーのMT4同士でデータのやりとりが可能になります。
データ格納のアクセス可能性としては、
ファイル関数(COMMON)>ファイル関数(通常)>グローバル変数(外域変数)>PUBLIC変数>ローカル変数
といった感じです。
右に行くほどデータにアクセスする権限が厳しくなり、外側から参照・書き込みできなくなります。
逆に、左になればなるほど、長期の間データを保存できます。
頻繁に出し入れするデータはなるべく短期型の格納方式を使ってメモリの消費を減らします。
MQLを長年いじったことがある方でもファイル関数を触る機会というのは、そう多くはないと思います。
用途としては、
・コピートレード
・アービトラージ
・外部ソフトを使った分析(人工知能とか)
に限られてくるので、
一般的な自動売買ソフトを開発しているだけではお目にかかることはないでしょう。
全体的にやるべきタスクは下記になります。
■コピー元(配信側)
・オーダーをファイル関数でファイルに記録する
■コピー先(受信側)
・ファイル関数でトレードデータを引っ張ってくる
・引っ張て来たデータを現在のポジション情報と照らし合わせる
・照らし合わせた内容に従ってエントリーor決済する
前置きが長くなりましたが、次回から実際にコーディングしていきます。
このコメントはWEBに公開されるので、問い合わせ等はメールでお願いします。
関連記事
-
-
MT4チャート上で動画を表示する
MT4にはチャート上に画像を表示させる機能があります。 しかし、動画を表示させる機能はありません。
-
-
最近の海外のEA開発の流行り:ロングとショートのパラメータ群を分ける
表題の通りですが、最近海外製のEAではロングとショートのパラメータを分けるのが流行っているようです。
-
-
【MQL4】シンプルに稼働するコピートレードツールを作る。その⑦
前回は、コピー先でエントリーするところまで行ったので、今回は決済処理をします。 決済は「ファイル関
-
-
パターン分析トレードシステムを作る
今回はMT4のファイル関数を使って、 パターン分析トレードシステムを作成します。 まずチャー
-
-
第18回:配列で変数をまとめる
MQLの配列 MQLでティックチャートを使うとします。 MQLでは過去のティックチャートのデ
Comment
スキャルピングでも早くコピートレードできるソフトを探してます。宜しくお願いしますm(__)m