Ошибки, баги, вопросы - страница 2041

 

Да эти все функции Я знаю.

Задача стоит простая, нужно объект в 4-м подокне(выделено красным) привязать к цене, в данном случае это -0.02, а координата Y на графике 34


 
Vitaly Muzichenko:

Задача стоит простая, нужно объект в 4-м подокне(выделено красным) привязать к цене, в данном случае это -0.02, а координата Y на графике 34

#property indicator_separate_window

#property indicator_buffers 0 
#property indicator_plots 0

#define CHART_SUBWINDOW_BORDER_SIZE 2 // Размер разделителя подокон

void OnInit()
{
  int X = 0;
  int Y = 0;

  const int SubWindow = ChartWindowFind();
  
  for (int i = 0; i < SubWindow; i++)  
    Y += (int)ChartGetInteger(0, CHART_HEIGHT_IN_PIXELS, i) + CHART_SUBWINDOW_BORDER_SIZE;
  
  int SubWindow2;
  datetime time;
  double Price;
  
  if (ChartXYToTimePrice(0, X, Y, SubWindow2, time, Price))
    Print(SubWindow2);
}

int OnCalculate ( const int rates_total, const int, const int, const double &[] )
{ 
  return(rates_total);
}
 
fxsaber:

Спасибо за готовый вариант, попробую прикрутить к индикаторам.

P.S. Получилось, ещё раз спасибо!


Но остаётся вопрос, зачем в функции тогда вообще указывать номер подокна, если нужно плясать с бубном?

 
Vitaly Muzichenko:

зачем в функции тогда вообще указывать номер подокна, если нужно плясать с бубном?

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

Ошибки, баги, вопросы

Kirill Belousov, 2017.10.15 19:50

Номер подокна не мы указываем, а нам сообщает функция (это выходной параметр, а не входной) - в каком подокне чарта с указанным ID находится ценовой график и сообщается какая цена и время соответствуют заданным нами координатам X,Y на том графике.
 
Vitaly Muzichenko:

Спасибо за готовый вариант, попробую прикрутить к индикаторам.

P.S. Получилось, ещё раз спасибо!


Но остаётся вопрос, зачем в функции тогда вообще указывать номер подокна, если нужно плясать с бубном?

Танец можно сократить, используя ChartGetInteger() с вот этим параметром

CHART_WINDOW_YDISTANCE

Дистанция в пикселях по вертикальной оси Y между верхней рамкой подокна индикатора и верхней рамкой главного окна графика. При наступлении событий мыши координаты курсора передаются в координатах главного окна графика, в то время как координаты графических объектов в подокне индикатора задаются относительно верхнего левого угла подокна.

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

int     r/o   модификатор - номер подокна

 
Kirill Belousov:

Танец можно сократить, используя ChartGetInteger() с вот этим параметром

CHART_WINDOW_YDISTANCE

Дистанция в пикселях по вертикальной оси Y между верхней рамкой подокна индикатора и верхней рамкой главного окна графика. При наступлении событий мыши координаты курсора передаются в координатах главного окна графика, в то время как координаты графических объектов в подокне индикатора задаются относительно верхнего левого угла подокна.

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

int     r/o   модификатор - номер подокна

Спасибо, сократил, результат такой-же, но меньше кода!

 

Что за ошибка:

invalid EX5 file (7)
global initialization failed
global initialization critical error


возникает при скачивании советника с маркета. 

Билд 1653, Windows 7 64

Тот же советник напрямую - работает номрально. 

 
Vladislav Andruschenko:

Что за ошибка:


возникает при скачивании советника с маркета. 

Билд 1653, Windows 7 64

Тот же советник напрямую - работает номрально. 

Можно ссылку на советника?
 
Alexander:
Можно ссылку на советника?

https://www.mql5.com/ru/market/product/326

 

Скачивал с сайта/терминала. Ошибок нет.

Если файл с продуктом скачался, то попробуйте удалить его и перезагрузите продукт.