Версия для печати темы
Форум трейдеров рынка ФОРЕКС (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 ****************************