Ошибки, баги, вопросы - страница 2019
Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
Да, это очень сильно мешает в некоторых случаях при разработке и отладке торговых стратегий.
Не заметил, чтобы переключение вкладок, как-то изменяло содержание списка истории:
Правой кнопкой и менять Сделки/Ордера.
Да, такие действия восстанавливают список истории сделок:
Просьба добавить следующие значения
ENUM_DEAL_REASON
Идентификатор
Описание
DEAL_REASON_LIMIT
Сделка проведена в результате срабатывания лимитного ордера
DEAL_REASON_MARKET
Сделка проведена в результате срабатывания маркет-ордера
DEAL_REASON_STOP
Сделка проведена в результате срабатывания стоп-ордера
Казалось бы, это лишнее. Но бывают такие ситуации, когда ордер исполнился частично, породив сделку. DEAL_ORDER при этом найдется, но его не будет в таблице истории, т.к. ордер еще живой.
Т.е. чтобы узнать тип ордера, который вызвал сделку, не всегда поможет обращение в Истории ордеров. Дабы не городить огород с поиском ордеров среди "мертвых и живых", предлагаю просто добавить еще флаги исполнения - после уже существующих, дабы сохранить совместимость с ENUM_ORDER_REASON и ENUM_POSITION_REASON. При этом желательно добавить такие же флаги в ENUM_POSITION_REASON, чтобы была совместимость
В соседней ветке https://www.mql5.com/ru/forum/216697/page3 поднялся вопрос про OrderCalcMargin
Тест: проверим 2 различных варианта расчета залога с подстановкой различных цен открытия.
Вот ЛОГ
Функция OrderCalcMargin не учитывает при расчетах маржи цену открытия
Похоже это связано с курсом котируемой валюты, который для момента и цены открытия должен быть пересчитан.
Если котируемая валюта USD (валюта счета тоже USD), то расчетная маржа меняется в зависимости от цены открытия.
Лог для GBPUSD
Это Баг или так и должно быть?
Функция OrderCalcMargin не учитывает при расчетах маржи цену открытия
Это Баг или так и должно быть?
Баг, конечно. Пишите в СД.
Эта строка работает, как надо, но мне пришлось проверить, т.к. приходится гадать порядок выполнения. Обсуждение этого момента здесь.
Баг, конечно. Пишите в СД.
Эта строка работает, как надо, но мне пришлось проверить, т.к. приходится гадать порядок выполнения. Обсуждение этого момента здесь.
Порядок расчета выражений в Print() справа налево. Вроде как... Пока... Тоже проверял предварительно :)
Трудно быть уверенным, когда в справке MQL4/5 прямое противоречие:
Справочник MQL5Основы языкаФункцииПередача параметров
Примечание
Необходимо помнить, что параметры передаются в функцию задом наперед, то есть сначала вычисляется и передается самый последний параметр, затем предпоследний и так далее. Последним по очереди вычисляется и передается параметр, стоящий первым после открывающей скобки.
Справочник MQL5Основы языкаОперации и выраженияДругие операции
Вызов функции с аргументами x1, x2,..., xn
Каждый аргумент может представлять собой константу, переменную или выражение соответствующего типа. Передаваемые аргументы разделяются запятыми и должны находиться внутри круглых скобок, открывающая круглая скобка должна следовать за именем вызываемой функции.
Значением выражения является значение, возвращаемое функцией. Если тип возвращаемого значения функции есть void, то вызов такой функции нельзя помещать справа в операции присвоения. Обратите внимание, что порядок выполнения выражений x1,..., xn гарантируется.
Пока ориентируюсь на передачу параметров в обратном порядке.
В соседней ветке https://www.mql5.com/ru/forum/216697/page3 поднялся вопрос про OrderCalcMargin
Тест: проверим 2 различных варианта расчета залога с подстановкой различных цен открытия.
Вот ЛОГ
Функция OrderCalcMargin не учитывает при расчетах маржи цену открытия
Похоже это связано с курсом котируемой валюты, который для момента и цены открытия должен быть пересчитан.
Если котируемая валюта USD (валюта счета тоже USD), то расчетная маржа меняется в зависимости от цены открытия.
Лог для GBPUSD
Это Баг или так и должно быть?
Наверное так должно быть, потому что в расчёте, в частности AUDJPY участвуют AUDUSD и USDJPY котировки которых неизменны в момент расчёта.
А вот эта мысль толкает меня на проверку... На счёте MetaQuotes-Demo в обзоре рынка GBPUSD присутствует, а на счёте робо нет...
Наверное так должно быть, потому что в расчёте, в частности AUDJPY участвуют AUDUSD и USDJPY котировки которых неизменны в момент расчёта.
А вот эта мысль толкает меня на проверку... На счёте MetaQuotes-Demo в обзоре рынка GBPUSD присутствует, а на счёте робо нет...
Как раз хотел Вам сказать - что там баг.
Я уже воспроизвел Вашу ситуацию с Margin=0 при подсчете OrderCalcMargin
Просто еще не опубликовал.