MQL4 / MQL5 両対応 たまに見るエラーコードERR_UNKNOWN_SYMBOL
目次
エラー4107ERR_UNKNOWN_SYMBOL ― 存在しない・使えない銘柄名を指定した
存在しない、またはいまの端末では使えない銘柄名を指定して関数を呼んだときに出る。他業者の銘柄名をそのまま使い回したときによく起きる。
1主な原因
- 業者によって銘柄名の綴りが違う(例:
GOLDとXAUUSD、末尾に.a等のサフィックスが付く等) - 気配値表示に追加していない銘柄を、
MarketInfo等でいきなり読もうとした - 銘柄名の単純なタイプミス
2対処法
✓ SymbolSelectで存在を確認してから使う
使う前にSymbolSelect(symbol, true)を呼び、戻り値がtrueかを確認する。複数業者への配布を考えるツールでは、銘柄名を決め打ちせず、サフィックスの有無を吸収する仕組みを用意しておく。
3発生する例と直し方
// 悪い例:綴りを決め打ちして使う double spread = MarketInfo("XAUUSD", MODE_SPREAD); // 直した例:先に存在を確認する string sym = "XAUUSD"; if(!SymbolSelect(sym, true)) Print(sym, " はこの業者では使えない銘柄名です"); else double spread2 = MarketInfo(sym, MODE_SPREAD);
4MQL5では
🔁 差分
MQL5でも同じ4107。SymbolSelect自体がMQL4・MQL5共通の関数。
5関連するエラー
MORNING BRIEF平日 毎朝7時までに更新
今日はどこを見ればいいか。
ドル円とユーロドルの主要ライン・予想高値安値を、平日の朝に図1枚にまとめています。
朝刊を見る→9/25 8:27 時点ドル円158.78▼-7 pipsドル円 予想レンジ158.41 〜 159.23ドル円 上の節目158.90▲ドル円 下の節目157.80▼ユーロドル1.1378▼-2 pipsユーロドル 予想レンジ1.1351 〜 1.1408ユーロドル 上の節目1.1403▲ユーロドル 下の節目1.1359▼きょうの指標重要指標なし