Алексей Орлов #: У нас например, сработал лимитный ордер и мы хотим выставить ТП без СЛ, но цена инструмента на уровне цены открытия. У меня вроде поэтому ошибку то и выдаёт. Как в таком случае поступать?
Ждать когда цена уйдет и станут проходить проверки по стоп уровням и заморозки. См. статью. Или ТП/СЛ увеличивать, чтобы были выше этих уровней.
Alexey Viktorov #: 1. Получается «масло масляное» Лучше просто
Вроде понял. При вызове функции PositionGetTicket, она автоматом выбирает эту позицмю для дальнейшей работы. Поэтому ну нужно доп движений, я думал, что сначала поулчаю тикет позиции с нужным индексом, а потом выбираю её для работы.
Ларчик просто открывался. В программе я пытался поменять значения ТП и СЛ на те же самые, вот и выдавал ошибку. Добавил условие на проверку изменений значений ТП и соответственно ошибка ушла.
Робот тейкнул позицию и выставил новые лимитки. Вроде я уже осознал разницу между ордером и позицией)
Что это означает? Позиция закрылась по тейку? Или что-то другое?
У нас например, сработал лимитный ордер и мы хотим выставить ТП без СЛ, но цена инструмента на уровне цены открытия. У меня вроде поэтому ошибку то и выдаёт. Как в таком случае поступать?
Или ТП/СЛ увеличивать, чтобы были выше этих уровней.
Что это означает? Позиция закрылась по тейку? Или что-то другое?
Да, закрылась по тейку, при выставлении которого перед этим выдаёт ошибку.
Ну а как-же поставить тейк отсутствующей позиции? Хотя в этом случае должно быть другая ошибка.
Может перед OrderSend() проверить разницу тейка и текущей цены? В частном случае, если цена уже выше предполагаемого тейка, то просто закрыть позицию.
1. Получается «масло масляное» Лучше просто
Вроде понял. При вызове функции PositionGetTicket, она автоматом выбирает эту позицмю для дальнейшей работы. Поэтому ну нужно доп движений, я думал, что сначала поулчаю тикет позиции с нужным индексом, а потом выбираю её для работы.