Почему стрелка устанавливается только один раз при наличии условий с дальнейшем?

 

Здравствуйте, уважаемые программисты!

Имею интересный вопрос: Почему стрелка (в советнике) устанавливается только один раз при наличии условий с дальнейшем?

Например, при

if (High[1]>High[2]
{
     ObjectCreate("StartCandle",OBJ_ARROW,0,Time[1],High[1]+0.002);
     ObjectSet("StartCandle",OBJPROP_ARROWCODE,242);  
     ObjectSet ("StartCandle",OBJPROP_COLOR,Yellow);  
    }

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

 
Потому что нельзя создавать несколько обьектов с тем же именем. Или перемещайте уже созданный, или создавайте новый.
 
evillive:
Потому что нельзя создавать несколько обьектов с тем же именем. Или перемещайте уже созданный, или создавайте новый.

А как сделать, чтобы автоматически присваивалось новое имя новой стрелке?
 
remon:

А как сделать, чтобы автоматически присваивалось новое имя новой стрелке?
Например, к имени объекта добавить время сознания объекта
 
artmedia70:
Например, к имени объекта добавить время сознания объекта


Спасибо, попробуем!
 
И пойдёт он плодить обьекты, пока памяти хватит :)
 
evillive:
И пойдёт он плодить обьекты, пока памяти хватит :)

Тогда какой выход?
 
Перемещать уже созданный обьект на новое место. А если надо большее одной стрелки, то стирать старые, оставляя только самые свежие.
 
evillive:
Перемещать уже созданный обьект на новое место. А если надо большее одной стрелки, то стирать старые, оставляя только самые свежие.
Подскажите, как это реализовать в коде? Полдня уже бьюсь не могу додуматься. Будьте добры
 

Если появляется новое условие для которого стоит нарисовать стрелку, то:

ObjectMove("name", 0, newtime,newprice);

 
evillive:

Если появляется новое условие для которого стоит нарисовать стрелку, то:

ObjectMove("name", 0, newtime,newprice);


Сделал намного проще. Просто меняю имя при каждом новом условии

     ObjectCreate("StartCandleSell"+Ask,OBJ_ARROW,0,Time[1],High[1]+0.002);
     ObjectSet("StartCandleSell"+Ask,OBJPROP_ARROWCODE,242);  
     ObjectSet ("StartCandleSell"+Ask,OBJPROP_COLOR,Yellow);  
Причина обращения: