...It's time for financial transactions...

Main menu

Префикс и суффикс валютных пар.

Мы все привыкли, что в терминале каждая валютная пара имеет название типа EURUSD, однако это не всегда так.
ScreenHunter_15-Apr.-19-16.24
Бывает, что брокер именует пару как то иначе, например EURUSD.m, или EURUSD.z. Брокер так делает из своих соображений, например, как то специально обозначая пару для центовых счетов. Логично предположить, что если в конце названий валютных пар могут дописываться дополнительные символы, то подобные символы могут встречаться и в начале названия валютной пары. Другими словами, ничто не мешает брокеру именовать валютную пар как то так: #.EURUSD.ch В таком случае можно сказать, что “#.” это префикс валютной пары, а ”.ch ” её суффикс.

Для трейдера не имеет особого значения, почему валютная пара именуется именно так, а не иначе, а имеет значение удобная и безотказная работа терминала и установленных инструментов. А вот как раз с последним могут возникать проблемы. Любой инструмент, работающий в окне терминала будет обращаться к тем, или иным функциям MQL. Если обращение будет происходить к функциям, работающими с данными текущего графика, на котором работает инструмент, то ничего страшного не произойдет, т. к. название валютной пары в этом случае не важно. Но как только индикатор, советник, скрипт попытается получить данные с другой валютной пары может последовать сбой. Действительно, предположим , что некий индикатор установлен на графике EURUSD.z, но ему необходимо запрашивать данные с графика USDCHF. У брокера эта валютная пара будет именоваться так: USDCHF.z. Но ведь индикатор об этом не знает, поэтому будет пытаться получить данные от валютной пары, которой нет. Очевидно, что за этим последует. Возможны случаи, когда доступны пары с разными суффиксами/префиксами – USDCHF.z, USDCHF.c, USDCHF и данные все таки окажутся доступными, но полагаться на такое нельзя ни в коем случае. Очевидно, что в зоне риска оказываются советники и индикаторы  мультивалютной торговли, торговли корзинами ордеров.

Выход из ситуации представляется довольно очевидным. Имеет смысл вынести строковые переменные префикса и суффикса валютной пары в настройки инструмента и упомянуть об этих настройках в документации. Квалифицированный разработчик не забудет об этой, в общем то банальной особенности.