Obtener el tamaño vertical y horizontal del gráfico actual en píxeles es actualmente una tarea irresoluble? Renat ¿le he entendido bien?
Mi respuesta fue una respuesta general a la pregunta general "algunos han sido descaradamente ignorados durante mucho tiempo". ¿Por qué?"
Y es elemental determinar el tamaño de las pantallas, ya lo has averiguado tú mismo, ¿no?
#importar "user32.dll" int GetClientRect(int hWnd,int lpRect[]); //+------------------------------------------------------------------+ //| función de inicio del programa de script |+------------------------------------------------------------------+ int start() { int rect[4]; //---- int hwnd=WindowHandle(Symbol(),Period()); if(hwnd>0) { GetClientRect(hwnd,rect); Print("Left: ",rect[0]," Arriba: ",rect[1]," Derecha: ",rect[2]," Abajo: ",rect[3]); } //---- return(0); }
Pecador, me arrepiento, lo siento. Permití la importación de la dll y todo funcionó.
Este es el primer guión de este tipo para mí. Pensaba que tenía fallos en mi máquina, sistema operativo antiguo, copié la biblioteca user32.dll a la carpeta de bibliotecas, probé con void GetClientRect, bool GetClientRect. Y una cosa simple abrió ...
Al resolver un problema de conversión directa e inversa
pixel_Y -> cita, cita -> pixel_Y
se plantea la siguiente cuestión:
¿Cómo determinar los valores de las cotizaciones máximas y mínimas visibles en el eje vertical ( marcadas en la figura ??? arriba y abajo ), si se conoce el High 1.8600, el Low 1.8400 y el tamaño del gráfico vertical en píxeles 500 ? La escala del gráfico es automática.
Si el baremo es automático, puede calcularse añadiendo el 5% de la diferencia entre los precios más altos y más bajos de la parte superior e inferior. <br / translate="no"> Por cierto, no es el precio sino el número de píxeles entre el precio más alto y el más bajo.
Las distancias desde el Mínimo hasta la parte inferior del gráfico y desde el Máximo hasta la parte superior del gráfico no suelen ser las mismas, especialmente en períodos pequeños.
¿Cómo es posible cuando se añade el mismo número de píxeles ( 5% ) de arriba a arriba y de abajo a abajo?
Las distancias del Mínimo al límite inferior del gráfico y del Máximo al límite superior del gráfico a menudo no coinciden, especialmente en los períodos pequeños. <br / translate="no">
Responderé a esta pregunta para no molestar a los desarrolladores:
He estado trabajando con mt4 durante un año ya, pero nunca he visto nada como esto...
Mi respuesta fue una respuesta general a la pregunta general "algunos han sido descaradamente ignorados durante mucho tiempo". ¿Por qué?"
Y es elemental determinar el tamaño de las pantallas, ya lo has averiguado tú mismo, ¿no?
#importar "user32.dll" int GetClientRect(int hWnd,int lpRect[]); //+------------------------------------------------------------------+ //| función de inicio del programa de script |+------------------------------------------------------------------+ int start() { int rect[4]; //---- int hwnd=WindowHandle(Symbol(),Period()); if(hwnd>0) { GetClientRect(hwnd,rect); Print("Left: ",rect[0]," Arriba: ",rect[1]," Derecha: ",rect[2]," Abajo: ",rect[3]); } //---- return(0); }Este código se compila con éxito, pero cuando se ejecuta, muestra el siguiente mensaje en los registros:
2006.08.28 07:51:05 ____pixel EURUSD,M1: eliminado
2006.08.28 07:51:05 ____pixel EURUSD,M1: experto detenido
2006.08.28 07:51:05 ____pixel EURUSD,M1: las llamadas a dll no están permitidas; 'user32.dll'-'GetClientRect'
2006.08.28 07:51:05 ____pixel EURUSD,M1: cargado con éxito.
Comprobado con Windows XP y Win98, mismo resultado. Construye 195.
Este es el primer guión de este tipo para mí. Pensaba que tenía fallos en mi máquina, sistema operativo antiguo, copié la biblioteca user32.dll a la carpeta de bibliotecas, probé con void GetClientRect, bool GetClientRect. Y una cosa simple abrió ...
No volveré a repetir este error, lo juro.
¡¡¡Muchas gracias!!!
Al resolver un problema de conversión directa e inversa
pixel_Y -> cita, cita -> pixel_Y
se plantea la siguiente cuestión:
¿Cómo determinar los valores de las cotizaciones máximas y mínimas visibles en el eje vertical ( marcadas en la figura ??? arriba y abajo ), si se conoce el High 1.8600, el Low 1.8400 y el tamaño del gráfico vertical en píxeles 500 ? La escala del gráfico es automática.
|------------------------------------------------| <- ???
|................................................|
|................................................|
|...........High 1.8600....................|
|................................................|
|................................................|
|................................................|
|................................................|
|................................................|
|................................................|
|............ Baja 1,8400...................|
|................................................|
|................................................|
|------------------------------------------------| <- ???
Citas de sus respuestas anteriores:
Por cierto, no es el precio sino el número de píxeles entre el precio más alto y el más bajo.
Las distancias desde el Mínimo hasta la parte inferior del gráfico y desde el Máximo hasta la parte superior del gráfico no suelen ser las mismas, especialmente en períodos pequeños.
¿Cómo es posible cuando se añade el mismo número de píxeles ( 5% ) de arriba a arriba y de abajo a abajo?
Responderé a esta pregunta para no molestar a los desarrolladores:
He estado trabajando con mt4 durante un año ya, pero nunca he visto nada como esto...
Alto 1,2729 Valor máximo visible 1,2730 delta 0,0001
Bajo 1,2695 Valor mínimo visible 1,2690 delta 0,0005