HELP. Как определить координаты трендовой линии

Авторизуйтесь или зарегистрируйтесь, чтобы добавить комментарий
vebster005
463
vebster005  

Добрый вечер, необходима функция, которая вычисляет координаты OBJ_TREND
вот пример для button:

long IntGetX(const string name)
  {
   return ObjectGetInteger(0,prefix+name,OBJPROP_XDISTANCE);
  }

!!! тоже самое нужно только для OBJ_TREND  !!! ребят помогите кому не сложно
ниже кидаю полный код OBJ_TREND если нужно

void TREND1(string name, datetime T1, double P1, datetime T2, double P2, color C, int STYLE, int WIDTH)
{
   ObjectDelete(0,name);                     
   
   name=StringConcatenate(prefix,name);
   if(ObjectCreate(0,name, OBJ_TREND,0,T1,P1,T2,P2))
     {
      ObjectSetInteger(0,name,OBJPROP_SELECTABLE,false);                //--- включим (true) или отключим (false) режим перемещения кнопки мышью
      ObjectSetInteger(0,name,OBJPROP_SELECTED,false);
      ObjectSetInteger(0,name,OBJPROP_CORNER,0);

      ObjectSetInteger(0,name,OBJPROP_COLOR,Green);                     //--- установим цвет текста
      ObjectSetInteger(0,name,OBJPROP_BGCOLOR,Green);                   //--- установим цвет фона
      ObjectSetInteger(0,name,OBJPROP_BORDER_COLOR,Green);              //--- установим угол графика, относительно которого будут определяться координаты точки
     }
                      
   ObjectSetInteger   (0,name, OBJPROP_COLOR, C);   
   ObjectSetInteger   (0,name, OBJPROP_STYLE, 1);
   ObjectSetInteger   (0,name, OBJPROP_WIDTH, WIDTH);
   ObjectSetInteger   (0,name, OBJPROP_BACK,  false);                   // Рисовать объект в фоне
   ObjectSetInteger   (0,name, OBJPROP_RAY,   0); 
   ObjectSetInteger   (0,name, OBJPROP_SELECTED, false);                // Снять выделение с объекта
   ObjectSetInteger   (0,name,OBJPROP_SELECTABLE,false);
}
  
Alexey Kozitsyn
8948
Alexey Kozitsyn  
vebster005:

Добрый вечер, необходима функция, которая вычисляет координаты OBJ_TREND
вот пример для button:

!!! тоже самое нужно только для OBJ_TREND  !!! ребят помогите кому не сложно
ниже кидаю полный код OBJ_TREND если нужно

Вам нужно преобразование цена/время в пиксельные координаты? Тогда 

ChartTimePriceToXY

Документация по MQL5: Операции с графиками / ChartTimePriceToXY
Документация по MQL5: Операции с графиками / ChartTimePriceToXY
  • www.mql5.com
[in]  Значение времени на графике, для которого будет получено значение в пикселах на оси X. Начало координат находится в левом верхнем углу главного окна графика. [in]   Значение цены...
vebster005
463
vebster005  
Alexey Kozitsyn:

Вам нужно преобразование цена/время в пиксельные координаты? Тогда 

ChartTimePriceToXY

нет мне нужно вывести как раз цены и время трендовой линии

Alexey Kozitsyn
8948
Alexey Kozitsyn  
vebster005:

нет мне нужно вывести как раз цены и время трендовой линии

В произвольной точке линии или точках привязки?

vebster005
463
vebster005  
Alexey Kozitsyn:

В произвольной точке линии или точках привязки?

точках привязки, я построил горизонтальную линию TP теперь же я хочу от ТР до точки открытия провести линию, при условии что если двигать ТП эта вертикальная линия тоже будет двигаться. 

vebster005
463
vebster005  
vebster005:

точках привязки, я построил горизонтальную линию TP теперь же я хочу от ТР до точки открытия провести линию, при условии что если двигать ТП эта вертикальная линия тоже будет двигаться. 

но для этого мне нужно засечь значения 2 времени и 2 цены для горизонтальной линии, я не знаю как их узнать

Alexey Kozitsyn
8948
Alexey Kozitsyn  
vebster005:

но для этого мне нужно засечь значения 2 времени и 2 цены для горизонтальной линии, я не знаю как их узнать

Через ObjectGetInteger() для времени и через ObjectGetDouble() для цены.

vebster005
463
vebster005  
Alexey Kozitsyn:

Через ObjectGetInteger() для времени и через ObjectGetDouble() для цены.

Спасибо, но могли бы вы полностью написать

Alexey Kozitsyn
8948
Alexey Kozitsyn  
vebster005:

Спасибо, но могли бы вы полностью написать

Нет, Вы иначе не научитесь... Открываете документацию, и там все просто должно быть. Плюс там примеры есть.

vebster005
463
vebster005  
Alexey Kozitsyn:

Нет, Вы иначе не научитесь... Открываете документацию, и там все просто должно быть. Плюс там примеры есть.

ObjectGetDouble(0,name,OBJPROP_PRICE2);

так не работает, нужно только с ценой, время не нужно, по цене выводится как 0, поправьте пожалуйста

Dmitry Fedoseev
57669
Dmitry Fedoseev  
ObjectGetInteger(0,"name",OBJPROP_TIME,0);
ObjectGetDouble(0,"name",OBJPROP_PRICE,0);

Последнй параметр - это точка: 0 или 1. Кажется так.

OBJPROP_TIME2 и OBJPROP_PRICE2 должны работать с функией ObjectGet()

Авторизуйтесь или зарегистрируйтесь, чтобы добавить комментарий