Всех приветствую.
Собственно, вопрос в заголовке - как понять, какая модель используется на текущем счету ?
Как я понимаю, необходимо вызывать функцию AccountInfoInteger() с каким-то ключевым параметром.
Но, среди перечислений что-то я не нашел перечисления "неттинг-хедж".
Единственное, что я нашел - это AccountInfoInteger(ACCOUNT_MARGIN_MODE), и смотреть возвращаемый результат - если вернется ACCOUNT_MARGIN_MODE_RETAIL_HEDGING, то счет хеджевый, если нет - то неттинговый.
Но, как мне кажется, что это не совсем правильный путь - должен быть, по идее, прямой запрос "неттинг-хедж". Или нет ?
Кто как отличает в МТ5 неттинг от хеджа ?
Вы похоже всё правильно написали - через AccountInfoInteger() нужно узнавать. Вот выдержка из PositionSelect:
При "неттинговом" учете позиций (ACCOUNT_MARGIN_MODE_RETAIL_NETTING и ACCOUNT_MARGIN_MODE_EXCHANGE) по каждому символу в любой момент времени может быть открыта только одна позиция, которая является результатом одной или более сделок. Не следует путать между собой позиции и действующие отложенные ордера, которые также отображаются на вкладке "Торговля" в панели "Инструменты".
При независимом представлении позиций (ACCOUNT_MARGIN_MODE_RETAIL_HEDGING) по каждому символу одновременно может быть открыто несколько позиций. В этом случае, PositionSelect выберет позицию с наименьшим тикетом.
Всех приветствую.
Собственно, вопрос в заголовке - как понять, какая модель используется на текущем счету ?
Как я понимаю, необходимо вызывать функцию AccountInfoInteger() с каким-то ключевым параметром.
Но, среди перечислений что-то я не нашел перечисления "неттинг-хедж".
Единственное, что я нашел - это AccountInfoInteger(ACCOUNT_MARGIN_MODE), и смотреть возвращаемый результат - если вернется ACCOUNT_MARGIN_MODE_RETAIL_HEDGING, то счет хеджевый, если нет - то неттинговый.
Но, как мне кажется, что это не совсем правильный путь - должен быть, по идее, прямой запрос "неттинг-хедж". Или нет ?
Кто как отличает в МТ5 неттинг от хеджа ?
ENUM_ACCOUNT_MARGIN_MODE margin_mode=ENUM_ACCOUNT_MARGIN_MODE(AccountInfoInteger(ACCOUNT_MARGIN_MODE)); if(margin_mode!=ACCOUNT_MARGIN_MODE_RETAIL_NETTING) { Print("Брокер не поддерживает биржевой расчёт маржи в режиме 'Неттинг'!"); }
Всех приветствую.
Собственно, вопрос в заголовке - как понять, какая модель используется на текущем счету ?
Как я понимаю, необходимо вызывать функцию AccountInfoInteger() с каким-то ключевым параметром.
Но, среди перечислений что-то я не нашел перечисления "неттинг-хедж".
Единственное, что я нашел - это AccountInfoInteger(ACCOUNT_MARGIN_MODE), и смотреть возвращаемый результат - если вернется ACCOUNT_MARGIN_MODE_RETAIL_HEDGING, то счет хеджевый, если нет - то неттинговый.
Но, как мне кажется, что это не совсем правильный путь - должен быть, по идее, прямой запрос "неттинг-хедж". Или нет ?
Кто как отличает в МТ5 неттинг от хеджа ?
Здравствуйте. Если пользуетесь стандартной библиотекой - можете заглянуть туда. Там в первую очередь появилось это изменение. Где-то в торговых классах.
В AccountInfo есть. Один из плюсов использования СБ, не надо ползать по API, достаточно в ТС нажать alt-f7 и ввести текстовый поиск по had
//+------------------------------------------------------------------+ //| Get the property value "ACCOUNT_MARGIN_MODE" as string | //+------------------------------------------------------------------+ string CAccountInfo::MarginModeDescription(void) const { string str; //--- switch(MarginMode()) { case ACCOUNT_MARGIN_MODE_RETAIL_NETTING: str="Netting"; break; case ACCOUNT_MARGIN_MODE_EXCHANGE : str="Exchange"; break; case ACCOUNT_MARGIN_MODE_RETAIL_HEDGING: str="Hedging"; break; default : str="Unknown margin mode"; } //--- return(str); }
Здравствуйте. Если пользуетесь стандартной библиотекой - можете заглянуть туда. Там в первую очередь появилось это изменение. Где-то в торговых классах.
Да, пользуюсь, но у меня весь код переносим, соответственно один и тот же класс должен уметь работать и с неттинговым и с хеджевым счетом. А классы СБ - такой функциональности не содержат.
Ну, в общем, ответ получен. Я просто думал, что есть отдельная функция.
В AccountInfo есть. Один из плюсов использования СБ, не надо ползать по API, достаточно в ТС нажать alt-f7 и ввести текстовый поиск по had
Так вот же - этот класс имеет функцию MarginMode() - но, мне казалось, должна быть функция AccountType().
Ну да ладно. Просто примем к сведению.
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Вы принимаете политику сайта и условия использования
Всех приветствую.
Собственно, вопрос в заголовке - как понять, какая модель используется на текущем счету ?
Как я понимаю, необходимо вызывать функцию AccountInfoInteger() с каким-то ключевым параметром.
Но, среди перечислений что-то я не нашел перечисления "неттинг-хедж".
Единственное, что я нашел - это AccountInfoInteger(ACCOUNT_MARGIN_MODE), и смотреть возвращаемый результат - если вернется ACCOUNT_MARGIN_MODE_RETAIL_HEDGING, то счет хеджевый, если нет - то неттинговый.
Но, как мне кажется, что это не совсем правильный путь - должен быть, по идее, прямой запрос "неттинг-хедж". Или нет ?
Кто как отличает в МТ5 неттинг от хеджа ?