Любые вопросы новичков по MQL4 и MQL5, помощь и обсуждение по алгоритмам и кодам - страница 516

 
Maxim Kuznetsov:

совсем уж штатных API нет для такого, но если очень хочется, то можно :-)

алгоритм примерно такой:

- пролистать все индикаторы чарта (включая подокна), чтобы собрать макс.инфы про меняемый индикатор (имя/порядковый номер)

- сохранить шаблон графика

- распарсить шаблон найдя в нём нужный вам индюк

- поменять требуемое значение

- ChartApplyTemplate

- (не забыть что все индикаторы и советники чарта будут перезагружены, и возможно ваш в том числе, и ещё придётся видимо копировать файлы через WinAPI)

в общем дикий гимор :-)

Спасибо теперь я понял что у меня один только путь через WinAPI ! Спасибо большое !

 
STARIJ:

Очень просто, часто так делаю. Удобство в том, что скрипту можно назначить клавишу. Например, Ctrl-z убрать линии,  Alt-z показать линии. Смотрите функции GlobalVariableSet() и GlobalVariableGet() Пример прикрепил.     Идею взял на другом ресурсе (исправлено модератором Artyom Trishkin)

Спасибо это как раз то что мне нуно !!!

 
Alexey Viktorov:

1.

OBJPROP_CREATETIME

Время создания объекта

datetime    r/o

2.

OBJPROP_PRICE

Координата цены

double    модификатор=номер точки привязки

Спасибо, но что то не получается.

int obj_total=ObjectsTotal();
       for(int iL=0;iL<obj_total;iL++)
  {
   name=ObjectName(iL);
   if(ObjectType(name)!=OBJ_TRIANGLE) continue;
   if(StringFind(name,"321fa",0)!=-1)
     {

    time= ObjectGetInteger(0,name ,OBJPROP_CREATETIME);//
      price=ObjectGetDouble(0,name ,OBJPROP_PRICE,2);
     
     }
  }
  //===---===

мне нужна цена точки которая в параметрах посредине.

где неправильно?

 
PolarSeaman:

Спасибо, но что то не получается.

мне нужна цена точки которая в параметрах посредине.

где неправильно?

Есть документация

Документация по MQL5: Стандартные константы, перечисления и структуры / Константы объектов / Типы объектов / OBJ_TRIANGLE
Документация по MQL5: Стандартные константы, перечисления и структуры / Константы объектов / Типы объектов / OBJ_TRIANGLE
  • www.mql5.com
//| Cоздает треугольник по заданным координатам                      |               time1=0,                            price1=0,                         time2=0,                            price2=0,                         time3=0,                            price3=0,                        width=1,           ...
 
Vitaly Muzichenko:

Есть документация

Этот пример перед глазами, а как получить цену второй точки - непонятно.

в комментарий пишет вообще какую цену неизвестно, откуда берёт и время создания объекта пишет текущее, но объект создан 60 свечек тому назад. 

Со временем разобрался. Нужно поставить OBJPROP_TIME вместо OBJPROP_CREATETIME.

Получаю цену самого древнего объекта, а как получить цену самого свежего?

 
PolarSeaman:

Спасибо, но что то не получается.

мне нужна цена точки которая в параметрах посредине.

где неправильно?

OBJPROP_TIME. И в качестве модификатора - номер нужной точки. Номера начинаются с нуля.
 
PolarSeaman:

Этот пример перед глазами, а как получить цену второй точки - непонятно.

в комментарий пишет вообще какую цену неизвестно, откуда берёт и время создания объекта пишет текущее, но объект создан 60 свечек тому назад. 

Со временем разобрался. Нужно поставить OBJPROP_TIME вместо OBJPROP_CREATETIME.

Получаю цену самого древнего объекта, а как получить цену самого свежего?

Выбрать по времени построения - по самому последнему.

 
PolarSeaman:

Спасибо, но что то не получается.

мне нужна цена точки которая в параметрах посредине.

где неправильно?

С такой постановкой вопроса

Форум по трейдингу, автоматическим торговым системам и тестированию торговых стратегий

Любые вопросы новичков по MQL4, помощь и обсуждение по алгоритмам и кодам

PolarSeaman, 2018.04.04 08:02

Здравствуйте. Есть объекты - треугольники с именами: 321fa34, 321fa53, 321fa41. Как узнать минимальную цену самого свежего треугольника? Ту цену, которая в свойствах посередке.

Что-то понять однозначно, крайне сложно. получается "Каков вопрос, таков и ответ".

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

 
Alexey Viktorov:

А вот какая из координат будет на каком месте в свойствах объекта зависит от последовательности построения треугольника.

За формулировки, пардон.

Разобрался, мне нужна точка всегда с индексом 1, 

Artyom Trishkin:

Выбрать по времени построения - по самому последнему.

Время то нахожу но как выбирать последнее не знаю.

По другому попробовал сделать, цикл с другой стороны, но почему то получаю цену нужной  точки не первого (ближнего к текущей дате), а второго объекта. 

 int obj_total=ObjectsTotal();
      // for(int iL=0;iL<obj_total;iL++)
       for(int iL = obj_total;iL>=0;iL--)
  {
   name=ObjectName(iL);
   if(ObjectType(name)!=OBJ_TRIANGLE) continue;
   if(StringFind(name,"233123h",0)!=-1)
     {

    time= ObjectGetInteger(0,name ,OBJPROP_TIME,1);//
      price=ObjectGetDouble(0,name ,OBJPROP_PRICE,1);
     
     }
  }
  //===---===

Почему?

 
PolarSeaman:

За формулировки, пардон.

И после этого продолжаете пользоваться такими-же формулировками.


Причина обращения: