- www.mql5.com
- Market Execution VS Instant Execution
- Базовая валюта котировки.
- Найден арбитражный грааль
- www.mql5.com
Можно ли в MQL5 автоматически определить тип торгового счета. BASE, mini или micro? Иными словами определить сколько базовой валюты в 1 лоте для текущего типа счета?
Есть еще такие свойства
SYMBOL_VOLUME_MIN |
Минимальный объем для заключения сделки |
double |
SYMBOL_VOLUME_MAX |
Максимальный объем для заключения сделки |
double |
SYMBOL_VOLUME_STEP |
Минимальный шаг изменения объема для заключения сделки |
double |
P.S Если хорошо покопаться в документации, много ответов найдете на свои вопросы.
Можно ли в MQL5 автоматически определить тип торгового счета. BASE, mini или micro? Иными словами определить сколько базовой валюты в 1 лоте для текущего типа счета?
Насколько я помню автоматом можно определить только: валюту счета (для брокеров с возможностью открыть мультивалютные счета), тип счета (реал, демо или конкурсный), максимальное количество лимитных ордеров (если 0 - не ограничено), максимально допустимое торговое плечо (стандартно - 100).
Однозначно автомате дать ответ на заданный вопрос не возможно (на сколько я знаю). Если только не анализировать название торгового сервера и брокера (заранее зная где какой тип счета).
PS
Если в ДЦ есть два типа счетов (BASE и mini) с лотами 0,10 и 0,01 (к примеру как в Альпари) то тогда вполне возможно определить какой счет мы юзаем. Но если скажем речь идет о mini и micro (обычно центы) и лоты у них одинаковые однозначно определить вряд ли выйдет.
Если конечно разработчики не добавят новую характеристику к инфе по счету...
PPS
Если известно какие именно суммы поступали на пополнение счета вполне возможно определить счет в $ или в центах (но это не универсально и прокатит не всегда).
Поэтому в самом советнике рекомендую создать необходимый параметр, которым трейдер осознано укажет нужный тип счета...
Близко. Вот только в документации слишком скупо сказано "Размер торгового контракта". Размер в чем? Всегда в базовой единице базовой валюты (USD - в долларах, EUR в евро и т.д.) или, к примеру на микро-счете, в центах? А для металлов всегда в тройских унциях? Хотелось бы точных комментариев со стороны разработчиков.
Близко. Вот только в документации слишком скупо сказано "Размер торгового контракта". Размер в чем? Всегда в базовой единице базовой валюты (USD - в долларах, EUR в евро и т.д.) или, к примеру на микро-счете, в центах? А для металлов всегда в тройских унциях? Хотелось бы точных комментариев со стороны разработчиков.
:) Первоначально вопрос прозвучал так: "...Сколько базовой валюты в 1 лоте для текущего типа счета?" Ответ вроде как очевиден.
Теперь же Вы задаёте новый вопрос: "...Всегда ли в базовой валюте?". Поэтому посоветую уточнить, что именно Вы хотите узнать от разработчиков, а то ответа непосредственно от них можно и не дождаться.
Скромное мнение. Если конкретный брокер/дилер захочет определить базовую валюту нестандартно (например, в центах), то кто ему сможет в этом помешать?
Разберем такой пример:
Для инструмента EURUSD базовый контракт 1 лота равен 100 000 евро, если вы хотите получит это например в валюте USD то необходимо умножить размер базового контракта на текущий курс инструмента EURUSD 100 000*1.31=131 000 USD. ну и так далее в зависимости в какой валюте вы хотите получить стоимость базового контракта. Что бы запросить программно размер базового контракта небходимо вызвать функцию
double contract_baze = SymbolInfoDouble("EURUSD",SYMBOL_TRADE_CONTRACT_SIZE);
:) Первоначально вопрос прозвучал так: "...Сколько базовой валюты в 1 лоте для текущего типа счета?" Ответ вроде как очевиден.
Теперь же Вы задаёте новый вопрос: "...Всегда ли в базовой валюте?". Поэтому посоветую уточнить, что именно Вы хотите узнать от разработчиков, а то ответа непосредственно от них можно и не дождаться.
Скромное мнение. Если конкретный брокер/дилер захочет определить базовую валюту нестандартно (например, в центах), то кто ему сможет в этом помешать?
Уточненный вопрос
SymbolInfoDouble(Symbol(), SYMBOL_TRADE_CONTRACT_SIZE) вернет размер контракта в каких единицах измерения?
Например:
1) Для микро-счета и EUR\USD ?
2) Для классического счета и XAG\USD?
При условии, что брокер ПРАВИЛЬНО поддерживает MT5.
Уточненный вопрос
SymbolInfoDouble(Symbol(), SYMBOL_TRADE_CONTRACT_SIZE) вернет размер контракта в каких единицах измерения?
Например:
1) Для микро-счета и EUR\USD ?
2) Для классического счета и XAG\USD?
При условии, что брокер ПРАВИЛЬНО поддерживает MT5.
1. вернет размер контракта для EURUSD = 100 000 евро
2. для классики EURUSD = 100 000 евро
3. для XAGUSD 5000 унций скорее всего(это на альпари)
P.S размер контракта не зависит от типа счета. тип счета влияет только на маржинальные свойства
P.P.S Почитайте у своего брокера спецификации контрактов, там все написано
вот спецификации контрактов альпари
Торговые инструменты | 1 лот | Максимальное кредитное плечо / Залог |
Минимальный
лот/Шаг |
Тройной
своп |
Комиссия | Стоп аут |
---|---|---|---|---|---|---|
Forex | 100 000 | 1:500* | 0.01/0.01 | среда - четверг | 0 | 20% |
Металлы спот | 100-5000 troy oz | 0,5%** | 0.01/0.01 | среда - четверг | 0 | 20% |
CFD на Акции США | 100 акций | 10% | 0.01/0.01 | пятница - суббота | 0 | 20% |
CFD на ETF | 100 акций | 10% | 0.01/0.01 | пятница - суббота | 0 | 20% |
более подробно здесь http://www.alpari.ru/ru/cspec/
- www.alpari.ru
1. вернет размер контракта для EURUSD = 100 000 евро
2. для классики EURUSD = 100 000 евро
1) То есть хоть микро, хоть мини, хоть классик все равно для XXX\YYY размер контракта , возвращаемый SymbolInfoDouble(Symbol(), SYMBOL_TRADE_CONTRACT_SIZE), всегда измеряется в количестве XXX?
2) Простите за вопрос, вы разработчик MT5? Тоесть это не просто ваше предположение, а документированное свойство?
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Вы принимаете политику сайта и условия использования