Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
На форуме еще до появления в MQL5 Reason-флагов был выложен триггер SL/TP. Его логика четко показывала, что при акцептировании SL/TP/SO уровней открытой позиции торговым сервером порождается соответствующий маркет-ордер, который находится в MT5-таблице открытых ордеров до тех пор, пока не исполнится.
Поэтому в MT5 даже на чистом MQL5 модификация/удаление таких ордеров невозможна и торговая логика в MT5 требует проверки, является ли открытый ордер фактически замороженным или нет.
Ниже показано условие идентификации таких ордеров при написании торговой логики на MT4Orders и пример его срабатывания
Видно, что больше четверти секунды TP-ордер висел среди открытых. Любые попытки его модификации/удаления вызывали бы ошибки.
Учитывайте данную особенность MT5 (не только при работе с MT4Orders).
Проверка данного условия теперь встроена в библиотеку, работать можно, как и в MT4
Этож надо было столько понаворотить с этими позициями\ордерами в мт5, ни в одной другой платформе не встречал такого многообразия )
Еще большУю роль играет ORDER_STATE-параметр. Для SL/TP-ордеров он ORDER_STATE_STARTED. Но игнорить все ORDER_STATE_STARTED ни в коем случае нельзя (долго объяснять). Поэтому на ORDER_STATE рассчитывать неправильно, а нужен именно ORDER_REASON.
С ORDER_STATE другая история. Допустим, позиция открылась частично от отложенного ордера, а оставшаяся часть ордера еще висит. Тогда есть сделка в Истории, но там еще нет самого Ордера. Если же ордер потом зафиллится полностью, то чтобы понять, что первая порожденная им сделка была открыта частично, нельзя смотреть на ORDER_STATE ордера, от которого она произошла.
В общем, там столько ситуаций с этим STATE на самом деле... Надо вводить человеческие OrderOpenState() и OrderCloseSate(), но это голову сломать (да и единицы использовать будут). И, конечно, это еще простая головоломка. Там их много и позаковырестей, а о некоторых даже нет подозрений. В общем, хорошо, что удалось частично распутать до рабочего состояния и человеческого вида почти без потерь в производительности. Больше половины потребностей, думаю, библиотека удовлетворяет.
Еще большУю роль играет ORDER_STATE-параметр. Для SL/TP-ордеров он ORDER_STATE_STARTED. Но игнорить все ORDER_STATE_STARTED ни в коем случае нельзя (долго объяснять). Поэтому на ORDER_STATE рассчитывать неправильно, а нужен именно ORDER_REASON.
С ORDER_STATE другая история. Допустим, позиция открылась частично от отложенного ордера, а оставшаяся часть ордера еще висит. Тогда есть сделка в Истории, но там еще нет самого Ордера. Если же ордер потом зафиллится полностью, то чтобы понять, что первая порожденная им сделка была открыта частично, нельзя смотреть на ORDER_STATE ордера, от которого она произошла.
В общем, там столько ситуаций с этим STATE на самом деле... Надо вводить человеческие OrderOpenState() и OrderCloseSate(), но это голову сломать (да и единицы использовать будут). И, конечно, это еще простая головоломка. Там их много и позаковырестей, а о некоторых даже нет подозрений. В общем, хорошо, что удалось частично распутать до рабочего состояния и человеческого вида почти без потерь в производительности. Больше половины потребностей, думаю, библиотека удовлетворяет.
Форум по трейдингу, автоматическим торговым системам и тестированию торговых стратегий
Советники: Quantum 103
fxsaber, 2017.09.26 09:55
Кроссплатформенный вариант советникаРезультат бэктеста по реальным тикам на MT5
Прикрепил MT4-стиль отчета MT5-бэктеста, потому как стандартный отчет читается с трудом - см. оба в прицепе.
Хорошо видно величины влияния на результат MT5-бэктеста данного советника проскальзываний и комиссии.
Форум по трейдингу, автоматическим торговым системам и тестированию торговых стратегий
Советники: Display orders
fxsaber, 2017.10.09 13:22
Кроссплатформенный вариантФорум по трейдингу, автоматическим торговым системам и тестированию торговых стратегий
Советники: Xarax
fxsaber, 2017.10.11 13:44
Кроссплатформенный вариант
fxsaber:
Советники: Quantum 103
fxsaber, 2017.09.26 09:55
Кроссплатформенный вариант советника
// MQL4&5-code
На сколько я понял, на нетто счетах неадекватно работает?
На сколько я понял, на нетто счетах неадекватно работает?
Конечно, потому что оригинальный код этого советника рассчитан именно на хедж.
MT4Orders не создает (и не должна) виртуальную среду. Все ордера/позиции в ней настоящие, т.к. она может параллельно работать с MT5-торговым API.
Для виртуализации лучше использовать УПОМИНАНИЕ ПЛАТНЫХ ПРОДУКТОВ НА ФОРУМЕ ЗАПРЕЩЕНО.