MQL4からMQL5への移植(その1)
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更新
でわでわ^^
タグ
2009年10月21日|コメント (8)|トラックバック (0)
カテゴリー:MQL5
トラックバック(0)
http://www.dr-ea.com/base/mt-tb.cgi/92
コメント (8)
こんにちは。
いつもこっそり拝見している fai と申します。
これは素晴らしいですね。近いうちにブログで紹介させてください。
個人的には、
MQL4toMQL5_TechnicalIndicators.mqh
の中でも iMA4 と定義せずに iMA と同じ名前で関数のオーバーロードをして、
#include の書き方は、
#include <...>
とされる方が楽かなぁ..と思います。
この辺りは単に好みの問題でもありますが、参考まで。
投稿者:fai |2009年10月22日 15:27
…っと思ったのですが、一部の関数はオーバーロードできないんですね。。シツレイしました。
投稿者:fai |2009年10月22日 15:56
faiさん
ご指摘ありがとうございます^^
まだまだ手探りの状態が続いておりますので、
今後もよろしくおねがいいたしますm(_ _)m
慶次
投稿者:慶次 |2009年10月22日 17:53
初めまして、faiさんのブログから来ました
Lと申します。
これまた素晴らしいツールですね!
投稿者:L |2009年10月22日 19:39
上記、本当は
#include <MQL4toMQL5/MQL4toMQL5_TechnicalIndicators.mqh>
と書きたかった。笑
投稿者:ふぁい |2009年10月22日 22:29
>Lさん
こんにちわ^^
公式フォーラムで公開されているmqhファイルのように、
mq4コードに手を加えなくてもいいものではございませんし、
ふぁいさんのおっしゃるとおり、処理速度が気になります^^;
参考程度にみてください^^;
>ふぁいさん
コメント修正させていただきました^^;
公式フォーラムのwackena氏のように、
#include <Indicators\IndicatorsCollection.mqh>
として素直に手順を踏んだほうが後々よいですね^^
投稿者:慶次 |2009年10月23日 09:08
慶次さんお久しぶりです。
さすが!素晴らしいツールですね、
公式フォーラムでもお見かけして嬉しいです。
これからも世界に先駆けて情報発信していって下さい。
投稿者:j-trade |2009年10月23日 09:59
j-tradeさん
こんにちわ!
MQL5への移植が、少しでも楽になればいいですよね^^
フォーラムでは、英語が...ーー;
です^^;
投稿者:慶次 |2009年10月23日 14:02
コメントを投稿する
Captchaの認証で入力ミスがありますと、コメントが消えてしまいますのでご注意ください。
コメント欄に(X)HTMLタグやMTタグを記述される場合、「<」は「<」、「>」は「>」と入力してください。



