вопрос по MQL4

 

Всем доброго времени суток!

Недавно начала изучать MQL4. И вот непонятен такой момент: следующий кусок кода передвигает стоп в точку открытия позиции, по достижении цены определенного уровня:

if(Bid-OrderOpenPrice() > TakeProfit*Point)
if(!OrderModify(OrderTicket(), 0, OrderOpenPrice(), 0, 0))
Print("Модификация ордера Buy. Ошибка №",
GetLastError());

а как сделать, чтобы вместо Bid можно было взять цену закрытия 1-го бара? Я так понимаю, что надо использовать константу PRICE_CLOSE. Но как указать, чтобы это условие проверялось только один раз во временной интервал по закрытию бара?

По моей ТС нужно именно брать цену close бара 1.
Заранее спасибо!

[Удален]  
natasha писал(а) >>

Всем доброго времени суток!

а как сделать, чтобы вместо Bid можно было взять цену закрытия 1-го бара? Я так понимаю, что надо использовать константу PRICE_CLOSE. Но как указать, чтобы это условие проверялось только один раз во временной интервал по закрытию бара?

По моей ТС нужно именно брать цену close бара 1.
Заранее спасибо!

И Вам доброго. Close[1] - то что Вам надо. А для того, что только один раз надо вести контроль нового бара. Вариантов как это сделать много, самый короткий проверки появления нового бара if (Volume[0]<2) ......

 
Здравствуйте,
Надежный способ проверки открытия бара - Tick counter.
Способ "if (Volume[0]<2)" может пропускать открытие нового бара.
С уважением,
Ais
 
datetime prevTime;

if(Time[0]!=prevTime)
{
   prevTime=Time[0];
   //Делаем то, что надо
}
 
Способ:
datetime prevTime; if(Time[0]!=prevTime) {    prevTime=Time[0];    //Делаем то, что надо }

может подвести при первом запуске, когда бар номер 1 может сильно устареть.

Надежней явно проверять открытие нового бара.

 
Ais >>:
Способ:

может подвести при первом запуске, когда бар номер 1 может сильно устареть.

Надежней явно проверять открытие нового бара.

Не подведет ;)

static int prevtime;

int init()
  {
   prevtime=Time[0];
   return(0);
  }

int start()
  {
   if(Time[0]==prevtime) return(0);
   prevtime=Time[0];

   //Делаем то, что надо

   return(0);
  }
 

Спасибочки всем за советы!!! Буду все пробовать и разбираться! Как приятно иметь дело с умными и отзывчивыми людьми!