К содержимому
Форекс
на автомате

Частичное исполнение: советник уверен, что открыл 3 лота, а в позиции 1,2

Алёна Лс 07.2022
Испытатель
11сообщений
Автор темы#1
Неприятная история на ECN-счёте с неттингом. Советник на GBPUSD отправил рыночную покупку на 3 лота в 15:30 по серверу, режим заполнения IOC. Исполнилось 1,2, остаток отменён, код возврата 10010, частичное исполнение. Мой код проверял только «не ошибка ли», записал себе объём 3,0 из запроса и пошёл дальше.
Дальше хуже. Через два часа сработал выход по сигналу, и советник отправил продажу на 3,0. На неттинге это не закрытие, а просто сделка на продажу: позиция 1,2 закрылась, и открылся шорт 1,8. Заметила я его только вечером, к тому времени он был в минусе на 40 долларов, повезло, что немного.
Вопрос к тем, кто торгует на ECN объёмом, который для пары уже не совсем мелкий. Что вы делаете с частичным исполнением: досылаете остаток, ждёте, принимаете как есть? И откуда правильно брать фактический объём, из результата OrderSend или из позиции?
egorov_mс 09.2024
Системный практик
14сообщений
#2
Фактический объём бери из позиции, а не из результата. volume в MqlTradeResult я считаю подсказкой, сделки могут прийти кусками, их лучше ловить в OnTradeTransaction. Источник правды один: PositionSelect и POSITION_VOLUME.
И закрытие никогда не строится от того, что советник «помнит», закрывается ровно тот объём, который сейчас в позиции. Если функция закрытия берёт объём из своих переменных, проверь это первым делом.
На входе я ставлю FOK: вопроса про остаток нет, зато бывают отказы.
konstantin1999с 03.2023
Первый прогон
6сообщений
#3
Досылать остаток по рынку я перестал. Догоняешь уходящую цену, и средняя выходит хуже, чем если бы просто взял 1,2 и успокоился.
Алёна Лс 07.2022
Испытатель
11сообщений
Автор темы#4
Нашла, закрытие у меня действительно брало объём из своей структуры, куда при входе записывался запрошенный. Переделала: перед закрытием читаю POSITION_VOLUME и закрываю именно его, а в журнал пишу и запрошенный, и фактический объём. На входе теперь FOK, за две недели три отказа по объёму, все в 15:30-15:31. Остаток не досылаю, как konstantin1999. Проверила на демо: открыла руками 0,4 и дала советнику закрыть по сигналу, закрыл ровно 0,4, шорта не появилось.
Продолжить обсуждение

Для ответа войдите в свой аккаунт.

Войти
← Предыдущая темаСледующая тема →