Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
Обновление от fxsaber:
Работа с длинной историей теперь просто летает!
Модераторы, если есть возможность, залейте код в базу.
Спасибо, обновил на всех языках
Использую эту библиотеку в своих советниках на МТ4.
Обнаружил странный момент:
Если тестирование идет на серверах Метаквотс - демо, то библиотека работает нормально. (например при открытие ордера)
Если взять для тестов брокера фхтм демо- то функция OrderSend открывает сделку, но возвращает ошибку.
После отладки ticket = -1;
Текст журнала ниже:
При этом в журнале же выводится сообщение о том, что все нормально.
Почему может быть такая проблема?
2018.06.08 22:58:47.197 EA MT5 (EURUSD,M1) ::AccountInfoString(ACCOUNT_SERVER) = ForexTimeFXTM-Demo01
2018.06.08 22:58:47.197 EA MT5 (EURUSD,M1) (bool)::TerminalInfoInteger(TERMINAL_CONNECTED) = true
2018.06.08 22:58:47.197 EA MT5 (EURUSD,M1) ::TerminalInfoInteger(TERMINAL_PING_LAST) = 55335
2018.06.08 22:58:47.197 EA MT5 (EURUSD,M1) ::TerminalInfoDouble(TERMINAL_RETRANSMISSION) = 0.8875739644970414
2018.06.08 22:58:47.197 EA MT5 (EURUSD,M1) ::TerminalInfoInteger(TERMINAL_BUILD) = 1835
2018.06.08 22:58:47.197 EA MT5 (EURUSD,M1) (bool)::TerminalInfoInteger(TERMINAL_X64) = true
2018.06.08 22:58:47.197 EA MT5 (EURUSD,M1) Res = false
2018.06.08 22:58:47.197 EA MT5 (EURUSD,M1) MT4ORDERS::OrderSendBug = true
2018.06.08 22:58:47.197 EA MT5 (EURUSD,M1) Request.action = TRADE_ACTION_DEAL (1)
2018.06.08 22:58:47.197 EA MT5 (EURUSD,M1) Request.magic = 0
2018.06.08 22:58:47.197 EA MT5 (EURUSD,M1) Request.order = 0
2018.06.08 22:58:47.197 EA MT5 (EURUSD,M1) Request.symbol = EURUSD
2018.06.08 22:58:47.197 EA MT5 (EURUSD,M1) Request.volume = 0.01
2018.06.08 22:58:47.197 EA MT5 (EURUSD,M1) Request.price = 1.17681
2018.06.08 22:58:47.197 EA MT5 (EURUSD,M1) Request.stoplimit = 0.0
2018.06.08 22:58:47.197 EA MT5 (EURUSD,M1) Request.sl = 0.0
2018.06.08 22:58:47.197 EA MT5 (EURUSD,M1) Request.tp = 0.0
2018.06.08 22:58:47.197 EA MT5 (EURUSD,M1) Request.deviation = 0
2018.06.08 22:58:47.197 EA MT5 (EURUSD,M1) Request.type = ORDER_TYPE_BUY (0)
2018.06.08 22:58:47.197 EA MT5 (EURUSD,M1) Request.type_filling = ORDER_FILLING_FOK (0)
2018.06.08 22:58:47.197 EA MT5 (EURUSD,M1) Request.type_time = ORDER_TIME_GTC (0)
2018.06.08 22:58:47.197 EA MT5 (EURUSD,M1) Request.expiration = 1970.01.01 00:00:00
2018.06.08 22:58:47.197 EA MT5 (EURUSD,M1) Request.comment =
2018.06.08 22:58:47.197 EA MT5 (EURUSD,M1) Request.position = 2210821620
2018.06.08 22:58:47.197 EA MT5 (EURUSD,M1) Request.position_by = 0
2018.06.08 22:58:47.197 EA MT5 (EURUSD,M1) Result.retcode = 10009
2018.06.08 22:58:47.197 EA MT5 (EURUSD,M1) Result.deal = 0
2018.06.08 22:58:47.197 EA MT5 (EURUSD,M1) Result.order = 2210821775
2018.06.08 22:58:47.197 EA MT5 (EURUSD,M1) Result.volume = 0.01
2018.06.08 22:58:47.197 EA MT5 (EURUSD,M1) Result.price = 0.0
2018.06.08 22:58:47.197 EA MT5 (EURUSD,M1) Result.bid = 0.0
2018.06.08 22:58:47.197 EA MT5 (EURUSD,M1) Result.ask = 0.0
2018.06.08 22:58:47.197 EA MT5 (EURUSD,M1) Result.comment = Request executed 190.826 + 1000.396 ms
2018.06.08 22:58:47.197 EA MT5 (EURUSD,M1) Result.request_id = 154
2018.06.08 22:58:47.197 EA MT5 (EURUSD,M1) Result.retcode_external = 0
2018.06.08 22:58:47.197 EA MT5 (EURUSD,M1) MT4ORDERS: not Sync with History!, please, send logs to fxsaber!
2018.06.08 22:55:47.197 EA MT5 (EURUSD,M1) OrderSend with error 4754
Спасибо, обновил на всех языках
Хорошо бы и fxsaber-а вернуть.
При этом в журнале же выводится сообщение о том, что все нормально.
На этой странице несколько ссылок по затронутой теме. Если кратко, то можете увидеть в логе нулевой Result.deal. По логу видно (не нулевой Request.position), что делался OrderClose, который якобы завершился успешно (код возврата Result.code), но при этом в течение секунды (библиотека ждала) в терминале так и не появилась запись (сделка DEAL_ENTRY_OUT) об этом. Это обозначает два сценария:
Оба варианта - ни есть всегда хорошо для MT5 (подробные обсуждения можете посмотреть по ссылке выше). Библиотека отработала четко, к сожалению. Все эти нюансы были когда-то вдумчиво проанализированы и, соответственно, выработаны обоснованные реакции библиотеки на них.
Если взять для тестов брокера фхтм демо- то функция OrderSend открывает сделку, но возвращает ошибку.
Воспроизвел и обнаружил, что мой косяк. Спасибо Вам за сообщение, интересное поведение MT5 на этом торговом сервере оказалось.
Исправил. Если нужно, могу выслать в ЛС. А так, чтобы модераторов не дергать, выложу в КБ, когда с DEAL_SL/TP разработчики порешают в новых билдах.
Воспроизвел и обнаружил, что мой косяк. Спасибо Вам за сообщение, интересное поведение MT5 на этом торговом сервере оказалось.
Исправил. Если нужно, могу выслать в ЛС. А так, чтобы модераторов не дергать, выложу в КБ, когда с DEAL_SL/TP разработчики порешают в новых билдах.
Да, пришлите пожалуйста в ЛС
Да, пришлите пожалуйста в ЛС
Отправил.
Редко, но могут возникать такие Алерты
Это исключительно информационный (на торговлю не влияет) алерт, что MT5-OrderSend работает с ошибкой. Подробно эта ошибка с обсуждением разбирается здесь. Правда, разработчики пока не считают, что это неправильное поведение MT5...
ЗЫ Вскрылась тонкость MT5. При торговле через библиотеку фантомные ордера возникать не будут.
Работа с длинной историей теперь просто летает!
Несколько неожиданный результат. Скрипт вычисляет время открытия/зыкрытия последней "позиции".
Forum on trading, automated trading systems and testing trading strategies
OrderCloseTime Expert Advisor MQL5
fxsaber, 2018.07.06 00:49
Result
Почему производительность библиотеки так сильно превосходит чистый MQL5 - не анализировал. Предполагаю, что HistorySelect тормозит в реал-тайме. В Тестере не проверял.
ЗЫ Да, HistorySelect тормозит.
Форум по трейдингу, автоматическим торговым системам и тестированию торговых стратегий
Библиотеки: MT4Orders
fxsaber, 2017.09.03 18:52
Распечатка всех позиций, закрытых по SL
Forum on trading, automated trading systems and testing trading strategies
How to figure out the close price when position ran into stop loss?
fxsaber, 2018.07.10 11:46
Несколько неожиданный результат. Скрипт вычисляет время открытия/зыкрытия последней "позиции".
Почему производительность библиотеки так сильно превосходит чистый MQL5 - не анализировал. Предполагаю, что HistorySelect тормозит в реал-тайме. В Тестере не проверял.
ЗЫ Да, HistorySelect тормозит.
Это последняя версия библиотеки?