Версия для печати темы

Нажмите сюда для просмотра этой темы в обычном формате

Форум трейдеров рынка ФОРЕКС (FOREX). Анализ Форекс _ MQL программирование _ Подскажите как создать графический объект ?

Автор: Teoretik 14.2.2008, 22:02

Подскажите как в Mql-4 написать такой скрипт: создать графический объект на графике, например отрезок зеленого цвета а потом при помощи мыши перемещать его по графику ?

Автор: Dimi 15.2.2008, 11:12

Цитата(Teoretik @ 14.2.2008, 23:02) *

Подскажите как в Mql-4 написать такой скрипт: создать графический объект на графике, например отрезок зеленого цвета а потом при помощи мыши перемещать его по графику ?

Привет. А для чего так все усложнять, скпипты писать??? Поставь на график трэндовую линию и перемещай ее мышью сколько тебе хочется и куда хочешь... Или я что-то не так понял....????

Автор: leonid553 15.2.2008, 18:06

Есть даже графические эксперты в свободном доступе. Рисуешь на графике канал - а эксперт уж сам торгует на отскок от границ канала.

Автор: Teoretik 15.2.2008, 21:33

Цитата(leonid553 @ 15.2.2008, 18:06) *

Есть даже графические эксперты в свободном доступе. Рисуешь на графике канал - а эксперт уж сам торгует на отскок от границ канала.

И вы торговали с этим экспертом ?


Цитата(Dimi @ 15.2.2008, 11:12) *

Привет. А для чего так все усложнять, скпипты писать??? Поставь на график трэндовую линию и перемещай ее мышью сколько тебе хочется и куда хочешь... Или я что-то не так понял....????

Конечно не так поняли, мне нужна не трэндовая линия а объект на графике перемещая который на мышью происходит пересчет массива данных и рассчет новых параметров.

Автор: leonid553 22.2.2008, 10:52

Пожалуй, вот здесь именно то, что вам нужно:
http://articles.mql4.com/ru/111

Автор: leonid553 28.3.2008, 16:17

==


Эскизы прикрепленных изображений

Прикрепленное изображение в новом окне

Автор: Teoretik 28.3.2008, 20:59

Цитата(leonid553 @ 22.2.2008, 10:52) *

Пожалуй, вот здесь именно то, что вам нужно:
http://articles.mql4.com/ru/111
Может это и то что надо, только этот скрипт что-то не компилируется у меня, ошибки выдает.

Автор: leonid553 29.3.2008, 7:28

А какие ошибки?

Автор: Teoretik 29.3.2008, 12:24

Цитата(leonid553 @ 29.3.2008, 7:28) *

А какие ошибки?
Начинаю компилировать AutoGraf_expert.mq4 как указанно в инструкции.
Выдает ошибки :
'' - unexpected end of program C:\Program Files\Golden Trader 4\experts\include\AG_Metsenat_exp.mq4 (116, 1)
'' - unexpected end of program C:\Program Files\Golden Trader 4\experts\include\AG_Proverka_exp.mq4 (79, 1)
'' - unexpected end of program C:\Program Files\Golden Trader 4\experts\include\AG_Message_uni.mq4 (142, 1)
'' - unexpected end of program C:\Program Files\Golden Trader 4\experts\include\AG_Torgusha_exp.mq4 (97, 1)
'' - unexpected end of program C:\Program Files\Golden Trader 4\experts\AutoGraf_expert.mq4 (123, 1)
5 ошибок, 0 предупреждений



Автор: xZibit 29.3.2008, 12:44

Цитата(leonid553 @ 15.2.2008, 18:06) *

Есть даже графические эксперты в свободном доступе. Рисуешь на графике канал - а эксперт уж сам торгует на отскок от границ канала.

а можно ссылочку на такой эксперт или индюк....... заранее большое спасибо....

Автор: leonid553 29.3.2008, 13:48

Да, можно - http://www.kimiv.ru/index.php?option=com_remository&Itemid=13&func=fileinfo&id=41
Все эксперты по данной ссылке сделаны исключительно профессионально и качественно.
//-------------------------------------------------------------------
Teoretik, завтра посмотрю, почему там ошибки....

Автор: KimIV 29.3.2008, 19:32

Цитата(Teoretik @ 15.2.2008, 3:02) *

Подскажите как в Mql-4 написать такой скрипт: создать графический объект на графике, например отрезок зеленого цвета а потом при помощи мыши перемещать его по графику ?

Могу предложить свою функцию, которая предназначена как раз для прорисовки трендовой линии (отрезка)
Код
//+----------------------------------------------------------------------------+
//|  Автор    : Ким Игорь В. aka KimIV,  http://www.kimiv.ru                   |
//+----------------------------------------------------------------------------+
//|  Версия   : 12.10.2007                                                     |
//|  Описание : Прорисовка трендовой линии                                     |
//+----------------------------------------------------------------------------+
//|  Параметры:                                                                |
//|    cl - цвет линии                                                         |
//|    nm - наименование               ("" - время открытия текущего бара)     |
//|    t1 - время открытия бара        (0  - Time[10]                          |
//|    p1 - ценовой уровень            (0  - Bid)                              |
//|    t2 - время открытия бара        (0  - текущий бар)                      |
//|    p2 - ценовой уровень            (0  - Bid)                              |
//|    ry - луч                        (0  - по умолчанию)                     |
//|    st - стиль линии                (0  - простая линия)                    |
//|    wd - ширина линии               (0  - по умолчанию)                     |
//+----------------------------------------------------------------------------+
void DrawLine(color cl, string nm="",
              datetime t1=0, double p1=0, datetime t2=0, double p2=0,
              bool ry=False, int st=0, int wd=0) {
  if (nm=="") nm=DoubleToStr(Time[0], 0);
  if (t1<=0) t1=Time[10];
  if (p1<=0) p1=Low[10];
  if (t2<=0) t2=Time[0];
  if (p2<=0) p2=Bid;
  if (ObjectFind(nm)<0) ObjectCreate(nm, OBJ_TREND, 0, 0,0, 0,0);
  ObjectSet(nm, OBJPROP_TIME1 , t1);
  ObjectSet(nm, OBJPROP_PRICE1, p1);
  ObjectSet(nm, OBJPROP_TIME2 , t2);
  ObjectSet(nm, OBJPROP_PRICE2, p2);
  ObjectSet(nm, OBJPROP_COLOR , cl);
  ObjectSet(nm, OBJPROP_RAY   , ry);
  ObjectSet(nm, OBJPROP_STYLE , st);
  ObjectSet(nm, OBJPROP_WIDTH , wd);
}


Использовать можно хоть в индикаторе, хоть в советнике, хоть в скрипте следующим образом:
Код
DrawLine (Grenn, "Line1", Time[10], Low[10], Time[1], Low[1], False);

Автор: leonid553 31.3.2008, 19:42

Рад вас видеть, Игорь, на форуме! Благодарю за предложенную функцию!

Автор: Dimi 6.4.2008, 19:07

Наверное не по теме немного вопрос мой будет... Может кто знает, как в эксперте задать МА, которая рассчитывалась бы не по Close, Open и т.д. а по какому-нибудь индикатору???

Заранее благодарен!!!

Автор: Dimi 1.11.2008, 17:10

Привет всем! Может кто подскажет, как в этом алгоритме, поиска последнего нижнего фрактала, узнать на каком всё таки баре он его нашёл, для того что бы потом на этом баре узнать значение другого индюка. Я так понимаю его надо занести в буфер, а вот как это сделать....

Заранее благодарен.

Вот и сам алгоритм

Код
//--------------------------------------------------------------------  
// Пункт №1 алгоритма. Поиск нижнего фракталa для GBPJPY            |
//--------------------------------------------------------------------
  
   double DownFractal_GBPJPY = 0;
   int i_GBPJPY = 3;
   while( DownFractal_GBPJPY == 0 && i_GBPJPY<15)  
    {
     if(iFractals("GBPJPY", 0, MODE_LOWER, i_GBPJPY) != 0)
      if(DownFractal_GBPJPY == 0)
        DownFractal_GBPJPY = iFractals("GBPJPY", 0, MODE_LOWER, i_GBPJPY);
     i_GBPJPY++;  
    }  
   if(DownFractal_GBPJPY == 0)
    {
     Print("Ошибка в истории. Не найден один из фракталов GBPJPY!");
     return(0);
     }
// ***************** Фрактал найден для GBPJPY ****************************