基礎から学ぶシステムトレード
シストレブログ人気ランキング  

シストレ徹底攻略シストレマスターへの道ワールド・トレーディング・エッジ基礎から学ぶシステムトレードシストレニュースシストレツールシストレナビTOPへ

 

2012年01月24日(火)

コピートレードのプログラミング(2) [MQL4]



前回は、コピートレードの簡単な仕組みとして、ポジション情報をファイルを経由して渡すという方法を紹介しました。

通常のWindowsのプログラムでは、ファイルを読み書きするフォルダの場所は、割と自由に変えられるのですが、MT4、MT5の場合、読み書きができるフォルダが決まっているという制約がありました。

その問題を解決する方法はいくつかあります。

1.Windows APIを利用する方法
EAで読み書きできるフォルダが決まっているのは、MQL4、MQL5の組込み関数を使う場合です。組込み関数ではなく、WindowsのAPIを直接使うことで、読み書きするファイルの位置を同じフォルダに設定することができます。以下のサイトにその方法が説明されています。

 File Operations via WinAPI

ただ、見てもらうとわかるように、結構複雑です。手軽にプログラムするにはちょっと敷居が高いかもしれません。

2.MT4のインストール先を変える方法
コピー元のMT4では、インストールしたフォルダの下のexperts¥files の下であればファイルの読み書きができます。そこで、コピー先のMT4をコピー元のMT4のexperts¥filesの下にインストールするという方法もあります。experts¥filesの下であれば、サブフォルダの階層が深くてもファイルの読み書きは可能です。

この方法を説明してあるのは以下のサイトです。

 How to Copy Trading from MetaTrader 5 to MetaTrader 4

このサイトは、本記事の内容と同じコピートレードについての解説です。手っ取り早くやりたい人はこちらを参考にしてください。この方法では、普通にMQL4、MQL5でプログラムできます。一つ難点なのは、サブフォルダの階層が深くなるので、ファイルの位置を正確に記述しなくてはいけないということでしょう。

3.シンボリックリンクを利用する方法
もう一つの方法は、あるファイルを別の場所からでも見えるようにリンクを張るという方法です。Windowsのバージョンによってやり方が変わるので、詳しくは以下のサイトをご参照ください。

 ジャンクション機能を使ってフォルダをマウントする

以下に、Windows Vista、Windows 7で使えるシンボリックリンクという方法を紹介します。

これは、MT4のインストール先を変えずに、MQL4のプログラムだけでコピートレードが実現できます。ただ、最初の一回だけですが、コマンドプロンプトからコマンドを実行しないといけません。

ここでは、簡単のため、コピー元のMT4が「C:¥MT41」、コピー先のMT4が「C:¥MT42」にインストールされているものとします。

例えば、MT41のEAで作成されたファイルが「position.txt」とすると、そのファイルの場所をフルパスで表すと、C:¥MT41¥experts¥files¥position.txtとなります。

このファイルをMT42のデータフォルダからも見えるようにするには、まず、コマンドプロンプトを管理者権限で立ち上げます。(コマンドプロンプトはWindowsのスタートメニューのアクセサリのグループに入っています。そこで右クリックするとサブメニューが現れるので、ここで「管理者として実行」を押します)

そして、下図のように「cd」というコマンドで、MT42のデータフォルダに移動します。

画像(450x327)・拡大画像(677x492)

次に「mklink」というコマンドでシンボリックリンクを張ります。mklink はリンク名とそのリンクが参照するフルパスのファイル名という二つの引数を取ります。

ここでは、C:¥MT41¥experts¥files¥position.txt というファイルをposition.txt というリンク名で参照できるようにするために、下図のようにコマンドを実行します。

画像(450x327)・拡大画像(677x492)

シンボリックリンクが作成されました」と表示されればOKです。

これで、MT42のデータフォルダにposition.txt というリンクが作成されます。このリンクはファイルのように扱うことができるので、MT42のデータとしてEAから読み書きすることができるのです。

これで、同じposition.txt というファイルがMT41からもMT42からも読み書きできるようになりました。

次回は、どういうデータ形式でポジション情報を渡せばよいかについて考えてみます。


>>“基礎から学ぶシステムトレード”全記事バックナンバーはこちらから




Posted at 17時04分


ページのトップへ ページのトップへ

Sponsor AD

2012/1

1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30 31        

プロフィール

豊嶋久道

2003年よりFX取引を始め、システムトレードの道へ。最近ではFXオプション取引も含めたトレーディングシステムの研究を行っている。システムトレードを基礎から正しく理解するための情報を発信する予定。

PHOTO

ランダムウォークとランダムトレード(4)

ランダムウォークとランダムトレード(4)

カテゴリーリスト

最近の記事

検索


当サイトコメントについて

当コメントは情報提供のみを目的として作成されたものであり、投資に関してはご自身でご判断くださいますようお願い致します。また、当資料は著作物であり著作権法により保護されております。無断で全文または一部を転載することはできません。

RSS1.0

[Login]


powered by a-blog
Copyright (C) 2008 PhiConcept,Inc. All rights reserved.