Как в MQL4 нарисовать прямые линии(высшей и низшей цены) по последнему бару?

 

Как в MQL4 нарисовать прямые линии(высшей и низшей цены) по последнему закрывшемуся бару?

И при открытии нового бара линии на графики перемещались???

 
string name = "High";
setLine(name, High[1], Red, 0, true);
name = "Low";
setLine(name, Low[1], Green, 0, true);

void setLine(string name, double price, color col, int style = 0, bool back = false){
   if (ObjectFind(name)==-1){            
      ObjectCreate(name, OBJ_HLINE, 0, 0,0);
      ObjectSet(name, OBJPROP_PRICE1, price);
      ObjectSet(name, OBJPROP_COLOR, col);
      ObjectSet(name, OBJPROP_BACK, back);
   }else{
      if (ObjectGet(name,OBJPROP_PRICE1) != price){
         ObjectDelete(name);
         setTrendLine(name, price, col, style, back);
      }
   }
}
 
keekkenen писал(а) >>

Вот сразу видно, что вы программируете как учили... Ну тоесть правильно... Типа надо все проверить и найти и уж потом ну там делать что-то... Но на самом деле это не эфективно...

if ( ObjectMove ( ln, 0, Time[p0], arr[p0]+updev ) ){
   ObjectMove ( ln, 1, Time[p1], arr[p1]+updev );      
}
else {
   ObjectCreate(ln,OBJ_TREND,0,Time[p0], arr[p0]+updev ,Time[p1], arr[p1]+updev );      
   ObjectSet(ln,OBJPROP_RAY,false);
   ObjectSet(ln,OBJPROP_COLOR,cl);
   ObjectSet(ln,OBJPROP_STYLE,STYLE_DASH);
}

Это пример кода, который просто сначала двигает обьект... Ну а если не получилось, то создает новый...

... :)) Без обид... ладно... Просто бытовая логика в программировании, как бы не всегда правильно...

---

http://robotrading.liveforums.ru/

 

могу что делаю, делаю что могу..

код, вероятно, и неоптимальный в отличие от твоего..

я пишу так как мне удобно для моих целей, мое дело предложить то, что работает, разобравшись в нем (тот же KDA) решит,

что нужно изменить и оптимизировать..

а правильность - это вопрос подхода.. по моему, правильно это когда всегда работает, по твоему - когда быстро..

 
keekkenen писал(а) >>

могу что делаю, делаю что могу..

код, вероятно, и неоптимальный в отличие от твоего, который не работает (это если придираться)..

я пишу так как мне удобно для моих целей, мое дело предложить то, что работает, разобравшись в нем (тот же KDA) решит,

что нужно изменить и оптимизировать..

а правильность - это вопрос подхода.. по моему, правильно это когда всегда работает, по твоему - когда быстро..

А что не работает-то? В моем?

 
ошибся я, извини, поправил пост..
Причина обращения: