MQL4toMQL5

MT5(MetaTrader5)のメタエディタをいじって気が付いたこと。

EAなどから呼び出す、テクニカルインディケータの関数(iMAなど)の使い方が
大きく違いますね^^;

MT4では、iMA(平均線のパラメータ,何本前の足か)と入力すれば、
知りたい平均線の値が呼び出せましたがMT5では、
iMA(~~)の固有のハンドル(変数)をつくって、
さらに、データを入れる配列をつくって、
そのなかにデータをコピーして、
どのデータを知りたいか選択してやっと呼び出せます^^;

作業が、4~5倍になった感じです。
(使いこなせば、処理のパフォーマンスは上がると思いますが^^;)

多くのEAをMT5に移植する場合、1つ1つのEAを
MQL5の形にするのはとても大変です。

そこで、便利なのがインクルード機能です。

#include <MQL4toMQL5_TechnicalIndicators.mqh>

といった感じにEAの頭の部分に書くと、includeフォルダにある
【MQL4toMQL5_TechnicalIndicators.mqh】を
そのEAの中に書いたことにしてくれます^^

includeフォルダのサブフォルダMQL4toMQL5の中にある場合は、

#include <MQL4toMQL5/mql4to5_timeseries_array.mqh>

です^^ 2009.10.21 内容を修正しました。

mqhファイルの保存場所はとあるMetaTraderの備忘秘録さんが、説明されております^^

今回は、MQL4でiMA(~)と書いていたものを、iMA4(~)と書き換えるだけで、
大丈夫なようにした、mqhファイルを作りました。
サンプルのEA(ただ、値を表示するだけのモノ)もあります。
よかったらダウンロードしてくださいね^^

リファレンスと、MetaEditorの書式が違ったりとまだまだ未完成な部分がたくさんあるようですが、
いまのうちから、移植準備をしておきましょうね^^;

ダウンロードはこちらから→MQL4toMQL5.zip

そのサンプルEA→mt4_tech_sample_ea.zip

2009.10.24 サンプルEA更新