
MT5 MT5 実行時エラー
4301
- 定数名
ERR_MARKET_UNKNOWN_SYMBOL- 意味
- 銘柄(シンボル)名が見つからない
MT5エラー4301とは
指定した銘柄名がその口座に存在しないときのエラーです。ブローカーごとに「USDJPY.a」「USDJPYm」のような接尾辞が付くため、銘柄名を直接書いたEAで起こりやすくなります。
ログの表示例
SymbolInfoDouble failed, error 4301
「エキスパート」タブまたは「操作履歴」タブに表示されます。数値や表記の細部は、ビルド・ブローカー・EAの作りによって異なります。
MT5エラー4301の主な原因
- 銘柄名の接尾辞が口座の表記と違う
- スペル・大文字小文字の間違い
- 口座タイプで扱っていない銘柄を指定した
MT5エラー4301の対処法
- チャートの銘柄は _Symbol を使う
- 別の銘柄を使うなら、名前(接尾辞)をパラメータで変えられるようにする
- SymbolsTotal() と SymbolName() で、口座にある銘柄名を一覧表示して確認する
コード例(MQL5)
// 別の銘柄を使う前に気配値表示へ追加する(4301・4302 対策)(MQL5)
input string InpSuffix = ""; // 例:".a"、"m"
bool PrepareSymbol(const string base, string &symbol)
{
symbol = base + InpSuffix;
ResetLastError();
if(!SymbolSelect(symbol, true))
{
PrintFormat("%s を気配値表示に追加できません error=%d(接尾辞を確認)", symbol, GetLastError());
return false;
}
return true;
}MetaEditor(MT5)でコンパイルできることを確認済みです。自分のEAに組み込むときは、変数名や設定値を合わせてください。












