Как автоматически определить тип счета в MT5?

 

Например для брокера Roboforex имеем несколько типов счетов: ECN, Pro, Cent и т.д.

Но обращение идёт к одному и тому же серверу: "RoboForex-MetaTrader 5"

Поэтому вопрос: Как программно определить к какому типу относится счёт?

 
Yury Kirillov:

Например для брокера Roboforex имеем несколько типов счетов: ECN, Pro, Cent и т.д.

Но обращение идёт к одному и тому же серверу: "RoboForex-MetaTrader 5"

Поэтому вопрос: Как программно определить к какому типу относится счёт?

На сколько я знаю средствами MQL ни как не определить. По сути они между собой ни как не отличаются, просто эти счета по разному настроены у брокера (плечо другое, спред, есть комиссия или нет и т.д. и т.п.) и по разному исполняются торговые приказы. Например на ECN нельзя выставить тейк и профит позиции одновременно с отправкой торгового приказа. Надо сначала открыть позицию с нулевым тейком и стопом, потом модифицирую ее установить тейк и профит.

 
Vitalii Ananev:

На сколько я знаю средствами MQL ни как не определить. По сути они между собой ни как не отличаются, просто эти счета по разному настроены у брокера (плечо другое, спред, есть комиссия или нет и т.д. и т.п.) и по разному исполняются торговые приказы. Например на ECN нельзя выставить тейк и профит позиции одновременно с отправкой торгового приказа. Надо сначала открыть позицию с нулевым тейком и стопом, потом модифицирую ее установить тейк и профит.

В первую очередь именно из-за комиссии и интересует определение типа счета. Просто непонятно как по другому узнать есть на счете комиссия или нет?
 
Yury Kirillov:
В первую очередь именно из-за комиссии и интересует определение типа счета. Просто непонятно как по другому узнать есть на счете комиссия или нет?

Спецификация символа надо смотреть. 

 
Vitalii Ananev:

Спецификация символа надо смотреть. 

И как это сделать программно?
 
Yury Kirillov:
И как это сделать программно?

https://www.mql5.com/ru/docs/constants/environment_state/marketinfoconstants#enum_symbol_info_string 

Тут посмотрите. Но я не нашел как определить есть комиссия или нет.

Документация по MQL5: Константы, перечисления и структуры / Состояние окружения / Информация об инструменте
Документация по MQL5: Константы, перечисления и структуры / Состояние окружения / Информация об инструменте
  • www.mql5.com
Для получения текущей рыночной информации служат функции SymbolInfoInteger(), SymbolInfoDouble() и SymbolInfoString(). В качестве второго параметра этих функций допустимо передавать один из идентификаторов из перечислений ENUM_SYMBOL_INFO_INTEGER, ENUM_SYMBOL_INFO_DOUBLE и ENUM_SYMBOL_INFO_STRING соответственно. Некоторые символы (как...
 
Комиссию определить нам пока не разрешают. Только постфактум (после открытия позиции).Тоже неоднократно сталкивался с этой проблемой. 
Совершение сделок - Торговые операции - MetaTrader 5
Совершение сделок - Торговые операции - MetaTrader 5
  • www.metatrader5.com
Торговая деятельность в платформе связана с формированием и отсылкой рыночных и отложенных ордеров для исполнения брокером, а также с управлением текущими позициями путем их модификации или закрытия. Платформа позволяет удобно просматривать торговую историю на счете, настраивать оповещения о событиях на рынке и многое другое. Открытие позиций...
 

Вот еще нашел.

https://www.mql5.com/ru/docs/constants/environment_state/accountinformation

ACCOUNT_COMMISSION_BLOCKED

Текущая сумма заблокированных комиссий по счёту

double


Все равно получается пока сделку не откроешь, не узнаешь есть комиссия или нет.

Документация по MQL5: Константы, перечисления и структуры / Состояние окружения / Информация о счете
Документация по MQL5: Константы, перечисления и структуры / Состояние окружения / Информация о счете
  • www.mql5.com
Уровень залоговых средств, при достижении которого происходит принудительное закрытие самой убыточной позиции (Stop Out). В зависимости от установленного Существует несколько видов счетов, которые могут быть открыты на торговом сервере. Для того чтобы узнать тип счета, на котором работает MQL5-программа, предназначено перечисление...
 
Как вариант открыть и закрыть позицию минимальным лотом, и проверить комиссию.
 
Vitalii Ananev:

https://www.mql5.com/ru/docs/constants/environment_state/marketinfoconstants#enum_symbol_info_string 

Тут посмотрите. Но я не нашел как определить есть комиссия или нет.

Увы про комиссии тут ничего нет.

Формально можно конечно узнать комиссию пожертвовав небольшие средства - открыв и тут же закрыв сделку минимальным лотом, после чего размер комиссии легко определить по сделке.

Но жаба душит. Поэтому сейчас определяю есть или нет комиссия просто задавая в программе номера счетов, но это очень не универсально.

ПС: пока писал получил аналогичное предложение от SEM.
 
Yury Kirillov:

Увы про комиссии тут ничего нет.

Формально можно конечно узнать комиссию пожертвовав небольшие средства - открыв и тут же закрыв сделку минимальным лотом, после чего размер комиссии легко определить по сделке.

Но жаба душит. Поэтому сейчас определяю есть или нет комиссия просто задавая в программе номера счетов, но это очень не универсально.

ПС: пока писал получил аналогичное предложение от SEM.

Попробуйте написать предложение в сервис деск. Может возьмут на заметку и когда нибудь реализуют такую возможность программным способом не открывая позиции узнать есть комиссия или нет. Я думаю, это актуально не только для вас.

Причина обращения: