Как узнать цену открытия

 
MarketTalk.Ru писал(а) >>
Всем привет. Народ подскажите, как узнать цену открытия первого бара в начале нового торгового дня?

iOpen(Symbol(),PERIOD_D1,0) это цена открытия в 00:00 по времени брокера

А что Вы вкладываете в понятие новый торговый день?

 
Figar0 >>:

iOpen(Symbol(),PERIOD_D1,0) это цена открытия в 00:00 по времени брокера

А что Вы вкладываете в понятие новый торговый день?

Спасибо. Именно то что вы написали.

 
Хм
Figar0 >>:

iOpen(Symbol(),PERIOD_D1,0) это цена открытия в 00:00 по времени брокера

А что Вы вкладываете в понятие новый торговый день?


Хм.. чет не то, данный пример показывает цену открытия текущего бара.
 
MarketTalk.Ru писал(а) >>
Хм

Хм.. чет не то, данный пример показывает цену открытия текущего бара.

А что есть текущий бар на D1? Как раз и получается цена на начало текущего дня. Если Вас интересует цена открытия именно бара с индексом "1", уточните ТФ, но полюбас будет выглядеть

iOpen(Symbol(),ТФ,1). На D1 бар с индексом "1" это вчера, с индексом "0" текущий бар от начала дня по текущий момент)

Тут одно из двух: либо я непониманию что Вы спрашиваете, либо Вы:)

 
Figar0 >>:

А что есть текущий бар на D1? Как раз и получается цена на начало текущего дня. Если Вас интересует цена открытия именно бара с индексом "1", уточните ТФ, но полюбас будет выглядеть

iOpen(Symbol(),ТФ,1). На D1 бар с индексом "1" это вчера, с индексом "0" текущий бар от начала дня по текущий момент)

Тут одно из двух: либо я непониманию что Вы спрашиваете, либо Вы:)

Именно цену открытия первого бара после 00.00 Гринвича, т.е это начало новго торгового дня. т.е нужно попробовать с 1.

 

а как узнать цену индекса (nikkei например) в валюте депозита на момент открытия позиции?

подробно тут

 

int denGoda0, denGoda1; //до инициализации        

int start()

{

int i, counted_bars = IndicatorCounted();

    if(counted_bars < 0) //---- check for possible errors

        return(-1);


    if(counted_bars > 0) //---- last counted bar will be recounted

       counted_bars--;  

    int limit = Bars - counted_bars;

    

    for(i = limit - 1; i >= 0; i--) {

denGoda0 = TimeDayOfYear(Time[i]); //день в году

        if (denGoda0 != denGoda1) { //если день в году не равен предыдущему дню
            priceOpenDay = iOpen(Symbol(), PERIOD_H1, i); // присвоить открытию дня цену открытия дня
            denGoda1 = denGoda0; // обновить день в году

        }

    }

 return(0);

}

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