Скачать MetaTrader 5
Авторизуйтесь или зарегистрируйтесь, чтобы добавить комментарий
Подпишись на сигнал прямо в MetaTrader. Это просто!
Nikita Zubarov
367
Nikita Zubarov 2013.10.23 00:37 

Здравствуйте,

Подскажите как заставить советника рисовать обьекты?

В данный момент мне нужно заставить советника рисовать линию, Что то тима МА только с моими данными.

Вот как должно выглядеть:

Советник вычеслил какую-то цену, и нарисовал точку, потом цена поменялась и советник нарисовал новую точку и соеденил их линией, потом цена опять поменялась и опять советник нарисовал новую точку и соеденил линией.

Возможно ли такое вообще?

Советник вообще умеет рисовать линии или точки?

Victor Nikolaev
Модератор
14355
Victor Nikolaev 2013.10.23 00:55  
Frostr:

Здравствуйте,

Подскажите как заставить советника рисовать обьекты?

В данный момент мне нужно заставить советника рисовать линию, Что то тима МА только с моими данными.

Вот как должно выглядеть:

Советник вычеслил какую-то цену, и нарисовал точку, потом цена поменялась и советник нарисовал новую точку и соеденил их линией, потом цена опять поменялась и опять советник нарисовал новую точку и соеденил линией.

Возможно ли такое вообще?

Советник вообще умеет рисовать линии или точки?


Объекты
Nikita Zubarov
367
Nikita Zubarov 2013.10.23 00:59  
не очень полезная инфа )
Nikita Zubarov
367
Nikita Zubarov 2013.10.23 01:03  
кто знает как заставить советника рисовать точки на заданой цене, или линию.... только не трендевую))
Рустам
3597
Рустам 2013.10.23 01:24  
Artyom Trishkin
Модератор
73837
Artyom Trishkin 2013.10.23 05:18  
Frostr:
кто знает как заставить советника рисовать точки на заданой цене, или линию.... только не трендевую))
То, что вы хотите сделать возможно именно трендовой с отключенным свойством "луч". И только так.
Yuriy Zaytsev
13009
Yuriy Zaytsev 2013.10.23 06:16  
Frostr:
кто знает как заставить советника рисовать точки на заданой цене, или линию.... только не трендевую))

Судя по всему не знаете MQL4 https://book.mql4.com/ru/

Изучая язык обратите внимание на CreateoOject https://book.mql4.com/ru/functions/objects https://docs.mql4.com/ru/objects/ObjectCreate

сначала почитайте и попробуйте... не будет получаться приходите выложите исходник, тут помогут


Nikita Zubarov
367
Nikita Zubarov 2013.10.23 06:25  
спасиб, ща попробую...
Dmitry Fedoseev
42626
Dmitry Fedoseev 2013.10.23 06:43  
Трендовыми линиями рисовать. Может и есть какие другие способы рисования точки, только криво будет, а трендовыми линиями нормально. Размер точки определяется толщиной линии. А чтобы собственно точка получилось, нужно задавать одинаковые координаты первой и второй точки трендовой линии.
Nikita Zubarov
367
Nikita Zubarov 2013.10.23 07:02  

но хотелось бы увидеть какую-нибудь функцию, которая может соеденять заданые точки линией.....

например:

советник вычислил какую-нибудь цену - "А" и запомнил ее... потом цена изменилась и стала цена - "B" мне нужно что бы советник соеденил эти цены линией.....

Artyom Trishkin
Модератор
73837
Artyom Trishkin 2013.10.23 07:22  
Frostr:

но хотелось бы увидеть какую-нибудь функцию, которая может соеденять заданые точки линией.....

например:

советник вычислил какую-нибудь цену - "А" и запомнил ее... потом цена изменилась и стала цена - "B" мне нужно что бы советник соеденил эти цены линией.....

Ваш советник должен всегда вычислять две координаты. Они могут совпадать - будет точка. И не совпадать - будет линия. У каждой такой линии/точки должно быть своё уникальное имя, чтобы те линии, которые были нарисованы ранее, не перемещались на новые координаты, а оставались на своём месте.

//+----------------------------------------------------------------------------+
void SetTLine (color cl,         // Цвет линии
               int wnd,          // Номер окна, куда будет выведена линия
               string nm="",     // Имя линии
               datetime t1=0,    // Первая координата ВРЕМЯ
               double p1=0,      // Первая координата ЦЕНА
               datetime t2=0,    // Вторая координата ВРЕМЯ
               double p2=0,      // Вторая координата ЦЕНА
               bool ry=False,    // true = луч, false = не луч
               int st=0,         // Стиль линии
               int wd=1)         // Толщина линии
               {
  if (ObjectFind(nm)<0) ObjectCreate(nm, OBJ_TREND, wnd, 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);
}
//+----------------------------------------------------------------------------+
/ /123
Авторизуйтесь или зарегистрируйтесь, чтобы добавить комментарий