в чем различия iOpen и Open ?

 

какая из них берет значение текущего времении в тестере?

т.е. не заглядывая в будущее,

c shift=10 должен давать значение не от текущей даты, о от даты в тестере, например 01.01.2005 со сдвигом -10 баров, а не от 09.04.2009.

спасибо.

что-то запутался в трех соснах, видимо.

 
Видимо, Вы тестируете в виузаельном режиме, и при этом на график визауального тестирования накладываете какой-то индикатор.
 
Rosh писал(а) >>
Видимо, Вы тестируете в виузаельном режиме, и при этом на график визауального тестирования накладываете какой-то индикатор.

извините, у меня сейчас нет кода под рукой, но функия простейшая не получается...=///

она в двух строках буквально, пишу "отруки":

small=High[iHighest(0,100,0)];

for i=1 ... <=100 ; i++;

if iOpen(null,0,100-i)>small+0.0050

print ('hello');

break;

(ищем значение больше минимального на 50пп на истории 100 баров)

в итоге она выдает чушь...

 

Функция Open[i] - получение значение цены открытия на текущем периоде графика

если у Вас например EURUSD M5 - то получаеммые значения Open[i] - это пятиминутные выборки EURUSD

при использовании функции iOpen(Symbol,TimeFrame,Index) - позволяет производить выборку

данных по выбраному вами инструменту (символу), периоду, Index - это позиция выборки от начала данных

Open[i]<==>iOpen(Symbol(),0,i) - равноценная выборка данных

если используется пример EURUSD M5 то равноценной выборкой будет Open[i]<==>iOpen("EURUSD",5,i)

 
alexvvv >>:

извините, у меня сейчас нет кода под рукой, но функия простейшая не получается...=///

она в двух строках буквально, пишу "отруки":

small=High[iHighest(0,100,0)];

for i=1 ... <=100 ; i++;

if iOpen(null,0,100-i)>small+0.0050

print ('hello');

break;

(ищем значение больше минимального на 50пп на истории 100 баров)

в итоге она выдает чушь...

А по мне - так "чушь" у Вас написана, уж не обессудьте - использую Ваши термины : Вы ищете значение больше максимального на 50 пунктов на том же интервале, на котором искали максимум. И как по Вашему, что Вы должны получить ?

Если написано точно, то еще и вызов функции неверный - нет в МТ периода 100. Так, что если хотите реально разобраться, то приводите точные коды.

А по поводу "чуши" - RTFM - это вообще первое с чего нужно начинать. И если что-то не получается сначала пытайтесь разобраться чего Вы не допоняли.

Успехов.

 
Повторю вопрос.
Rosh >>:
Видимо, Вы тестируете в виузаельном режиме, и при этом на график визауального тестирования накладываете какой-то индикатор.
 

а так не пробовали?

  for(int i=1;i<100;i++){
    if(iOpen(Symbol(),0,i)>small+50*Point){
      Print("Hello!");
      break;
    }
  }
 
Rosh писал(а) >>
Повторю вопрос.

нет, ничего не накладываю в визуальном режиме.

 
Rosh писал(а) >>
Повторю вопрос.

нет, ничего не накладываю в визуальном режиме.

 
VladislavVG писал(а) >>

А по мне - так "чушь" у Вас написана, уж не обессудьте - использую Ваши термины : Вы ищете значение больше максимального на 50 пунктов на том же интервале, на котором искали максимум. И как по Вашему, что Вы должны получить ?

Если написано точно, то еще и вызов функции неверный - нет в МТ периода 100. Так, что если хотите реально разобраться, то приводите точные коды.

А по поводу "чуши" - RTFM - это вообще первое с чего нужно начинать. И если что-то не получается сначала пытайтесь разобраться чего Вы не допоняли.

Успехов.

перепутал.... loewst и highest.

вот подправил, так я яснее могу дать ситуацию?...

small=Low[iLowest(0,100,0)]; /// ищем минимум на последних 100 барах

for int i=1; i<=100 ; i++;

if Open[100-i]>small+0.0050 ///ищем первую точку на последних ста барах со значением больше 50пп

{print ('hello');

break;}

 
Rosh писал(а) >>
Повторю вопрос.

а будьте добры, по подробнее пожалуйста об этом моменте....

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