Почему не работает этот тип операции в MQL5, тогда как в MetaTrader5 мы же закрываем сделку по кнопочке с крестиком.
Противоположным ордером (ORDER_TYPE_BUY, ORDER_TYPE_SELL)
сделка закрывается. Но хотелось бы понять почему нельзя ORDER_TYPE_CLOSE_BY?
На самом деле
ORDER_TYPE_CLOSE_BY |
Ордер на закрытие позиции встречной позицией |
Поэтому хотелось бы сначала точное описание: что делаете, полный код, на каком типе торгового счёта проверяете (хедж или неттинг), описание торгового окружения на момент поптки закрытия позиций...
На самом деле
ORDER_TYPE_CLOSE_BY |
Ордер на закрытие позиции встречной позицией |
Поэтому хотелось бы сначала точное описание: что делаете, полный код, на каком типе торгового счёта проверяете (хедж или неттинг), описание торгового окружения на момент поптки закрытия позиций...
Результат GetLastError: ERR_TRADE_SEND_FAILED
Остальное всё обычно - открываю позицию, сохраняю номер ордера, номер позиции, указываю это в ф-ии OrderSend, в качестве Action использовал и TRADE_ACTION_DEAL и TRADE_ACTION_CLOSE_BY, ошибка та же.
Это как-то зависит от типа торгового счёта?
Результат GetLastError: ERR_TRADE_SEND_FAILED
Остальное всё обычно - открываю позицию, сохраняю номер ордера, номер позиции, указываю это в ф-ии OrderSend, в качестве Action использовал и TRADE_ACTION_DEAL и TRADE_ACTION_CLOSE_BY, ошибка та же.
Это как-то зависит от типа торгового счёта?
Вам даже автоматически движок сайта дал ссылку на типы торговых операций.
Вам нужно использовать эту:
Закрыть позицию встречной |
И, естественно, такой тип операции доступен только на хеджевом счёте.

- www.mql5.com
Вам даже автоматически движок сайта дал ссылку на типы торговых операций.
Вам нужно использовать эту:
Закрыть позицию встречной |
И, естественно, такой тип операции доступен только на хеджевом счёте.
Счёт хеджевый:
ENUM_ACCOUNT_MARGIN_MODE margin_mode=ENUM_ACCOUNT_MARGIN_MODE(AccountInfoInteger(ACCOUNT_MARGIN_MODE));
возвращает ACCOUNT_MARGIN_MODE_RETAIL_HEDGING
и сделки у меня не группируются в одну при открытии в одном направлении.
Почему же не работает TRADE_ACTION_CLOSE_BY?
Так же заметил если закрывать вручную из терминала, в журнале тоже это фиксируется как сделка в противоположном направлении, а не закрытие:
2020.04.23 23:25:10.611 Trades '': market buy 0.01 BTCUSD
2020.04.23 23:25:10.734 Trades '': accepted market buy 0.01 BTCUSD
2020.04.23 23:25:12.745 Trades '': deal #3238700 buy 0.01 BTCUSD at 7562.000 done (based on order #4553191)
2020.04.23 23:25:12.748 Trades '': order #4553191 buy 0.01 / 0.01 BTCUSD at 7562.000 done in 2137.119 ms
2020.04.23 23:25:21.799 Trades '': market sell 0.01 BTCUSD, close #4553191 buy 0.01 BTCUSD 7562.000
2020.04.23 23:25:21.920 Trades '': accepted market sell 0.01 BTCUSD, close #4553191 buy 0.01 BTCUSD 7562.000
2020.04.23 23:25:23.926 Trades '': deal #3238701 sell 0.01 BTCUSD at 7557.000 done (based on order #4553192)
2020.04.23 23:25:23.927 Trades '': order #4553192 sell 0.01 / 0.01 BTCUSD at 7557.000 done in 2128.212 ms

- www.mql5.com

- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Вы принимаете политику сайта и условия использования
Почему не работает этот тип операции в MQL5, тогда как в MetaTrader5 мы же закрываем сделку по кнопочке с крестиком.
Противоположным ордером (ORDER_TYPE_BUY, ORDER_TYPE_SELL) сделка закрывается. Но хотелось бы понять почему нельзя ORDER_TYPE_CLOSE_BY?