Страница 1 из 1

Время заявки

Добавлено: 02 дек 2016, 19:27
Сергей
Добрый... подскажите можно как нибуть указать время жизни заявки? Например сигпал поступил в 10,00,00 ..заява не прошла так как пошло сильное движение...можно прописать условие снятия заявы через энное количество баров после сигнала?

Re: Время заявки

Добавлено: 02 дек 2016, 21:09
evge
Вариант 1

Счетчик в виде глобальной переменной завести и увеличивать его в OnUpdate()
его же проверять на предельное значение и делать при достижении максимума

CancelActiveOrders(leaveStop) – снять активные заявки.
leaveStop = true – оставить стоп к позиции.
leaveStop = false – снять все.

Вариант 2

Запоминать в глоб. переменной CurrentIndex бара, где был сигнал

Разница между CurrentIndex (текущий бар в будущем) и этой глоб. перемнной будет = N баров от бара сигнала.
т.е. в условии проверяем что-то типа этого

Код: Выделить всё

if (CurrentIndex - IndexSignalBar > 10 && CurrentPosition() == 0) CancelActiveOrders(true)