MT5でオリジナルのインジケーターを作っています。
つい先日まで問題なかったものが謎のエラーが発生してコンパイルできません。
対処の方法を教えてください!
エラーに番号等はなく、エラーの箇所も表示されません。
「code generation error」のみ表示されます。
色々調べたところ、エラーの箇所は「ExponentialMAOnBuffer」を使用している行であるということが判明しました。(この行をコメントアウトするとエラーが消えます)
ここでエラーが起きるはずがないと思い、他の普通に使えていたオリジナルインジケーターを何も編集せずに再度コンパイルしてみたところ同じ現象になりました。
おそらくバグかな?と思うのですが、インジケーターが使えず困っているので誰か対処方法お願いします。
ちなみにMT5の再インストールは試しています。
No.1ベストアンサー
- 回答日時:
「code generation error」は、MQL5プログラムが不正なコードを含んでいるために発生するエラーです。
このエラーが発生する理由はさまざまですが、インディケーターに関する場合、通常は以下のいずれかが原因です:
1.ソースコードに文法エラーが含まれている
2.バージョンの問題により、使用している関数が互換性がない
3.インディケーターがバグを持っている
今回の場合、コメントアウトした行はExponentialMAOnBuffer関数を呼び出しており、これがコンパイルエラーを引き起こしているとのことです。
ExponentialMAOnBuffer関数自体に問題がある可能性があります。または、呼び出し方やパラメーターの指定方法に誤りがあるかもしれません。
まず、関数自体を見直して、問題がある場合は修正してください。それでもエラーが続く場合は、関数の引数や呼び出し方に問題がある可能性があるため、引数や呼び出し方法を確認してください。
それでもエラーが解決しない場合は、他のバージョンのMT5を使用することや、MQL5プログラムを再構築することを検討する必要があります。
回答ありがとうございます!
色々試してなんとか解決できました。
以下解決までの道のり↓
ExponentialMAOnBuffer関数自体はMT5側で用意している関数なのと、この関数が収められているファイル(MovingAverages.mqh)をコンパイルしてみたところ正常にコンパイル出来たのでこの関数自体は大丈夫と判断。
次に呼び出し方ですが、公式にある記述と同じなので問題無し。
念のためこの関数のみを抜き出して自分のインジケーターに移してみましたがエラーは解消できず…。引数に関してはチェックしたけど問題なし。
試しにMovingAverages.mqhを使用しているインジケーターをネット上からダウンロードしてコンパイルしても同じエラーが発生。
結論:たぶんMT5側のバグ。
元のバージョンに戻そうにも方法がわからなかったため、
仕方なく関数を関数ではなく、直接OnCalculateの中に組み込みました。
そしたらコンパイルできました!
複雑な関数でなくてホント良かった…。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
- ・漫画をレンタルでお得に読める!
- ・街中で見かけて「グッときた人」の思い出
- ・「一気に最後まで読んだ」本、教えて下さい!
- ・幼稚園時代「何組」でしたか?
- ・激凹みから立ち直る方法
- ・1つだけ過去を変えられるとしたら?
- ・【あるあるbot連動企画】あるあるbotに投稿したけど採用されなかったあるある募集
- ・【あるあるbot連動企画】フォロワー20万人のアカウントであなたのあるあるを披露してみませんか?
- ・映画のエンドロール観る派?観ない派?
- ・海外旅行から帰ってきたら、まず何を食べる?
- ・誕生日にもらった意外なもの
- ・天使と悪魔選手権
- ・ちょっと先の未来クイズ第2問
- ・【大喜利】【投稿~9/7】 ロボットの住む世界で流行ってる罰ゲームとは?
- ・推しミネラルウォーターはありますか?
- ・都道府県穴埋めゲーム
- ・この人頭いいなと思ったエピソード
- ・準・究極の選択
- ・ゆるやかでぃべーと タイムマシンを破壊すべきか。
- ・歩いた自慢大会
- ・許せない心理テスト
- ・字面がカッコいい英単語
- ・これ何て呼びますか Part2
- ・人生で一番思い出に残ってる靴
- ・ゆるやかでぃべーと すべての高校生はアルバイトをするべきだ。
- ・初めて自分の家と他人の家が違う、と意識した時
- ・単二電池
- ・チョコミントアイス
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
python エラー
-
エクセルのエラーメッセージ「4...
-
ビルドが失敗してしまいます
-
Excelのエラーで困ってます。
-
右オペランドを扱う演算子は定...
-
適切な変換関数が存在しない???
-
レコードセットをcloseする所で...
-
LPCWSTRとchar
-
VC++6.0からVC++2010への移行
-
visual C++ でビルドの中止がで...
-
デバッグ中のエラーのことで教...
-
VB2008で定数に色の設定をした...
-
DLL関数を使ったプログラム
-
MacのターミナルでC言語コンパ...
-
特殊文字含むdll参照方法
-
Excel Macro if構文エラー
-
ビルド時にinet_ptonが見つから...
-
接続設定を削除したところ、エ...
-
arduinoのエラーメッセージ
-
Handlesについて
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
python エラー
-
エクセルのエラーメッセージ「4...
-
Excelのエラーで困ってます。
-
fortranでプログラムを実行する...
-
バッチからsqlplusの接続エラー...
-
適切な変換関数が存在しない???
-
VB2008で定数に色の設定をした...
-
HEWを使用しているのですが、こ...
-
sys/time.hのインクルードがで...
-
BC30002: 型 'ListItem' が定義...
-
Handlesについて
-
Visual Studioのstrcpy_sについて
-
RightとLeft関数のライブ...
-
error C3867 関数呼び出しには...
-
デバッグ中のエラーのことで教...
-
コンパイルできません。
-
multiple definitionというエラー
-
ビルド失敗 指定されたファイ...
-
レコードセットをcloseする所で...
-
左側がクラス、構造体、共用体...
おすすめ情報