Скачать MetaTrader 5
Авторизуйтесь или зарегистрируйтесь, чтобы добавить комментарий
Управляй агентами в профиле. Это просто!
Михаил
77
Михаил 2013.04.15 12:07 

Всем доброго времени суток и доброго здравия =). Столкнулся с ошибкой, не могу понять, что не так.

Допустим, нужно мне найти дневной максимум и минимум трех последних дней. Пишу следующий код.

for(i=3;i>=1;i--)
      { 
    double price=iHigh(Symbol(),PERIOD_D1,i);
    double time1 = iTime(Symbol(),PERIOD_D1,i);
    double time2 = iTime(Symbol(),PERIOD_D1,i-1);
    ObjectCreate("highLine" + i,OBJ_TREND,0,time1,price,time2,price);
    price=iLow(Symbol(),PERIOD_D1,i);
    ObjectCreate("lowLine" + i,OBJ_TREND,0,time1,price,time2,price);
      
      
   ObjectSet("highLine"+i,OBJPROP_COLOR,Crimson);
   ObjectSet("highLine"+i,OBJPROP_STYLE,STYLE_DOT);
   ObjectSet("lowLine"+i,OBJPROP_COLOR,Crimson);
   ObjectSet("lowLine"+i,OBJPROP_STYLE,STYLE_DOT);  
      }

 Все работает великолепно, но есть одно но : линии рисуются правильно, начиная с времени открытия дня, но вот уходят они в бесконечность, не смотря на то, что вторая координата обозначает окончание этого дня (начало нового). Что не пробовал, не пойму все равно. Почему линия рисуется в бесконечность, а не до начала следующего дня?

Mikhail Dovbakh
3564
Mikhail Dovbakh 2013.04.15 13:22  

OBJPROP_RAY устанавливайте после создания в false.    

     ObjectSet("highLine"+i,OBJPROP_RAY, false);

     ObjectSet("lowLine"+i,OBJPROP_RAY, false);

Михаил
77
Михаил 2013.04.17 13:00  
Спасибо огромное! Проблема решена.
/
Авторизуйтесь или зарегистрируйтесь, чтобы добавить комментарий