помогите, пожалуйста, с советником

 

Кто-нибудь подскажите, пожалуйста, как написать часть кода советника, закрывающую позицию в тот момент, когда цена пробьет максимальное или минимальное значение бара, при котором позиция была открыта, т.е. как сослаться на его значение? Заранее спасибо.

 
babayan:

Кто-нибудь подскажите, пожалуйста, как написать часть кода советника, закрывающую позицию в тот момент, когда цена пробьет максимальное или минимальное значение бара, при котором позиция была открыта, т.е. как сослаться на его значение? Заранее спасибо.


Вот бы еще узнать, какая цена будет минимум или максимумом бара?
 

Ну, можно еще при открытии ордера соответствующие значения High и Low использовать в качестве стопа и тейка, предварительно проверев столлевел)

А если смысл вопроса в том, что бы найти бар на котором был открыт ордер (для нулевого бара работать не будет), то схематично так:

OrderSelect;

for (int i =0; i<Bars; i++) if (Time[i]<=OrderOpenTime()) break;

if (Bid>High[i] || Bid < Low[i]) OrderClose(тра-тата)

Хотя можно подправить и для нулевого бара, не совсем "пробой" конечно:

if (Bid>=High[i] || Bid <= Low[i]) OrderClose(тра-тата)

 
Figar0:

Ну, можно еще при открытии ордера соответствующие значения High и Low использовать в качестве стопа и тейка, предварительно проверев столлевел)

А если смысл вопроса в том, что бы найти бар на котором был открыт ордер (для нулевого бара работать не будет), то схематично так:

OrderSelect;

for (int i =0; i<Bars; i++) if (Time[i]<=OrderOpenTime()) break;

if (Bid>High[i] || Bid < Low[i]) OrderClose(тра-тата)

Хотя можно подправить и для нулевого бара, не совсем "пробой" конечно:

if (Bid>=High[i] || Bid <= Low[i]) OrderClose(тра-тата)


спасибо большое, вы мне очень помогли
Причина обращения: