Includer(いんくるーだー)とは?
Includer(以下、本商品)は私がMT4かつMT5で稼働するEA(自称MT4.5)を開発する時に実際に個人的に使っているMQL4→MQL5コンバーターになります。
私自身、様々なコンバーターを試用しましたが、実際にMT5で稼働する納得のいくコンバーターに出会うことができず、MQL5コンバーターに関する新しい情報もなかったため自作するという経緯に至りました。当時はMQL5を理解していませんでしたので、自作できるかできないかはっきり言って不明でしたが、こうして自信もって公開することができてとても嬉しく思っております。MT4を可能な限りMT5に、MT5を可能な限りMT4に似せることで変換を実現させています。
作成開始は2020年夏頃からだったと記憶しています。これまで実験的に複数の開発者様にご協力頂きましたことをこの場をかりて感謝申し上げます。実は何度か出品を試み、EAつくーるをMT5で動かせるなら需要が高いのではないかと担当者様とお話をしていました。しかしその当時EAつくーるはWeb版、アプリ版ともに同様のコーディング(strictではない方式)であり、変換のために変更する箇所が多く初級者向きではないなと思い挫折してきました。現在Web版の更新によりstrict方式でのコーディングとなり初級者でもMQL5への変換が容易になりましたのでリリースすることに致しました。
実験段階では、変換できなかったりスムーズに変換できたり開発者様によって変換結果は様々でした。原因としまして、MQLの書き方が開発者様によって千差万別なためです。以上のことから本商品を使用することでどんなEAやツールも変換できるとは限りませんのでご留意ください。まずはゴゴジャン様のEAつくーるWeb版で作成した簡単なEAの変換をスムーズに行えるということでご理解ください。
→EAつくーるMT5に対応によってIncluderの存在意義が薄れてしまいましたがMQL4をMQL5でどのように記述するかを勉強用できる教材として活用いただけます!
EAつくーるWeb版で変換可能なロジックとしましては、RSIやMAなどのテクニカルインジケーター、またナンピン機能。複利機能、口座制限などの各種制限機能こちらはスムーズな変換可能であることを確認致しました。また少し手を加えれば機能したロジックとしてはマーチン機能があります。確認できた項目につきましては随時更新してまいります。EAつくーるWeb版で作成したEAをMT5でも使いたいという方に最適です。
提供方法としましては、MQL5の進化とともにバージョンアップも必要であり(実際にバージョンアップによって全然使い物にならなくなってしまったコンバーターもあり、、、)、継続的に更新して情報提供していくこととなりますので、売り切りではなく2022年版とさせていただきます。使用方法についての質問やエラー報告の対応もおそらく多数いただくことになると想定しています。
他製品との大きな違い
①特別なソフトを使用していない
MT4、5の「Include」機能を使用し、特別なアプリ、サイトを経由しません。
MT5のIncludeフォルダに本商品を解凍するだけでインストール完了です。
②同じコードでMT4、MT5が動くMT4.5になる
mq4でコンパイルするとMT4で稼働、mq5でコンパイルするとMT5で稼働します。
③MQL5の教材として活用可能
MQL4をどのように書くとMQL5になるのかが簡単にわかります。
MT4.5にすることのメリット
①MT4用EA、MT5用EAの同時開発が可能
同じコードで同時開発することで時短かつ不具合修正も容易。出品も別のEA扱いになり2度おいしくなります。
②MT5のデバック機能が利用可能
MT4ではストラテジーテスター実行中のデバックはログ出力がメインとなりますが、MT5ではブレークポイントを置いた任意の場所でテスターを停止することができたり、配列を一括参照できるなど、より高機能のデバックが可能です。原因不明エラーに数時間~数日悩まされることが少なくなります。
③高速ストラテジーテスター
MT5のストラテジーテスターはMT4より早く(1分OHCL分析で1年間が数秒で完了)、MT4.5で書くことでオプティマイズ(最適化)などが楽になります。またMT4のテスター結果を外部ソフトで解析することなく詳細な取引結果を得ることが可能です。
④多数の時間足
MT5では2分足、2時間足など多数の時間足があるため詳細な時間足設定が可能です。
インストール方法
①本商品をDL後、DLしたファイル「includer.mqh」を「MQL5」→「include」のフォルダ下にコピペします。
※コンパイルするメタエディタが属するincludeフォルダ内にお願いします。
変換原理・方法
①MQL言語の「条件付きコンパイル」を利用しています。
詳しくはリファレンスのMQL5 リファレンス / 言語基礎 / プリプロセッサ / 条件付きコンパイル( #ifdef、#ifndef、#else、#endif ) を参照してください。
②ファイルの準備
・EAつくーるWeb版(または自作EA)で作成したmq4ファイルをDLして開きます。
・MT5のメタエディタで新規EA(mq5)を作成します。
・mq4のコードをmq5にコピペします。
③ソースコード冒頭に以下を記載
#ifdef __MQL5__
#include
⑥コンパイルをしてエラーが無いことを確認します。
※アイコンや他のライブラリーを使用している場合はMT5のフォルダに移行してください。
コーディングの注意点
注意点や確認中のコードや変換できないコードはこちらになります。
①イベント関数はinit(),start(),deinit()が使用不可です。その代わりにOnInit(),OnStart(),OnDeinit()、またOnCalculate(),OnTick()をご使用ください。詳しくはMQL公式を確認してください
②待機注文系全般の使用不可(MQL4のOrdersTotal()がMQL5のOrdersTotal()と完全一致しているためPositionsTotal()との区別不可)
③MQL4独自の定義済み変数は使用しないことを推奨致します。「Close[],Open[],High[],Low[],Bars」を使用しない場合OnTick2()を使用する必要はございません。これらの変数は関数で代替え可能です。EAつくーるWeb版では定義済み配列が使用されているためOnTick2()を使用しておりますが、これらの定義済み変数を関数でコーティングし、OnTick2()を使用しないことで速度が本来のMT5の速度に近づき早くなります。
④列挙型変数は数字で記載せずに列挙型でコーディングしてください。例)1時間→PERIOD_H1、適応価格→PRICE_CLOSEなど。なおEAつくーるWeb版では一部数字で入力されているため以下の関数は数字入力を列挙型に変換しています。iBarShift,iClose,iOpen,iHigh,iLow
⑤ArrayBsearch()をMQL4の方法で使用するときは引数を省略しないで全部記入。MQL4とMQL5では検索方法が違うため。
⑥MQL4の古い記述「Obsolete functions」で名称変更になっている部分は使用しない。
⑦OnArray系のインジケーター変換作成中
作成したEAのお客様への提供&出品方法
コンパイル後の提供方法についてです。
①Includer.mqhの著作権は当方にございますため2次配布は禁止させていただきます。
②IncludeはLibrariesと違いコンパイル後の実行ファイル(ex5)は本商品無しで稼働可能です。ex5ファイルのみで提供してください。
③ゴゴジャンその他サイトへの出品は、ソースコードが必要なサイトに出品する際にのみIncluder添付を許可致します。
④Includerで変換された場合でも特別なロゴ等はつきません。
⑤変換されたファイルの動作につきましては予期なく起こるエラー等もございますので保証致しかねます。ご自身にてテスターなどでご確認のほどよろしくお願いします。
アフターサービス
①掲示板における質疑応答。DMする際も一度掲示板にお問い合わせください(購入者確認のため)。「DMしました」程度で大丈夫です。
②作成中EAのコンパイルエラーについての質問。必要であればZOOM等の対応も可能です。(1回無料)
③可能な限りのコンパイルエラーやMQL言語更新についてのアップデート
④出品の際の告知のお手伝い。販促のため。告知が必要な場合はご連絡ください。
今後の予定
①随時EAつくーるWeb版のオプションのコード変換についての情報提供(動画)
説明動画
※その他ご不明な点は掲示板にてお願いいたします。
バージョン情報
2021/11/15 初版。
2021/11/15 購入方法追加。サブスクのみから年、永久バージョン追加。
2021/12/15 購入方法を年単位のみに変更。
2022/01/10 Includer更新。更新内容はファイル下部に記載しております。
2022/03/01 Includer更新。更新内容はファイル下部に記載しております。
2022/07/05 Includer更新。更新内容はファイル下部に記載しております。
GogoJungleを初めてご利用する方へ商品のご利用まではかんたん3ステップ!
GogoJungleでは、会員様向けに、あなたの投資生活を豊かにするサービスをご用意しております。また、商品のご購入は通常会員様に限られさせていただいております。今すぐ会員登録をして、Gogojungleを活用してみませんか!