Максимальная и минимальная видимые котировки - страница 5

 
К сожалению, не на все вопросы у нас есть ответы.
 
Получение вертикального и горизонтального размера текущего графика в пикселах на данный момент является неразрешимой задачей ? Renat, я правильно Вас понял ?
 
Получение вертикального и горизонтального размера текущего графика в пикселах на данный момент является неразрешимой задачей ? Renat, я правильно Вас понял ?

Мой ответ был общего плана на общий вопрос "некоторые откровенно игнорируются в течение длительного времени. Почему ?"

А размеры экрана определить элементарно - Вы же сами почти до всего дошли?

#import "user32.dll"
int GetClientRect(int hWnd,int lpRect[]);
//+------------------------------------------------------------------+
//| script program start function                                    |
//+------------------------------------------------------------------+
int start()
  {
   int rect[4];
//----
   int hwnd=WindowHandle(Symbol(),Period());
   if(hwnd>0)
     {
      GetClientRect(hwnd,rect);
      Print("Left: ",rect[0]," Top: ",rect[1]," Right: ",rect[2]," Bottom: ",rect[3]);
     }
//----
   return(0);
  }
 
Уважаемый Renat !

Приведенный Вами код успешно компилируется, но при выполнении выдает следующее сообщение в логах:

2006.08.28 07:51:05 ____pixel EURUSD,M1: removed
2006.08.28 07:51:05 ____pixel EURUSD,M1: expert stopped
2006.08.28 07:51:05 ____pixel EURUSD,M1: dll calls are not allowed; 'user32.dll'-'GetClientRect'
2006.08.28 07:51:05 ____pixel EURUSD,M1: loaded successfully

Проверял на Windows XP и Win98, результат одинаковый. Build 195.
 
А что может означать строка "dll calls are not allowed; 'user32.dll'-'GetClientRect'"?
 
Грешен, каюсь, простите. Разрешил импорт dll и все заработало.

Для меня это первый скрипт такого рода. Думал, что у меня глюки на машине, старая операционка, копировал библиотеку user32.dll в папку libraries, пробовал void GetClientRect, bool GetClientRect. А ларчик просто открывался ...

Больше не буду повторять эту ошибку, торжественно клянусь.

Огромнейшее Вам спасибо !!!
 
Уважаемые разработчики !

При решении задачи прямого и обратного преобразования

пиксел_Y -> котировка, котировка -> пиксел_Y

возникает следующий вопрос:

Как определить величины максимальной и минимальной котировок, видимых на вертикальной оси ( обозначены на рисунке ??? вверху и внизу ), если известны High 1.8600, Low 1.8400 и вертикальный размер графика в пикселах 500 ? Масштаб графика автоматический.


|------------------------------------------------| <- ???
|................................................|
|................................................|
|...........High 1.8600....................|
|................................................|
|................................................|
|................................................|
|................................................|
|................................................|
|................................................|
|............ Low 1.8400...................|
|................................................|
|................................................|
|------------------------------------------------| <- ???
 
To Slawa

Цитаты из ваших предыдущих ответов:

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

Кстати, 5% не от цены, а от количества пикселей между максимальной и минимальной ценой.


Расстояния от Low до нижней границы графика и от High до верхней границы графика зачастую не совпадают, особенно на малых периодах.

Как же это возможно, если сверху к High и снизу к Low прибавляется одинаковое количество пикселей ( 5 % ) ?
 
Расстояния от Low до нижней границы графика и от High до верхней границы графика зачастую не совпадают, особенно на малых периодах.

чтобы не беспокоить попусту разработчиков, отвечу:

как так?? а можно картинку? с мт4 работаю уж год, но ни разу такого не видел..
 
Реальный пример: EURUSD, M1

High 1.2729 Макс. видимое значение 1.2730 delta 0.0001
Low 1.2695 Мин. видимое значение 1.2690 delta 0.0005
Причина обращения: