使っているのはデモ口座ですか?
デモ口座にはベータ版のアップデートも送られてきますので、バグがある場合もあります。
ただ、私が今使っているMT5はデモ口座ですが特に何も問題は起こっていません。
質問のエラーがバグによるものなのかどうかは分かりません。
取引の機会を逃しています。
- 無料取引アプリ
- 8千を超えるシグナルをコピー
- 金融ニュースで金融マーケットを探索
使っているのはデモ口座ですか?
デモ口座にはベータ版のアップデートも送られてきますので、バグがある場合もあります。
ただ、私が今使っているMT5はデモ口座ですが特に何も問題は起こっていません。
質問のエラーがバグによるものなのかどうかは分かりません。
MetaTrader 5(MT5)のEA(Expert Advisor)開発で、Python連携用のシンプルなブリッジEAを作成しようとしていますが、
MQL5の基本文法(ローカル変数の宣言や for ループ)の箇所で「undeclared identifier(未宣言の識別子)」エラーが解消せず、コンパイルできません。
使用環境: MetaQuotes公式サイトからダウンロードした最新のMT5クライアント(MetaEditor)。
試行済みの対策: MT5の再インストール、MetaEditorのキャッシュクリア、別のPC環境(ネットカフェ)でのコンパイルも試みましたが、エラーが全く同じ行で再現します。
原因の推定: コードの論理的な誤りではなく、**コンパイラのバグ(特殊文字の混入や型推論の破損)**が原因であると見ています。
発生しているエラーの具体的な内容
以下のコード(最終的にエラー箇所を最小化したテストコード)で、コンパイル時に8個のエラーが発生しています。
試した主な回避策
型キャスト: FileReadString の結果を (string) で強制キャスト → 失敗
グローバル変数への退避: エラーが出る変数を全てグローバルに定義 → 失敗
モノリシック構造: 全てのロジックと変数を OnTick() 関数に統合し、グローバル変数をコードの最上部に配置 → 失敗(現在の状態)
文字コードの洗浄: コードをメモ帳で浄化 → 失敗
手入力: エラー行をキーボードで半角モードで手入力 → 失敗
MQL4スタイル: for(int i = ...) ではなく、 int i; for(i = ...) に変更 → 失敗
質問
同種のエラー経験: MetaEditorで、正常なMQL5コードにもかかわらず「undeclared identifier」や「implicit conversion from 'unknown' to 'string'」が多発した経験はありますか?
有効な対処法: このようにコンパイラの機能自体が破損していると疑われる場合、MT5の再インストール以外で、MetaEditorの環境をリセットする確実な方法があれば教えてください。
代替コンパイラ: 別のブローカーのMT5クライアントや、 mql.exe のCLIツールなどでコンパイルを試みるのが最善でしょうか?
長文となり恐縮ですが、この問題を解決できる知見をお持ちの方、ご協力をお願いいたします。