как после открытия ордера отключить советник на одну свечу

 

Господа! Подскажите кто сможет: как после открытия ордера отключить советник на одну свечу ? Задача в том, чтобы советник не закрывал ордер на той же свече, что и открыл ордер по своим заданым условиям

 
Пропишите условие закрытия, исключающее закрытие "на той же свече"!
 
Vitold:

Господа! Подскажите кто сможет: как после открытия ордера отключить советник на одну свечу ? Задача в том, чтобы советник не закрывал ордер на той же свече, что и открыл ордер по своим заданым условиям


Если бар открытия ордера равен нулю, то запретить закрытие.

После того, как найдёте и успешно выберите посредством OrderSelect() нужный вам ордер, время открытия которого вам нужно знать, его бар открытия найдёте так:

int bar_open=iBarShift(OrderSymbol(),Period(),OrderOpenTime());
 

В цикле перебора ордеров: 

if(OrderOpenTime()>=iTime(NULL,TimeFrame,0)) continue

 
Vitold:

Господа! Подскажите кто сможет: как после открытия ордера отключить советник на одну свечу ? Задача в том, чтобы советник не закрывал ордер на той же свече, что и открыл ордер по своим заданым условиям


Имхенько, лучше сделать так, чтобы советник не пытался закрыть ордер, либо не открывал бы его вовсе :) 
 
Integer:

В цикле перебора ордеров: 

if(OrderOpenTime()>=iTime(NULL,TimeFrame,0)) continue

 

 Выдает ошибку (TimeFramе-variable not defined). Может TimeFramе не согласрвана?
 
Vitold:
 Выдает ошибку (TimeFramе-variable not defined). Может TimeFramе не согласрвана?
А объявить переменную не пробовали? Или это надо особым образом подчёркивать?
 
Vitold:
 Выдает ошибку (TimeFramе-variable not defined). Может TimeFramе не согласрвана?
Это как бы намек, что о таймфрейме вы сами должны подумать, поставить 0 или же нужное вам значение.
 
evillive:
А объявить переменную не пробовали? Или это надо особым образом подчёркивать?
TimeFramе должен быть текущий (тот на котором открыт график). Каким образом его обьявить?
 
Integer:
Это как бы намек, что о таймфрейме вы сами должны подумать, поставить 0 или же нужное вам значение.
Я  так понимаю что TimeFramе просто указывает на период на котором открыт гафик и работает советник. И он указаывает на все свечи, находящиеся  в этом периоде, а мне нужно ограничится одной свечей, а со следующей уже все советник опять включился. А  TimeFramе, наверное,   должен фигуриравать не только в цикле перебора ордеров?
 
Vitold:
Я  так понимаю что TimeFramе просто указывает на период на котором открыт гафик и работает советник. И он указаывает на все свечи, находящиеся  в этом периоде, а мне нужно ограничится одной свечей, а со следующей уже все советник опять включился. А  TimeFramе, наверное,   должен фигуриравать не только в цикле перебора ордеров?
Прочитайте в справке описание функции iTime() и ее параметров. Поставьте 0 вместо TimeFrame. 
Причина обращения: