Линия Ганна не меняет направление при изменении масштаба?

SolomatovS

Интересующийся
Здравствуйте. Мне нужно воссоздать "Веер Ганна", отличающийся от встроенного в МТ. В принципе для этого неплохо подходят линии ганна, но почему-то они не меняют своё направление при изменении масштаба, т.е. все линии проходят по заданным изначально координатам. В свойствах обьектов, масштаб у линий разный!!! Я чего-то непонимаю?

Вот код индикатора:
Код:
   //Вычисляем масштаб для линий Ганна
   double Scale = MathAbs(Price1 - Price2)/Point/TotalBars;
   double M21  = Scale*2;    double M12  = Scale/2;   //Первая пара
   double M31  = Scale*3;    double M13  = Scale/3;   //Вторая пара
   double M41  = Scale*4;    double M14  = Scale/4;   //Третья пара
   double M81  = Scale*8;    double M18  = Scale/8;   //Четвёртая пара
   double M161 = Scale*16;   double M116 = Scale/16;  //Пятая пара

   //Рисуем линии Ганна
   ObjectCreate("M", OBJ_GANNLINE, 0, Time1, Price1, Time2, Price2);
   ObjectSet("M", OBJPROP_SCALE, Scale);
   ObjectSet("M", OBJPROP_STYLE, STYLE_SOLID);
   ObjectSet("M", OBJPROP_COLOR, Red);

   if(Пара_1 == true)
   {
      ObjectCreate("M21", OBJ_GANNLINE, 0, Time1, Price1, Time2, Price2);
      ObjectSet("M21", OBJPROP_SCALE, M21);
      ObjectSet("M21", OBJPROP_COLOR, Цвет_1);
      ObjectCreate("M12", OBJ_GANNLINE, 0, Time1, Price1, Time2, Price2);
      ObjectSet("M12", OBJPROP_SCALE, M12);
      ObjectSet("M12", OBJPROP_COLOR, Цвет_1);
   }
   if(Пара_2 == true)
   {
      ObjectCreate("M31", OBJ_GANNLINE, 0, Time1, Price1, Time2, Price2);
      ObjectSet("M31", OBJPROP_SCALE, M31);
      ObjectSet("M31", OBJPROP_COLOR, Цвет_2);
      ObjectCreate("M13", OBJ_GANNLINE, 0, Time1, Price1, Time2, Price2);
      ObjectSet("M13", OBJPROP_SCALE, M13);
      ObjectSet("M13", OBJPROP_COLOR, Цвет_2);
   }
   if(Пара_3 == true)
   {
      ObjectCreate("M41", OBJ_GANNLINE, 0, Time1, Price1, Time2, Price2);
      ObjectSet("M41", OBJPROP_SCALE, M41);
      ObjectSet("M41", OBJPROP_COLOR, Цвет_3);
      ObjectCreate("M14", OBJ_GANNLINE, 0, Time1, Price1, Time2, Price2);
      ObjectSet("M14", OBJPROP_SCALE, M14);
      ObjectSet("M14", OBJPROP_COLOR, Цвет_3);
   }
......
И так далее

Вот скрин:
13075342.gif


Повторюсь ещё раз, в свойствах объектов показывает разный масштаб, а рисует все линии под одну гребёнку!
 

DBL4Xv2WmTAbFqs

Активный участник
Здравствуйте. Мне нужно воссоздать "Веер Ганна", отличающийся от встроенного в МТ. В принципе для этого неплохо подходят линии ганна, но почему-то они не меняют своё направление при изменении масштаба, т.е. все линии проходят по заданным изначально координатам. В свойствах обьектов, масштаб у линий разный!!! Я чего-то непонимаю?

Вот код индикатора:
Код:
   //Вычисляем масштаб для линий Ганна
   double Scale = MathAbs(Price1 - Price2)/Point/TotalBars;
   double M21  = Scale*2;    double M12  = Scale/2;   //Первая пара
   double M31  = Scale*3;    double M13  = Scale/3;   //Вторая пара
   double M41  = Scale*4;    double M14  = Scale/4;   //Третья пара
   double M81  = Scale*8;    double M18  = Scale/8;   //Четвёртая пара
   double M161 = Scale*16;   double M116 = Scale/16;  //Пятая пара

   //Рисуем линии Ганна
   ObjectCreate("M", OBJ_GANNLINE, 0, Time1, Price1, Time2, Price2);
   ObjectSet("M", OBJPROP_SCALE, Scale);
   ObjectSet("M", OBJPROP_STYLE, STYLE_SOLID);
   ObjectSet("M", OBJPROP_COLOR, Red);

   if(Пара_1 == true)
   {
      ObjectCreate("M21", OBJ_GANNLINE, 0, Time1, Price1, Time2, Price2);
      ObjectSet("M21", OBJPROP_SCALE, M21);
      ObjectSet("M21", OBJPROP_COLOR, Цвет_1);
      ObjectCreate("M12", OBJ_GANNLINE, 0, Time1, Price1, Time2, Price2);
      ObjectSet("M12", OBJPROP_SCALE, M12);
      ObjectSet("M12", OBJPROP_COLOR, Цвет_1);
   }
   if(Пара_2 == true)
   {
      ObjectCreate("M31", OBJ_GANNLINE, 0, Time1, Price1, Time2, Price2);
      ObjectSet("M31", OBJPROP_SCALE, M31);
      ObjectSet("M31", OBJPROP_COLOR, Цвет_2);
      ObjectCreate("M13", OBJ_GANNLINE, 0, Time1, Price1, Time2, Price2);
      ObjectSet("M13", OBJPROP_SCALE, M13);
      ObjectSet("M13", OBJPROP_COLOR, Цвет_2);
   }
   if(Пара_3 == true)
   {
      ObjectCreate("M41", OBJ_GANNLINE, 0, Time1, Price1, Time2, Price2);
      ObjectSet("M41", OBJPROP_SCALE, M41);
      ObjectSet("M41", OBJPROP_COLOR, Цвет_3);
      ObjectCreate("M14", OBJ_GANNLINE, 0, Time1, Price1, Time2, Price2);
      ObjectSet("M14", OBJPROP_SCALE, M14);
      ObjectSet("M14", OBJPROP_COLOR, Цвет_3);
   }
......
И так далее

Вот скрин:
13075342.gif


Повторюсь ещё раз, в свойствах объектов показывает разный масштаб, а рисует все линии под одну гребёнку!

добрый день.
выполнено по просьбе
eduard9898
 
Последнее редактирование:

DBL4Xv2WmTAbFqs

Активный участник
добрый день.
забыл представиться.
http://forexsystemsru.com/poisk-programmista-poisk-zakazov/51194-napishu-sovetnik-dlya-mt4.html
 

Вложения

  • Gann_Line.ex4
    5,3 КБ · Просмотры: 50

volodymyr67

Гуру форума
Здравствуйте. Мне нужно воссоздать "Веер Ганна", отличающийся от встроенного в МТ. В принципе для этого неплохо подходят линии ганна, но почему-то они не меняют своё направление при изменении масштаба, т.е. все линии проходят по заданным изначально координатам. В свойствах обьектов, масштаб у линий разный!!! Я чего-то непонимаю?

Вот код индикатора:
Код:
   //Вычисляем масштаб для линий Ганна
   double Scale = MathAbs(Price1 - Price2)/Point/TotalBars;
   double M21  = Scale*2;    double M12  = Scale/2;   //Первая пара
   double M31  = Scale*3;    double M13  = Scale/3;   //Вторая пара
   double M41  = Scale*4;    double M14  = Scale/4;   //Третья пара
   double M81  = Scale*8;    double M18  = Scale/8;   //Четвёртая пара
   double M161 = Scale*16;   double M116 = Scale/16;  //Пятая пара

   //Рисуем линии Ганна
   ObjectCreate("M", OBJ_GANNLINE, 0, Time1, Price1, Time2, Price2);
   ObjectSet("M", OBJPROP_SCALE, Scale);
   ObjectSet("M", OBJPROP_STYLE, STYLE_SOLID);
   ObjectSet("M", OBJPROP_COLOR, Red);

   if(Пара_1 == true)
   {
      ObjectCreate("M21", OBJ_GANNLINE, 0, Time1, Price1, Time2, Price2);
      ObjectSet("M21", OBJPROP_SCALE, M21);
      ObjectSet("M21", OBJPROP_COLOR, Цвет_1);
      ObjectCreate("M12", OBJ_GANNLINE, 0, Time1, Price1, Time2, Price2);
      ObjectSet("M12", OBJPROP_SCALE, M12);
      ObjectSet("M12", OBJPROP_COLOR, Цвет_1);
   }
   if(Пара_2 == true)
   {
      ObjectCreate("M31", OBJ_GANNLINE, 0, Time1, Price1, Time2, Price2);
      ObjectSet("M31", OBJPROP_SCALE, M31);
      ObjectSet("M31", OBJPROP_COLOR, Цвет_2);
      ObjectCreate("M13", OBJ_GANNLINE, 0, Time1, Price1, Time2, Price2);
      ObjectSet("M13", OBJPROP_SCALE, M13);
      ObjectSet("M13", OBJPROP_COLOR, Цвет_2);
   }
   if(Пара_3 == true)
   {
      ObjectCreate("M41", OBJ_GANNLINE, 0, Time1, Price1, Time2, Price2);
      ObjectSet("M41", OBJPROP_SCALE, M41);
      ObjectSet("M41", OBJPROP_COLOR, Цвет_3);
      ObjectCreate("M14", OBJ_GANNLINE, 0, Time1, Price1, Time2, Price2);
      ObjectSet("M14", OBJPROP_SCALE, M14);
      ObjectSet("M14", OBJPROP_COLOR, Цвет_3);
   }
......
И так далее

Вот скрин:
13075342.gif


Повторюсь ещё раз, в свойствах объектов показывает разный масштаб, а рисует все линии под одну гребёнку!

может этот посмотриш и сможеш разобратса
 

Вложения

  • FiboFan_8.mq4
    16,3 КБ · Просмотры: 42
Верх