ブログトップ 記事一覧 ログイン 無料ブログ開設

とあるMetaTraderの備忘秘録 RSSフィード

忙しいです。ネタもないし・・・

2010-09-22

MT5対応のEA作成ツール

私がブログで紹介するブローカー、商品、その他のサービスの大半は私とは一切無関係であり、使用経験の無いモノもありますし、利用や購入を推奨する意図は全くありません。場合によっては、個人的には「非推奨」のものを敢えて「素晴らしいですね」と書いていることもありますので、よく注意してお読みくださいっっ。

(毎日、4000前後のアクセスがあるので、ただのネタ記事を鵜呑みにされる人が居そうでホント怖い・・・^^;




さて、個人的には本格的な対応を考えていないMQL5 ですが、巷にはちらほらとMQL5 対応のEA作成ツールが出てきたようです。

Etasoft Inc.のForex EA Generator($149)

Genetic Graphics Inc. のEA Tree($298 $74.50)

MolanisのExpert Advisor Visual Wizard($159.99 $79.99)

iExpertAdvisorのVisual Trader Studioは、Coming soon 状態。

私が知っている範囲ではこのくらいあります。他にあればコメント頂けると幸いです。Molanis は、CorgiさんがMT4版を買っていたのを記憶していますが、そのBuilder とは違うタイプかもしれません。(名前がWizardなので..)

一般のトレーダーにとっては、MQL5 対応はATC終了後バグフィックスが終息して、各ブローカーでのMT5対応が進み、MT4よりMT5でトレードした方が条件的に有利であると判明した時点で考えたら十分だと思います。

ただ、EA Tree のセール期間が 9/22 までらしいので(。。。それは、今日です。)、将来この手のツールの購入を考えている人は参考に見てみてください。




知る人ぞ知るSBT氏のExpertAdvisorBuilderは、対応予定が不明です。SBT氏自身のフォーラムでの最終書き込みが今年の5月なので、脈はあるかな..?:-) 海外には、Forex Strategy Builder(FSB)のように独立したツールでストラテジを作成し、トレードだけMT4に繋げるタイプもありました。こういう仕組みだと、MT5移行も簡単でしょうね。。使いたいとは思わないけど。。

2010-08-01

MetaTrader5の64bit版が動かない・・

私の環境だけかもしれませんが…

↓MT5 のインストーラは 64bitOS 上でインストールを行うと、64bit版の MT5 をダウンロードしてくれます。

f:id:fai_fx:20100801002022p:image

↓インストールされるファイルも 64 のついたファイルになります。

f:id:fai_fx:20100801002020p:image

(mql564って何?…という感じなのですが。。。^^;;


肝心の terminal64.exe をダブルクリックしても反応が無く、動きません...orz

詳細は未調査なので、OS(XP 64bit 日本語版)が悪いのか、CPU(AMD Opteron)がダメなのか、他の常駐ソフトとの相性が原因なのか不明です。

仕方ないので、 今は 32bitOS に MT5 を入れて、そのフォルダをコピーすることで、32bit版MT5 を使っています。


64bit版 MT5 でも正常に使えている人がいらっしゃいましたら、コメントいただけると嬉しいです。

2010-07-31

バックテストや最適化に別のPCを使う。

yamakagasi 2010/07/30 10:36

記事中のVOMとmigrateの表のおかげで、mql5への移植ができましたmm

質問ですがremote agentの使い方がいまいちよくわかりません。

 - remote agentの見つけ方

 - セキュリティ的な不安

 - 外部ファイルの読み込み方法

設定をMQL5/Filesにいれて読み込んでてlocal agentの場合はtester/Agent-xxx/MQL5/Filesに

コピーするのですがremote agentの場合どのように読み込むのか。

お手すきの際にでも!では失礼します。


EA自作派にとって MT5 の大きな醍醐味の1つは、バックテスト最適化のマルチコア対応、マルチPC対応(分散コンピューティング)です。

最適化を、1つの PC 内の複数コアを使って並列処理させる場合は、特に難しいことは無いと思います。なので、ご質問頂いた、マルチPC対応のやり方を説明します。

Remote Agent (計算サーバ) の設定

(1) MT5をインストールします。他の PC からのフォルダコピーでも大丈夫のようです。

(2) metatester.exe を起動します。

f:id:fai_fx:20100730161015p:image

(3) パスワード欄に 適当に決めたパスワードを入力し、Install ボタンを押します。

f:id:fai_fx:20100730161014p:image

↑このPCは、8コアなので、ポート番号2000〜2007 の8ポートを使います。

Setup Manually を選ぶと、1ポートずつインストールできますが、面倒なだけでしょう..^^;


↓インストールに少し時間が掛かります。

f:id:fai_fx:20100730161013p:image

↓インストール完了後、8個の Agent が動作可能状態になります。

f:id:fai_fx:20100730161012p:image

↑それぞれの Service を右クリックして止めたり削除したりできます。

f:id:fai_fx:20100730195424p:image

↑実体は、Windows のサービスとして登録されています。


(4) ファイアウォールを設定します。

↓最初の導入時には無効状態で試すのが無難です。

f:id:fai_fx:20100730161726p:image

↓慣れている人は、通信を許可するプログラムの追加で metatester.exe を加えればOKです。

f:id:fai_fx:20100730161725p:image




コントローラ側の設定

上記で設定したRemote Agent を使用して並列処理をさせる側が、コントローラです。

(マスターとか、クライアントとか、親とか呼びますかね..

(1) Remote を右クリックして Add します。

f:id:fai_fx:20100730162423p:image

(2) Name は分かりやすい名前をつけます。Address は、Remote Agent のIPアドレスで、その後ろに動かしているポート番号を指定します。パスワードは、Remote Agent のインストール時に設定した語句を入れます。

f:id:fai_fx:20100730162422p:image

↑8コアのPCを指定する場合、8回 Add しないといけないのがちょっと面倒です。


↓準備ができればこんな感じ。

f:id:fai_fx:20100730162421p:image

通信先の Remote Agent と通信できなくても Ready になるので、実際に動かしてみないと正しく設定できているのかは分かりません。


↓適当に MACD の EA で Optimization を開始すると、ヒストリカルデータと EA が配布されて計算が始まります。

f:id:fai_fx:20100730162419p:image



↓Optimization の途中でも、Remote Agentを選んで右クリックで Edit を選び、

f:id:fai_fx:20100730162418p:image

↓Enabled のチェックをはずすと、↑そのRemote Agentがdisabledとなり除外できます。

f:id:fai_fx:20100730162417p:image

夜中はすべてのPCに計算させて、朝起きたら、作業用のPCだけ計算ネットワークから外すという使い方もできるのです。


18個動かしてみたのが下図で、少々重い最適化も18倍近く速くなるかも?と思えば、MT4のEA を最適化の為だけに MT5 に移植するというのも有りかもしれません。

f:id:fai_fx:20100730194835p:image

2010-06-17

仮想ポジション管理VOM

既にご存知の通り、MT5 ではポジションが合算されます。買い1ロット保有中に、売り1ロットを注文すると、相殺されてポジションが消えます。

個人的には、この処理は合理的だと思うのですが、MT4の自作EAをそのまま移植して運用しようとすると若干問題があります。あるEAが、EURUSD を買い持ちしている時に、別のEAがEURSUDを売ってしまったら…どうなるか分かりますよね。^^;


この問題への1つの回避策として考案されているのが、仮想ポジション管理 VOM (Virtual Order Manager) です。MT5のシステムとしてはポジションが消えていても、EA側からは仮想的なポジションを保有しているとカウントさせるようなエミュレーションライブラリです。最新版は、ここから入手できます。同梱のヘルプファイルを見れば使い方も分かると思います。(本家記事からも入手できますが、少し古いようです。)


実際にVOMを試したのが下図で、左のEAは青ラインの買い、右のEAは青ラインの売りポジションを持ったつもり..になっています。黄色が仮想TP,オレンジが仮想SLです。

f:id:fai_fx:20100616202014p:image

↑コメント部に保有中のポジションが出ていますが、最下部のウィンドウ内ではポジションがありません。

コメント部から、仮想的な売りポジションに利益が出ていることが分かります。


VOMの導入方法は、同梱のサンプルコードをみれば分かりますが、

1. #include "..\VirtualOrderManager.mqh" を書く。

2. OnInit 内で、VOM.Initialise(MagicNumber); を呼ぶ。

3. OnTick 内の冒頭で、VOM.OnTick();を呼ぶ。

だけで完了です。


実際の使い方は、MQL4の注文関係の関数の先頭に VOM. を追加するだけで、ほぼMQL4と同じ"感覚"で使えます。

f:id:fai_fx:20100616232139p:image

↑敢えてMQL4的に書いていますが、VOMの他の関数を使うともっと簡単に書けます。

VOMでは、EAの名前別にポジションを分別管理するので、MagicNumber だけはMT4と異なる扱いなので要注意です。

VOM.OrderSend には、MagicNumber が無く、注文タイプが VIRTUAL_ORDER_TYPE_BUY に変わっています。



VOMでどんな関数が使えるのか?は、ヘルプの CVirtualOrderManager のPublic Member Functions を見ると分かります。

f:id:fai_fx:20100616234018p:image

VOM自体にもデメリットや欠点があるかもしれませんが、ポジション管理に悩むぐらいなら、VOMをそのまま使ってみて、後からじっくり考えた方が良いかなと思います..。

2009-11-13

MetaTrader5 は有料化?!

11/10にMetaQuotes社のサイトがリニューアルされて、今までずっと500サーバエラーで見られなかったのですが、ようやく見られるようになりました。新たに、http://www.metatrader5.com/ も用意されており、そちらによると 2010年2月1日までベータテストを続けるようです。ちなみに、新しいフォーラムとなる予定の http://www.mql5.com/ は、まだ準備中でした。


問題は、http://www.metaquotes.net/ のトップページなのですが、3パターンが順番に表示されるようになっていて、そのMetaTrader5 の場合の画面が下図です。

f:id:fai_fx:20091112211414p:image

右下を見ると・・・


え?

Buy MetaTrader5 ?!

























…なんて、一瞬、驚いてしまったのですが、冷静に MetaTrader4 のパターンの Buy MetaTrader4 を見ると、ブローカー向けの説明であることが分かりました。MetaQuotes社は、ブローカー相手に商売しているので、「Buy MetaTrader5」と書くのは正しいのですが、、、微妙に紛らわしい気がします^^;;