[MT4⇔MT5] コピートレードツール(EA) 使い方 無料ダウンロード
公開日:
:
コピートレードツール開発 MT4, MT5, コピートレード
目次/もくじ
これまでに開発したコピートレードツールの紹介です。開発の経緯順のため、最新版は一番下にあります。また、ここで紹介しているのはサーバーを経由しないタイプのコピートレードツールなので、サーバーを経由するタイプのコピートレードツールはページ下部にリンクがあります。
[MT5→MT4]コピートレードツール(.ex5 .ex4)
まず、完成形をお見せします。
左がMT5で、右がMT4です。
ナビゲータの口座のところをみれば確認できると思います。
ローカルタイプのトレードコピーです。(コピー反映のスピードはパラメータで変更できます。)
何でいきなりこんなものを作ったかというと、出来が良いMT5のEAがあったのですが、MQL5とMQL4の仕様の違いで移植できなかったので、MT4にコピーしようという魂胆です。(とある業者のMT5にまだネッティングアカウントしかなかったので..)
コピートレードツールとひとくくりに言ってもいろいろあるわけですが、シンプルに動く(専用外部ソフトを使用しない&早い&軽量な)コピートレードツールというのはなかなかないものです。
MT4は歴史が古く、広く普及している関係で、MT4間のコピートレードツールは、いくつかありますが、MT5MT4間のコピートレードツールはあまり見かけません。
ちょっと探して見つけたものもありましたが、外部ソフトを必要としたり、認証が必要なものばかりでした。使えないことはないと思いますが、ちょっとバグがあったときに直せないのが嫌なので、自分で開発しました。
使い方
- MT4の適当な為替チャートにLocalCopyTradeTool(MT5toMT4).ex4をセット
- MT5の適当な為替チャートにLocalCopyTradeTool(MT5toMT4).ex5をセット
MT4のパラメータにMT5の口座番号を入力する(他にもPC上で稼働しているMT5がある可能性があるので、コピー元のMT5を特定する)
MT4のパラメータ設定
- SendersAccountNumber :MT5のアカウント番号
- FixedLot : ロット(固定)
- CopiedLot :ロット(MT5アカウントと同じロットにする)
- MaxSlippage : 最大許容スリッページ
- CopyTimeInterval : 反映サイクルインターバル(ミリ秒)
MT5EAのパラメータ設定
- CopyInterval :反映サイクルインターバル(ミリ秒)
やっていることは今までと同じですが、親(MT5)のロットをそのままコピーできる機能も付けておきました。(パラメータ:CopiedLot)
下記の画像は、CopiedLotをtrueにした場合です。MT5のオーダーのロットがMT4側にも反映されています。
[MT5->MT4]コピートレードツール(EA)ダウンロード
[MT5->MT4]コピートレードツール(EA)(.ex4)試用版ダウンロード
[MT5->MT4]コピートレードツール(EA)(.ex5)試用版ダウンロード
[MT5->MT4]コピートレードツール(EA)(.ex4)パスコード版ダウンロード
[MT5->MT4]コピートレードツール(EA)(.ex5)パスコード版ダウンロード
仕様
- MT5側がネットアカウントタイプで、かつ、ロットの買い増し、分割決済をした場合、チケットナンバーのフラグがたたないので、MT4側には反映されません。ヘッジアカウントタイプの場合は問題ありません。
- ※現在ほとんどのMT5アカウントがヘッジタイプになっており、ネッティングタイプの口座はFXPROくらいしかありません。
- 予約注文は約定のタイミングでコピーされます。※コピー元(親)でポジションを持っている状態で、コピー先(子)でそのポジションを手動決済した場合は該当のポジションは再度建玉しません。
- コピー中はコピー先(子)のアカウントで他の裁量・自動トレードできません。(汎用版はOKです)
[MT4→MT5]コピートレードツール(.ex4 .ex5)
まずは様子をご覧ください。
この動画ではちょっとラグがありますが、パラメータの設定を変えればもっと早くしたり遅くしたりすることができます。(確認サイクルを早くすれば早くなりますが、PC負荷も増えます)
MT4からMT5の過渡期では一番需要があるバージョンかと思いますが、MQL4からMQL5への移植もそれほど難しくなくなってきたので、どこまで需要があるかは不明です。
パラメータ設定
MT4側(.ex4) パラメータ設定:
- CopyInterval:コピーを監視する時間間隔(ミリ秒)
MT5側(.ex5) パラメータ設定:
- SendersAccountNumber ;コピーする親アカウントの口座番号
- CopyLot :親アカウントのロットをそのままコピーする場合true
- FixedLot :固定ロットでコピー
- Slippage :最大許容スリッページ
- CopyInterval :コピーを監視する時間間隔(ミリ秒)
- FillingMode:FOKかIOC(上手く動作しなかったら変えてください)
受け手のMT5はいくつでも同時にコピー可能なので、同時に2つのMT5にコピーすることも可能です。
仕様
- 予約注文は約定したタイミングでコピーされます。
- コピー元(親)でポジションを持っている状態で、コピー先(子)でそのポジションを手動決済した場合は該当のポジションは再度建玉しません。
- コピー中はコピー先(子)のアカウントで裁量トレードできません。(汎用版は裁量OKです)
[MT4→MT5]コピートレードツール(EA)ダウンロード
[MT4→MT5]コピートレードツール(EA)(.ex4)試用版ダウンロード
[MT4→MT5]コピートレードツール(EA)(.ex5)試用版ダウンロード
[MT4->MT5]コピートレードツール(EA)(.ex4)パスコード版ダウンロード
[MT4->MT5]コピートレードツール(EA)(.ex5)パスコード版ダウンロード
[MT5→MT5]コピートレードツール(.ex5)
MT5からMT5にトレードをコピーするツールです。
これはMT5(IFC)からMT5(FXOpen)にトレードをコピーしている様子です。
パラメータ設定
- SenderOrReceiver:送り側か受け側か
- SendersAccountNumber:送り手の口座番号(受け手の場合入力)
- CopyLot:送り手のロットをそのままコピーする場合はtrue(受け手の場合入力)
- FixedLot :送り手のロットを無視して、固定ロットでトレードする場合はロットを入力(受け手の場合入力)
- TaskCycle:演算間隔の時間(ミリ秒)小さくするほど早くなります。
- Slippage:最大許容スリッページ
- FillingMode:FOKかIOC(動かなかったら変更してください)(受け手の場合)
受け手のMT5はいくつでも同時にコピー可能なので、同時にMT5を3つ起動させて、2つのMT5にコピーすることも可能です。
EAダウンロード
[MT5->MT5]コピートレードツール(EA)試用版ダウンロード
[MT5->MT5]コピートレードツール(EA)パスコード版ダウンロード
仕様
- 予約注文は約定したタイミングでコピーされます。
- コピー元(親)でポジションを持っている状態で、コピー先(子)でそのポジションを手動決済した場合は該当のポジションは再度建玉しません。
- コピー中はコピー先(子)のアカウントで裁量トレードできません。(汎用版は裁量OKです)
[MT4→MT4]コピートレードツール(.ex4)
MT4からMT4へのコピートレードツールに関しては開発の仕方から解説しているので、ダウンロードも含めてそちらのページを参照してください。
[MT4からMT4へ]コピートレードツールを作る,使い方,ダウンロード
[MT4⇔MT5] 一体型コピートレードツール(.ex4 .ex5)
これまで、MT4->MT4, MT4->MT5, MT5->MT4, MT5>MT5のコピートレードツールを全4種類作ってきたわけですが、「管理も更新もめんどくさいよ」と作った本人が思っていたわけです。
という訳で、MT4、MT5それぞれ一つずつのEAで、かつ、パラメータでコピー元(親)、コピー先(子)を変更できるEAを開発しました。
gif画像はこれまでのものですが、基本的な操作は一緒です。
EAのパラメータ(MT4,MT5共通)
- SenderOrReceiver:コピー元(親)の場合はSender, コピー先(子)の場合はReceiver
- SendersAccountNumber :親のアカウント番号(コピー先のとき)
- CopiedLot:親のロットごとコピーする場合にtrue;(コピー先のとき)
- FixedLotForReceiver :親のロットとは関係なく固定ロットの場合は入力;(コピー先のとき)
- ReverseMode:リバースモード。親と逆向きにエントリーする場合にtrue;(コピー先のとき)
- MaxSlippage:最大許容スリッページ;(コピー先のとき)
- CopyInterval:コピー監視時間間隔(ミリ秒);
- FillingMode:(MT5だけ)FOKかIOC動かなかったら変更してください。(コピー先のとき)
これ一つあれば、コピー元、コピー先がMT4でもMT5でもコピーできます。MT5用の良いEAもMT4に移植したり、MT4の良いEAをMT5にコピーできるようになります。
ただし、MT5がネッティングアカウントの場合は、親にしないようにするか、ナンピン・部分決済を避けて使う必要があります。
仕様
- 予約注文は約定した瞬間にコピーされます。
- コピー元(親)でポジションを持っている状態で、コピー先(子)でそのポジションを手動決済した場合は該当のポジションは再度建玉しません。
- コピー中はコピー先(子)のアカウントでも裁量トレードできます。
[MT4⇔MT5] 一体型コピートレードツールEAのダウンロード
CrossPlatformLocalTradeCopier(MT5MT5_MT5MT4_MT4MT5) 試用版.ex4ダウンロード
CrossPlatformLocalTradeCopier(MT5MT5_MT5MT4_MT4MT5) 試用版.ex5ダウンロード
CrossPlatformLocalTradeCopier(MT4MT4_MT4MT5_MT5MT4)パスコード版.ex4ダウンロード
CrossPlatformLocalTradeCopier(MT5MT5_MT5MT4_MT4MT5)パスコード版.ex5ダウンロード
最新版 MT4⇔MT5 コピートレードツール (完全上位互換版)
基本的にこれまでのコピートレードツールは約定のタイミングでオーダーが反映されるという仕様でした。しかし、「指値、逆指値注文も反映するようにしてほしい」、「親口座の資金とロットの比率から受信口座のロットを自動算出してほしい」などの要望があったので、その二つを主軸に新たに実装しました。
また、全体的にプログラミングを加筆・修正することで、より高速で安定したオーダーの反映がされるようになっています。(この点においては、我ながらかなり向上したと思います。MT4/MT5のウィンドウを切り替えてコピーされたか確認するころにはコピーが反映されています。)
MT5/MQL5の悪い癖も以前よりも把握した状態でコーディングを行ったので、以前よりもフェイルセイフ(安全装置)も充実しています。
最新版コピートレードツール使い方
コピーするMT4/MT5とコピーされるMT4/MT5にそれぞれ一つずつチャートを用意し、EAを一つずつセットします。ひとつのチャートにセットすれば、そのほかの通貨ペアも自動的にチェック/トレードされます。
時間枠は1分足~日足どれでも構いません。ただし、チャートはFX,仮想通貨など6文字か6文字+αで構成されるものである必要があります。(良い例:USDJPY, USDJPYm, USDJPY., BTCUSD, BTCUSD_。ダメな例:SPXm, JP225, gold)
外部ソフト、DLL、追加ライブラリなどは一切必要ありません。EA単体で動作します。
パラメータ設定
- SenderOrReceiver:トレードを送信する側(親、配信元、配信口座)の場合はSender, トレードを受信する側(子、配信先、受信口座)の場合はReceiver
- SendersAccountNumber_whenReceiver:受信口座の場合のみ。配信口座の口座番号をここに半角で入力。
- AutoLotOrFixedLot_whenReceiver:受信口座の場合のみ。ロットを固定にするか配信口座のロット比率にするか選択
- FixedLot_whenReceiver:受信口座の場合のみ。固定ロットの場合に固定ロットをここに入力。
- CalcInterval_in_milisec:コピーを監視する時間間隔。100=100ミリ秒=0.1秒ごとにチェック。
- FillingMode:MT5、かつ、受信口座の場合のみ。MT5のオーダーのフィリングモード。
- CheckingHistoryDays:MT5、かつ、受信口座の場合のみ。オーダーの重複をさけるための履歴をチェックする履歴の日数。
2020版コピートレードツールダウンロード
LocalTradeCopier(MT4MT5CrossPlatformVer)4.0パスコード版.ex4ダウンロード
LocalTradeCopier(MT4MT5CrossPlatformVer)4.0パスコード版.ex5ダウンロード
現在、EAを持て余したプログラマによる EA無料使い放題企画をしています。EAのパスコードは企画参加者に配布しています。詳しくはこちら
仕様
- MT4->MT4, MT4->MT5, MT5->MT4, MT5->MT5のコピーが可能です。
- ティック到達に依存しないので、ティックが少ないZARJPYでもティックが多いEURUSDでも同じ速度でコピーします。
- M1チャートにセットしてもD1チャートにセットしても同じ速度でコピーします。
- 成行注文同様に、予約注文(指値注文、逆指値注文)、決済予約注文(指値注文、逆指値注文)も反映されます。
- 受信口座、配信口座とも、ZARJPYmのように通貨ペア名に添え字がついている場合でも、ついていない場合でも問題ありません。
- ライブ口座、デモ口座どちらでも稼働します。
- 受信口座のストップレベルが広く、ストップレベル未満の予約注文をコピーしようとすると(当たり前ですが)エラーになります。
- MT4ではストップリミット注文が実装されていない関係上、MT5を配信口座に設定してストップリミット注文を行った場合は反映されません。
- 業者によってシンボル名が著しく異なる銘柄(日経225や商品先物)は反映されません。
- 受信口座がAutoLotを選択して、計算されたロットが最小ロット未満の場合は最小ロットに修正されます。
- 自動ロット計算は、配信口座の資産(円換算):配信口座のロット=受信口座の資産(円換算):受信口座のロット になるように計算されます。(レバレッジは関係ありません。)
- 対応口座通貨は、JPY, jpy, USD, usd, EUR, eur, BTC, btc, BIT, bitです。それ以外の口座通貨ではAutoLotが正常に機能しない可能性があります。
- MT5はヘッジアカウントをご利用ください。
- コピーするには配信MT4/MT5と受信MT4/MT5が同じコンピュータ上(同じ起動OS上)にある必要があります。
WEBを経由するコピートレードツール(MT4⇔MT5)
サーバータイプのMT4MT5互換コピートレードツール(EA)
MT5のアカウントタイプに関する注意事項
アカウントタイプ
MT5には現在ネッティングアカウントとヘッジアカウントが存在します。オーダー毎にポジションを分けて管理するのがヘッジアカウントで、合体させるのがネッティングアカウントです。
この二つは同じMT5でも性質がまったくことなるので、ごっちゃにするとおかしなことになります。
ただし、2020年移行、強制ネッティングタイプのFX会社はFXPRO以外では見たことがないので、口座タイプを選択できる場合はヘッジタイプを選択しておけば大丈夫です。選択肢がない場合もまずヘッジタイプなので、それも大丈夫です。
パターン1:親:ヘッジタイプ 子:ヘッジタイプ
MT4と同じ。 何の問題もなし
パターン2:親:ネットタイプ 子:ネットタイプ
追加建玉、部分決済は反映されない。これをコピーさせるにはディールの処理が必要。(不可能ではないので、需要があれば実装するかも)
パターン3:親:ヘッジタイプ 子:ネットタイプ
通常オーダーの場合は問題なし。
ただし、親が追加ポジションを取った場合は、親の最後のチケット番号で子のマジックナンバーが上書きされるので、
親が最後に取ったポジションを決済したときに子のポジションが一気に決済される。
パターン4:親:ネットタイプ 子:ヘッジタイプ
追加建玉、部分決済は反映されない
ややこしいですが、要するに、
- ナンピンなどをしないのなら気にする必要なし。
- ナンピンをするのならヘッジアカウントタイプ同士で。
ということになります。
チャートの左上にどちらの口座タイプか表示するようにしたので、そちらも確認してください。
MT5のオーダーフィリングモード
MT5にはフィリングモードという約定方式があります。FOKとIOCとRETURNがあります。それぞれ対応しているフィリングモードが異なるので、FX会社が対応しているフィリングモードを選ぶ必要があります。
具体的には、XMはFOKに対応していないのでIOCにしなければなりません。
FOK : 注文数量を全部すぐに約定させる。ダメな場合、全部リクオートする
IOC:注文数量が部分的に約定できる場合は、部分的に約定させる
注:ネッティングのMT5では決済という概念がない
MT5では決済という概念が口座種別によっては存在しない場合があります。具体的に言うと、反対ポジションのオーダーをする=決済をするという処理になります。(ネッティングタイプの口座の場合)
これがコピートレードにどのような影響があるかというと、MT5で新規のオーダーが送信された場合に、それが新規のポジションなのか決済処理なのかを判別することが簡単にはできない、ということになります。
このことが次に繋がります。
注:MT5(ネッティング)ではロットを追加した場合、チケット番号が出ない
MT4では同じ通貨ペアに対して同じ方向にオーダーを送信すると、別途新しいチケット番号が発行されます。コピートレードではその新規のチケット番号をもとにオーダーを識別管理することが可能でした。
しかし、MT5の場合、チケット番号がオーダー処理ベースではなく、ポジションベースのため、ここでMT4と照らし合わせたとき、不都合が生じます。(ヘッジアカウントタイプは別)
1つ、2つ、オーダーを出して、それを決済するような”普通の”トレードロジックの場合、問題はありません。ピラミッティング、部分決済の場合は新しいオーダーはコピーされません。
- PREV
- AWSで無料でWindows VPSを使う方法
- NEXT
- 株価指数両建て裁定取引のやり方と検証
関連記事
-
[MT4からMT4]コピートレードシステムの開発と使い方[無料ダウンロード]
コピートレードツールの特徴 MT4で自動売買ソフトを稼働させるトレーダーには、ときたまトレードを別
-
サーバータイプのMT4MT5互換コピートレードツール(EA)
この記事ではWEBサーバーを経由するMT4/MT5のコピートレードシステムの作り方について解説します
コメント
コピーツールに関してですが、実際の使用にあたって、やはりコピーするLotの比率を変えられると良いかと思います。
し運用する口座によって、資金が違ったりしますので。
MT4⇨MT4のコピーツールを使用させていただきましたが、非常にスムーズに作動しますね。
Lot比率だけ対応できるようであれば、すぐ実用できそうなので、ご対応いただけると嬉しいです!
コメント失礼致します。
ぜひ、XMのGOLDを、他の取引所でいうXAUUSDに対応できるようにしてほしいです。
6文字対応のみなら、まずGOLDをGOLDENとかに変換するとかで対応できませんでしょうか?
最高のコピーツールなので対応銘柄も最強になるのを切望いたします!
コメント失礼します。
こちらのツールは、コピー元がUSDJPYでコピー先はUSDJPY.の場合でも動作しますでしょうか。
「.」や「#」が自動認識されると嬉しいです。
USDJPY.でもUSDJPY_でもUSDJPYmでもusdjpyでもUsdJpyでもUSDJPYでも6文字であれば自動的に補正します。
返信ありがとうございます!
素晴らしいです、最高です!
早速、試してみます。
すばらしいEAをありがとうございます。
最新版 MT4⇔MT5 コピートレードツール (完全上位互換版)についてご質問です。
・一つの親に対して複数の子を設定できますか?
・その場合、複数の子のlotは個別に設定できますでしょうか?
・また、複数の子が同じFX会社で作った違う口座の場合でも、複数の子にEAを設定できるのでしょうか?
お手数ですが、よろしくお願いいたします。
同じPC,VPS上で稼働させるのであれば3つとも可能です
初めまして。
コピートレードツールの試用版を利用させて頂いたところ、とても使い勝手がよく
継続して利用したいと思ったのですが、MT4版とMT5版のどちらとも利用する為には
『EA無料使い放題企画』の『MT4対応FX業者』『MT5対応FX業者』のどちらの口座を
開設すれば良いでしょうか?
因みにこれらのEAは、ご紹介にて作成した口座でしか利用出来ない仕様でしょうか?
お忙しい所恐れ入りますが、お返事お待ちしております。
はじめまして。
MT5上でMT5専用のEA(多通貨)からMT4に「一体型コピートレードツール」を利用してコピートレードを行っています。とにかく素晴らしいですね!
そこで、コピー元のEAが含み損を抱えてる時間帯も利益を出そうと思い「ReverseMode」を試みていますが、コピー元が対象通貨を決済(利確)するとコピー先の通貨も決済(損切)されるため、コピー先ではその都度、裁量決済しています。
「ReverseMode」選択時では、コピー元の決済を引き継がない、さらには、コピー先で独自の決済機能(T/P,S/L,トレール等)の追加をご検討していただけないでしょうか?
よろしくお願いします。
初めまして。
最新版 MT4⇔MT5 コピートレードツール (完全上位互換版)
のソースコード提供お願いしたいです。
サポートなしでもいいならEAのソースコードの提供OKです。
↑
このような記載があったので。もちろんサポートは必要ありません。
自分でコードを分析したいと思っています。
初めまして。
最新版 MT4⇔MT5 コピートレードツール (完全上位互換版)
利用させてもらっていますが、こちらコピー先口座でEAを使用可能にすることは
難しいのでしょうか。
現在の仕様ですとEAがポジション持った直後に決済されます。
コピー先のポジション管理はコピーツールのマジックナンバーですれば
EA同士で干渉することもない気がしていますが。
素人考えですので見当違いでしたら申し訳ありません。
最後のプログラミングからかなり時間が経ってるので記憶違いかもしれませんが、コピー先でも別途EAは動かせたと思います。
おそらく稼働させているもう一つのEAの挙動で勝手に決済されている状態だと思いますが、
もしそうでないなら何らかのバグが生じている可能性が高いので、もうちょっと詳しく状況を聞かせてもらえますか?
初めまして。
閲覧専用アカウントでログインしたMT5からコピーすることは可能でしょうか?
よろしくお願いいたします。
コピーツールを使用したいのですが
現在MT4がデモ口座で通貨ペア名がUSDJPY
MT5側が本口座で、USDJPYpという名前なのですが、
通貨ペア名の違いを判断させるパラメーターがないのですが、
同じ通貨名でないと上手く動かないでしょうか?
通貨ペア名の後ろについている文字は自動的に修正されるのでパラメータ入力の必要はありませんよ