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更新
Amazonで豊嶋 久道の{ProductTitle}。アマゾンならポイント還元本が多数。一度購入いただいた電子書籍は、KindleおよびFire端末、スマートフォンやタブレットなど、様々な端末でもお楽しみいただけます。
こんにちは。
いつもこっそり拝見している fai と申します。
これは素晴らしいですね。近いうちにブログで紹介させてください。
個人的には、
MQL4toMQL5_TechnicalIndicators.mqh
の中でも iMA4 と定義せずに iMA と同じ名前で関数のオーバーロードをして、
#include の書き方は、
#include <…>
とされる方が楽かなぁ..と思います。
この辺りは単に好みの問題でもありますが、参考まで。
…っと思ったのですが、一部の関数はオーバーロードできないんですね。。シツレイしました。
faiさん
ご指摘ありがとうございます^^
まだまだ手探りの状態が続いておりますので、
今後もよろしくおねがいいたしますm(_ _)m
慶次
初めまして、faiさんのブログから来ました
Lと申します。
これまた素晴らしいツールですね!
上記、本当は
#include <MQL4toMQL5/MQL4toMQL5_TechnicalIndicators.mqh>
と書きたかった。笑
>Lさん
こんにちわ^^
公式フォーラムで公開されているmqhファイルのように、
mq4コードに手を加えなくてもいいものではございませんし、
ふぁいさんのおっしゃるとおり、処理速度が気になります^^;
参考程度にみてください^^;
>ふぁいさん
コメント修正させていただきました^^;
公式フォーラムのwackena氏のように、
#include <Indicators\IndicatorsCollection.mqh>
として素直に手順を踏んだほうが後々よいですね^^
慶次さんお久しぶりです。
さすが!素晴らしいツールですね、
公式フォーラムでもお見かけして嬉しいです。
これからも世界に先駆けて情報発信していって下さい。
j-tradeさん
こんにちわ!
MQL5への移植が、少しでも楽になればいいですよね^^
フォーラムでは、英語が…ーー;
です^^;