Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
В PositionGet без предварительно PositionSelect.
Михаил, давай что-ли очередную "простыню" с задержками, а то что-то скучно стало. :))))
Когда в Открытие поедешь? :)))))))
Вы не правы. PositionSelect вызывается на каждом тике и перед последним выводом инфо в блоке 3, он тоже отработает. Так, что причина явно не в этом.
Иногда таки ошибаюсь, но это не тот случай, явно в этом)
Принтятся значения данных позиции на момент вызова PositionSelect.
После OrderSend значения не обновляются.
Если PositionSelect(...)==false, смысла в PositionGet нет.
зы: После OrderSend данные о позиции могут быть получены не сразу.. асинхронность таки - зло.
Иногда таки ошибаюсь, но это не тот случай, явно в этом)
Принтятся значения данных позиции на момент вызова PositionSelect.
После OrderSend значения не обновляются.
Если PositionSelect(...)==false, смысла в PositionGet нет.
зы: После OrderSend данные о позиции могут быть получены не сразу.. асинхронность таки - зло.
Я бы с радостью согласился - признавать ошибки не стесняюсь. Но посмотрите: перед тем, как мы попадаем внутрь блока 3, в самом начале обработчика OnTick() вызывается упомянутая Вами PositionSelect(), при этом никакие OrderSend() не выполняются. В коде специально добавлен счетчик задержек в 1000 тиков между выполнением блоков 1, 2 и 3 - это на предмет асинхронности, я думаю в тестере этого более чем достаточно, чтобы позиция зафиксировалась. Кроме того я поменял условие в Блоке 3:
Результат не изменился: ордер на закрытие позиции исполняется, а размер позиции остается равным 1.
:-(
не должно компилироваться.. PositionSelect(_Symbol)
не должно компилироваться.. PositionSelect(_Symbol)
не должно компилироваться.. PositionSelect(_Symbol
Поправил _Symbol
И в итоге: Вы были правы! Теперь блок 3 не отрабатывает, а значит позиция не выбирается. Спасибо за диалог! :-)
Ложечки нашлись, но осадочек остался: если позиции больше нет, то как объём позиции может быть равен 1?
Что не вяжется с документацией:
То есть вызов PositionSelect() с результатом false не обновляет сведения о позиции? Печалька!
То есть вызов PositionSelect() с результатом false не обновляет сведения о позиции? Печалька!
Уже 10 месяцев прошло.....