построение трендовой линии по координатам, заданному углу - страница 2

 

скрипт

//+------------------------------------------------------------------+
//|                                                      квадрат.mq4 |
//|                      Copyright © 2011, MetaQuotes Software Corp. |
//|                                        http://www.metaquotes.net |
//+------------------------------------------------------------------+
#property copyright "Copyright © 2011, MetaQuotes Software Corp."
#property link      "http://www.metaquotes.net"
extern double H_1 = 1.4800; // уровень верхней линии
extern double L_1 = 1.3000; // уровень нижней линии
datetime HL = D'2011.08.25 00:00'; // левая сторона квадрата

//+------------------------------------------------------------------+
//| script program start function                                    |
//+------------------------------------------------------------------+
int QStep = 0;
int start()
  {
//----
  while(!IsStopped())
    {
if (QStep==0)
  {
   if (ObjectFind("левая вертикаль")<0) 
     ObjectCreate("левая вертикаль",OBJ_VLINE,0,HL,0);
   
   //--ВЕРХНЯ ЛИНИЯ --
   if (ObjectFind("верхняя горизонталь")<0)
      ObjectCreate("верхняя горизонталь",OBJ_HLINE,0,0,H_1); // создаем объект "верхняя горизонталь"
      
      ObjectSet("верхняя горизонталь",OBJPROP_COLOR,Yellow); // изменяем цвет "верхняя горизонталь" желтый
      ObjectSet("верхняя горизонталь",OBJPROP_STYLE,STYLE_DOT); // теперь линия "верхняя горизонталь" будет пунктирной 
      ObjectSet("верхняя горизонталь",OBJPROP_WIDTH,1); // теперь линия "верхняя горизонталь" толщиной в 1 пикселя
   
   //-НИЖНЯЯ ЛИНИЯ --
   if (ObjectFind("нижняя линия")<0)
      ObjectCreate("нижняя линия",OBJ_HLINE,0,0,L_1); // создаем объект "нижняя линия"
      
      ObjectSet("нижняя линия",OBJPROP_COLOR,Yellow); // изменяем цвет "нижняя линия" желтый
      ObjectSet("нижняя линия",OBJPROP_STYLE,STYLE_DOT); // теперь линия "нижняя линия" будет пунктирной 
      ObjectSet("нижняя линия",OBJPROP_WIDTH,1); // теперь линия "нижняя линия" толщиной в 1 пикселя 

   //-----НАКЛОННАЯ 1
   if (ObjectFind("НАКЛОННАЯ 1")<0)
      ObjectCreate("НАКЛОННАЯ 1", OBJ_TRENDBYANGLE, 0, HL, H_1);
      
      ObjectSet("НАКЛОННАЯ 1",OBJPROP_COLOR,Yellow); // изменяем цвет желтый
      ObjectSet("НАКЛОННАЯ 1", OBJPROP_ANGLE, 225);
      ObjectSet("НАКЛОННАЯ 1",OBJPROP_STYLE,STYLE_DOT); // теперь линия "НАКЛОННАЯ 1" будет пунктирной 
      ObjectSet("НАКЛОННАЯ 1",OBJPROP_WIDTH,1);
      
   QStep = 1;
  }
if (QStep==1)
  if (ObjectFind("НАКЛОННАЯ 1")>=0)
     {
      int t1 = ObjectGetShiftByValue("НАКЛОННАЯ 1", L_1);
      if (t1 >= 0)
        {
         ObjectCreate("правая сторона", OBJ_VLINE, 0, HL+HL-Time[t1], NULL);
         ObjectSet("правая сторона",OBJPROP_COLOR,Yellow); // изменяем цвет желтый
         ObjectSet("правая сторона",OBJPROP_STYLE,STYLE_DOT); // теперь линия "LD_1" будет пунктирной 
         ObjectSet("правая сторона",OBJPROP_WIDTH,1);
         ObjectDelete("НАКЛОННАЯ 1");
         QStep = 2;
        }
     }
if (QStep==2) break;
     Sleep(100);
   }
//----
   return(0);
  }
//+------------------------------------------------------------------+
Причина обращения: