Проблема с советником.

Авторизуйтесь или зарегистрируйтесь, чтобы добавить комментарий
mt1002
140
mt1002  

Пишу советник с условием if (a>b) и при выполнении этого условия рисую точку по текущей цене

{ObjectCreate(0,"l_"+(string)sch,OBJ_ARROW,0,0,0,0,0);          

ObjectSetInteger(0,"l_"+(string)sch,OBJPROP_ARROWCODE,159);    

ObjectSetInteger(0,"l_"+(string)sch,OBJPROP_TIME,Time[0]);       

ObjectSetDouble(0,"l_"+(string)sch,OBJPROP_PRICE,Bid);

ObjectSet("l_"+(string)sch,OBJPROP_COLOR,White);

ObjectSet("l_"+(string)sch,OBJPROP_WIDTH,3);

sch = sch + 1;} 

Столкнулся с такой проблемой: на текущем баре точки рисуются нормально если условие выполняется, НО почему точки не сохраняются на истории как только условие не выполняется???

Vladimir Pastushak
99371
Vladimir Pastushak  
mt1002:

Пишу советник с условием if (a>b) и при выполнении этого условия рисую точку по текущей цене

{ObjectCreate(0,"l_"+(string)sch,OBJ_ARROW,0,0,0,0,0);          

ObjectSetInteger(0,"l_"+(string)sch,OBJPROP_ARROWCODE,159);    

ObjectSetInteger(0,"l_"+(string)sch,OBJPROP_TIME,Time[0]);       

ObjectSetDouble(0,"l_"+(string)sch,OBJPROP_PRICE,Bid);

ObjectSet("l_"+(string)sch,OBJPROP_COLOR,White);

ObjectSet("l_"+(string)sch,OBJPROP_WIDTH,3);

sch = sch + 1;} 

Столкнулся с такой проблемой: на текущем баре точки рисуются нормально если условие выполняется, НО почему точки не сохраняются на истории как только условие не выполняется???

У каждой точки должно быть свое имя, если точки не сохраняются значит советник их переносит. Попробуйте в имени точки использовать время бара.

mt1002
140
mt1002  
Vladimir Pastushak:

У каждой точки должно быть свое имя, если точки не сохраняются значит советник их переносит. Попробуйте в имени точки использовать время бара.

С именами вроде все хорошо: l_1, l_2, l_3 ... и т.д. Почему то на истории они не остаются(

Sergey Pavlov
13813
Sergey Pavlov  
mt1002:

С именами вроде все хорошо: l_1, l_2, l_3 ... и т.д. Почему то на истории они не остаются(

Вам уже посоветовали добавить в имя время.
mt1002
140
mt1002  
Sergey Pavlov:
Вам уже посоветовали добавить в имя время.

Нет не помогло, при открытии нового бара, все точки с предыдущего затираются.

Vitalii Ananev
11061
Vitalii Ananev  
mt1002:

Нет не помогло, при открытии нового бара, все точки с предыдущего затираются.

Значит сделали что то не так.

ObjectCreate(0,"l_"+TimeToString(Time[номер бара на котором рисуется стрелка]),OBJ_ARROW,0,0,0,0,0);     
mt1002
140
mt1002  
Vitalii Ananev:

Значит сделали что то не так.

Все равно точки не сохраняются на истории(

Vitalii Ananev
11061
Vitalii Ananev  
mt1002:

Все равно точки не сохраняются на истории(

Покажите, если не секрет, вашу часть кода, как вы это реализовали.  

mt1002
140
mt1002  
Vitalii Ananev:

Покажите, если не секрет, вашу часть кода, как вы это реализовали.  

void OnTick()

  {

double a=iCustom(NULL,PERIOD_CURRENT,"TEST_1",1,2,50,0,0);

double b=iCustom(NULL,PERIOD_CURRENT,"TEST_2",1,3,50,0,0);

if (a<b)

{

ObjectCreate(0,"h_"+TimeToString(Time[0]),OBJ_ARROW,0,0,0,0,0);          

ObjectSetInteger(0,"h_"+TimeToString(Time[0]),OBJPROP_ARROWCODE,159);    

ObjectSetInteger(0,"h_"+TimeToString(Time[0]),OBJPROP_TIME,Time[0]);       

ObjectSetDouble(0,"h_"+TimeToString(Time[0]),OBJPROP_PRICE,Bid);

ObjectSet("h_"+TimeToString(Time[0]),OBJPROP_COLOR,White);

ObjectSet("h_"+TimeToString(Time[0]),OBJPROP_WIDTH,3);

//sch = sch + 1;

}

Vitalii Ananev
11061
Vitalii Ananev  
mt1002:

void OnTick()

  {

double a=iCustom(NULL,PERIOD_CURRENT,"TEST_1",1,2,50,0,0);

double b=iCustom(NULL,PERIOD_CURRENT,"TEST_2",1,3,50,0,0);

if (a<b)

{

ObjectCreate(0,"h_"+TimeToString(Time[0]),OBJ_ARROW,0,0,0,0,0);          

ObjectSetInteger(0,"h_"+TimeToString(Time[0]),OBJPROP_ARROWCODE,159);    

ObjectSetInteger(0,"h_"+TimeToString(Time[0]),OBJPROP_TIME,Time[0]);       

ObjectSetDouble(0,"h_"+TimeToString(Time[0]),OBJPROP_PRICE,Bid);

ObjectSet("h_"+TimeToString(Time[0]),OBJPROP_COLOR,White);

ObjectSet("h_"+TimeToString(Time[0]),OBJPROP_WIDTH,3);

//sch = sch + 1;

}

А в коде ни где случайно нет функции удаления всех объектов?

mt1002
140
mt1002  
Vitalii Ananev:

А в коде ни где случайно нет функции удаления всех объектов?

нет

123
Авторизуйтесь или зарегистрируйтесь, чтобы добавить комментарий