Ваш вопрос относится к MQL5?
Попробуйте такой код, не првоерял
double tick_size = SymbolInfoDouble(_Symbol, SYMBOL_TRADE_TICK_SIZE); // Получаем размер тика double tick_value = SymbolInfoDouble(_Symbol, SYMBOL_TRADE_TICK_VALUE); // Стоимость одного тика в валюте котировки if(tick_value == 0) { double current_price = SymbolInfoDouble(_Symbol, SYMBOL_BID); // Текущая цена string base_currency = AccountInfoString(ACCOUNT_CURRENCY); // Валюта депозита string symbol_currency = SymbolInfoString(_Symbol, SYMBOL_CURRENCY_PROFIT); // Валюта прибыли инструмента if(base_currency != symbol_currency) { // Если валюта депозита и валюта прибыли не совпадают, требуется конвертация string conversion_pair = symbol_currency + base_currency; // Проверяем, существует ли прямая котировка if(SymbolSelect(conversion_pair, true)) { double conversion_rate = SymbolInfoDouble(conversion_pair, SYMBOL_BID); tick_value = tick_size * conversion_rate; } else { // Если прямой котировки нет, проверяем обратную котировку string inverse_pair = base_currency + symbol_currency; if(SymbolSelect(inverse_pair, true)) { double conversion_rate = SymbolInfoDouble(inverse_pair, SYMBOL_BID); tick_value = tick_size / conversion_rate; } else { // Если не существует ни прямой, ни обратной котировки, выводим сообщение об ошибке Print("Не удалось найти конверсионную пару для ", symbol_currency, " и ", base_currency); } } } else { tick_value = tick_size; // Если валюты совпадают, просто берем tick_size } }
Gennady Mazur:
Есть ли альтернативные способы получения этой величины?
Есть ли альтернативные способы получения этой величины?
Есть в свойствах символа.
SymbolInfoDouble(_Symbol, SYMBOL_TRADE_TICK_VALUE);Вероятней всего это mql4. Вопрос в разделе об mql4 и ищется альтернатива MarketInfo() которой в mql5 нет.
это для мкл5, знаю, хотя тоже не всегда срабатывает...
а мне для мкл4 надо...
Я и говорю об mql4
Информация об инструменте - Состояние окружения - Константы, перечисления и структуры - Справочник MQL4
- docs.mql4.com
Информация об инструменте - Состояние окружения - Константы, перечисления и структуры - Справочник MQL4
Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
Столкнулся с такой проблемой, на некоторых инструментах не могу получить стоимость тика в валюте депозита.
Мне эта величина необходима для расчета рисков по позиции.
Обычно я пользовался таким определением
и если на валютах все проходит нормально, то на некоторых других инструментах часто возвращается пустое значение.
Как быть? Есть ли альтернативные способы получения этой величины?