Ошибки, баги, вопросы - страница 2410
Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
Ню-ню :)
ОК. Просветите нас. Какая ошибка в коде, или какой код, может закрыть позицию в тестере по цене другого инструмента. Мне правда, очень интересно.
Код несколько тысяч строк. Нет смысла прикладывать. статических переменных нет. Классы есть. В любом случае это ошибка тестера.
Есть Ваша ошибка.
В режиме отладки проводите контроль перед отсылкой торгового приказа. Смотрите на символ и на цены. И тестируйте хотя бы в режиме "Все тики".
ОК. Просвятите нас. Какая ошибка в коде, или какой код, может закрыть позицию в тестере по цене другого инструмента. Мне правда, очень интересно.
Запросто. Прямая зависимость от кривизны кода. Я сам такое вытворял :). Недостаточно продуманная система контроля инициализации класса символов. И плюс к этому статические переменные.
В общем без кода от вопрошаемого дальше говорить бессмысленно.
Запросто. Прямая зависимость от кривизны кода. Я сам такое вытворял :). Недостаточно продуманная система контроля инициализации класса символов. И плюс к этому статические переменные.
В общем без кода от вопрошаемого дальше говорить бессмысленно.
Пример кода можете показать? Как закрыть позицию по EURUSD по цене GPBUSD?
Если запросто, то Вам не составит труда. Буду очень признателен.
Пример кода можете показать? Как закрыть позицию по EURUSD по цене GPBUSD?
Если запросто, то Вам не составит труда. Буду очень признателен.
Форум по трейдингу, автоматическим торговым системам и тестированию торговых стратегий
Ошибки, баги, вопросы
Vladimir Karputov, 2019.03.24 05:58
Запросто. Прямая зависимость от кривизны кода. Я сам такое вытворял :). Недостаточно продуманная система контроля инициализации класса символов. И плюс к этому статические переменные.
В общем без кода от вопрошаемого дальше говорить бессмысленно.
В режиме отладки, визуализации ошибка отсутствует. Закрытие позиции происходит не торговым приказом, а по стоплоссу:
Вполне возможна логическая ошибка в коде, скорее всего здесь, посмотрю, конечно, пока не знаю как - в отладке ошибки нет:
удается установить стоп для ордера по цене 1.60704, на 3000 пунктов выше от текущей цены позиции.
Тестер в этом случае должен был бы запретить установку стопа.
Вот в лог смотрю:
приказ в изменение стопа отправляется для gpbusd, выделенная строка, а фактически исполняется для eurusd- следущая.
вот код установки стопа
где
OrderSend( req, res )
нативная функция mql, не перегруженная.
то есть вот здесь
пишет, что устанавливает стоп для gbpusd, так и должно быть, а фактически
OrderSend( req, res )
устанавливает его для eurusd
Вот в лог смотрю:
приказ в изменение стопа отправляется для gpbusd, выделенная строка, а фактически исполняется для eurusd- следущая.
тут 2 ошибки.
№1. Ваша ошибка. Где-то в коде. Вы устанавливаете СЛ для позиции по EURUSD используя цену GBPUSD. Терминал против этого ничего не должен иметь.
№2. Баг терминала. Если этот СЛ срабатывает по несуществующей на тот момент цене в потоке EURUSD, используя цену GBPUSD.
Вот в лог смотрю:
приказ в изменение стопа отправляется для gpbusd, выделенная строка, а фактически исполняется для eurusd- следущая.
вот код установки стопа
где
нативная функция mql, не перегруженная.
https://www.mql5.com/ru/docs/constants/structures/mqltraderequest
Видимо при отправке запроса на модификацию, приоритет имеет поле position а не symbol. Распечатайте req.position