Как отловить закрытый ордер, котрый брокер открыл снова? - страница 6

 

Вопрос по данной теме: где хранится журнал экспертов в терминале или на сервере?

Если в терминале, то можно при закрытии ордера делать в нем запись с номером соответствующего тикета (функция print), а потом простое ее находить, при необходимости.

С уважением, Андрей.

 
Чтобы снова закрыть или обработать переоткрытый ордер, его сначала необходимо идентифицировать среди всех открытых ордеров. Именно цель его идентификации я и ставил в данной теме.

Идентифицировать ордер открытый данным экспертом легко по магику.

Ключевой момент здесь не в идентификации, а в том меняются ли условия закрытия ордера в зависимости от факта его закрытия в прошлом (и последующего возврата в рынок)? Если - нет, то совершенно не нужно извращаться, а просто закрывать каждый ордер по сигналам. Если - да, то действительно возврат и предыдущее закрытие нужно отслеживать. Тут сложно дать совет не зная вашей логики закрытия ордеров...

 
Alexz:

Идентифицировать ордер открытый данным экспертом легко по магику.

Ключевой момент здесь не в идентификации, а в том меняются ли условия закрытия ордера в зависимости от факта его закрытия в прошлом (и последующего возврата в рынок)? Если - нет, то совершенно не нужно извращаться, а просто закрывать каждый ордер по сигналам. Если - да, то действительно возврат и предыдущее закрытие нужно отслеживать. Тут сложно дать совет не зная вашей логики закрытия ордеров...

Да, не зная логики советника сложно рассуждать.

Суть в том, что брокер возвращает ордер в рынок через 12-18 часов после его закрытия. За это время рынок уже ушел далеко, кроме того логика советника не позволяет его обработать корректно (не буду вдаваться в подробности логики). В общем смысл в том, чтобы:

1. Выявить факт возврата в рынок закрытого ранее ордера;

2. Идентифицировать этот ордер;

3. Обработать его в ручном режиме (закрыть или оставить и закрыть позже в зависимости от рыночной ситуации).

С уважением, Андрей.

 
Выявить факт возврата в рынок закрытого ранее ордера

Могу вкратце рассказать как сделано у меня.

1. Ордера открываются и закрываются исключительно по торговым сигналам без ручного вмешательства.

2. Советник идентифицирует ордера принадлежащие ему по магику и работатет только с ними.

3. Советник периодически выполняет поиск "потерянных" ордеров путем поиска ордеров с заданным магиком среди открытых ордеров в терминале и сравнением с внутренним массивом открытых ордеров.

4. Если ДЦ вернул ордер в рынок, этот ордер незамедлительно будет замечен советником и идентифицирован как "свой" (если ДЦ сохранит магик при восстаовлении)

5. Закрыт такой ордер будет как и все остальные по появлению торгового сигнала на закрытие.

В принципе этот алгоритм универсальный и думаю многие им пользуются, единственное тонкое место здесь - условие закрытия ордера. Есть торговые стратегии в которых открытие следующего ордера связано с закрытием предыдущего (например некоторые виды мартингейла). Для таких стратегий восстановление ордера в рынок "спутывает все карты" и поэтому данный алгоритм для них не подходит и нужно закрываться вручную в зависимости от ситуации.

Если в вашей стратегии открытие/закрытие ордеров не связано между собой, а только с торговыми сигналами, можете смело подтягивать потерянные ордера и работать с ними как с обычными.

Причина обращения: