Preguntas de los principiantes MQL4 MT4 MetaTrader 4 - página 217
Está perdiendo oportunidades comerciales:
- Aplicaciones de trading gratuitas
- 8 000+ señales para copiar
- Noticias económicas para analizar los mercados financieros
Registro
Entrada
Usted acepta la política del sitio web y las condiciones de uso
Si no tiene cuenta de usuario, regístrese
Mmm, tal vez.
Eres el primero que no lo ha tenido todavía))
Pero no importa, puede surgir en cualquier persona - por lo que tiene que arreglarlo, por desgracia.
Tengo muchas, depende de la versión de MT4 (tengo una de Alpari).
Tengo un montón de ellos de diferentes versiones, estoy programando para ellos :-) pero el software sigue siendo el mismo, sólo se diferencian en pequeñas marcas y pequeños chips en los indicadores / asesores.
Los trucos de PS/color pueden ser causados por un ajuste incorrecto de DPI del monitor, la presencia de "utilidades de corrección de la temperatura del color", "extensiones de juegos de la tarjeta de vídeo". Y así sucesivamente.
PPS/por cierto ningún DC ha superado (más probablemente debido a la codicia, el dinero) propios indicadores / asesores / guiones / paquete de herramientas. A lo sumo, un salpicadero cursi con colores corporativos. Lo cual es una especie de insinuación de
Hola!
¿Puedes decirme por qué OBJPROP_XSIZE da 0?
Hola!
¿Puedes decirme por qué OBJPROP_XSIZE da 0?
OBJ_LABEL es un objeto muy específico - después de la colocación y antes de la primera actualización del gráfico, el ancho (X_SIZE) no está definido.
Depende del tipo de letra y de los ppp de la pantalla. Hasta que el renderizado no funcione del todo, no podemos decir nada sobre la anchura real.
OBJ_LABEL es un objeto muy específico - después de la colocación y antes de la primera actualización del gráfico, el ancho (X_SIZE) es indefinido.
Depende del tipo de letra, de los dpi de la pantalla en general. Hasta que el renderizado no funcione del todo, no podemos decir nada sobre la anchura real.
Intenta volver a dibujarlo y luego comprueba
Prueba a redibujar y a comprobar después
Gracias, lo probaré.
No ha funcionado.OBJ_LABEL es un objeto muy específico - después de la colocación y antes de la primera actualización del gráfico, el ancho (X_SIZE) es indefinido.
Depende del tipo de letra, de los dpi de la pantalla en general. Hasta que las funciones de renderizado no funcionen completamente, no puedo decir nada sobre la anchura real.
Gracias, la idea está clara, experimentaré con algo.
Gracias, entiendo la idea, experimentaré con ella.
ChartRedraw no redibuja directamente, sólo pone un tick en algún lugar de las profundidades del terminal "el gráfico debe ser redibujado tan pronto como sea posible".
Para saber qué ancho debe tener la marca de texto, puede probar TextSetFont, TextGetSize - la diferencia significativa sólo puede aparecer en HiDPI. O quizás no :-) No lo he probado
o bien obtener la anchura del OBJ_LABEL real ya en el siguiente tick/evento del gráfico, es decir, exactamente después de repintar
ChartRedraw no redibuja directamente, sólo pone un tick en algún lugar de las profundidades del terminal "el gráfico debe ser redibujado tan pronto como sea posible".
Para saber qué ancho debe tener una marca de texto, puede probar TextSetFont, TextGetSize - la diferencia significativa sólo puede aparecer en HiDPI. O quizás no :-) No lo he probado
o bien obtener la anchura del OBJ_LABEL real ya en el siguiente tick/evento del gráfico, es decir, exactamente después de la recarga
Ya lo tengo funcionando, ¡gracias! Se ha añadido OnDeinit(), se ha puesto un retardo, y luego OBJPROP_XSIZE.
P.D. No se me ocurrió nada mejor que hacer con el retraso del guión:
for(int i=100000000; i>0; i--) {}
¡Gracias, todo salió bien! He añadido OnDeinit(), he puesto un retardo, y luego OBJPROP_XSIZE.
P.D. No se me ocurrió nada mejor que hacer con el retraso del guión:
// задержка 500 милисекунд, годная для тестера
ulong timestamp=GetTickCount64();
do {
Sleep(500/4); // в тестере не сработает, зато спасёт GetTickCount
} while(GetTickCount64()-timestamp<500);
// задержка 500 милисекунд, годная для тестера
ulong timestamp=GetTickCount64();
do {
Sleep(500/4); // в тестере не сработает, зато спасёт GetTickCount
} while(GetTickCount64()-timestamp<500);
Gracias, ha funcionado.