![MQL5 - Lenguaje de estrategias comerciales para el terminal de cliente MetaTrader 5](https://c.mql5.com/i/registerlandings/logo-2.png)
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
Hola.
¿Puede explicar por qué al crear un objeto"Etiqueta gráfica" manualmente, no tiene el archivo bmp especificado para los estados de encendido y apagado?
Aquí está el código:
ObjectCreate(....);
.......
ObjectSetString(0, "ColorLabel", OBJPROP_BMPFILE, 0, "Images\on.bmp");
ObjectSetString(0, "ColorLabel", OBJPROP_BMPFILE, 1, "Images\off.bmp");
La etiqueta se crea de forma completamente correcta, en la posición especificada, con los colores especificados, etc., pero no se especifican "Images\on.bmp" y "Images\off.bmp". Si en la guía de MT5
haga clic en la lista de objetos y establezca estos archivos para el marcador manualmente, se establecerán. Pero, ¿por qué no lo hace ObjectSetString?
¿Qué te parece?
¿Dónde tienes estos archivos? Véase el ejemplo Demo_Create_OBJ_BITMAP_LABEL_EA
¡Muchas gracias! La doble barra ayudó.
Déjame explicarte un poco. Tenía un error porque ObjectGetString devolvía una cadena con una barra y creía que debía colocarse también en ObjectSetString.
Gracias por la ayuda.
¡Muchas gracias! La doble barra ayudó.
Véase Constantes de carácter:
La barra invertida es un carácter de control para el compilador cuando analiza cadenas constantes y constantes de caracteres en el código fuente del programa. Algunos caracteres, como las comillas simples ('), las comillas dobles ("), las barras invertidas (\) y los caracteres de control, pueden representarse mediante una combinación de caracteres que empiece por las barras invertidas(\), según la tabla siguiente:
Nombre del símbolo
Código o imagen mnemónica
Escribir en MQL5
Valor numérico
Nueva línea (avance de línea)
LF
'\n'
13
pestaña horizontal
HT
'\t'
9
retorno de carro
CR
'\r'
10
barra invertida
\
'\\'
92
cotización única
'
'\''
39
doble cotización
"
'\"'
34
código hexadecimal
hhhh
'\xhhhhh'
1 a 4 posiciones hexadecimales
código decimal
d
'\d'
número decimal entre 0 y 65535
Si una barra invertida va seguida de un carácter distinto de los enumerados, el resultado es indefinido.
Gracias.
Pido muchas disculpas por la repetición, pero todavía no he aclarado la situación de la navegación de ayer. ¿Es esto un error y necesita ser procesado en servicedesk o hay un código más correcto para emular el autoscroll en una barra determinada?
En el vídeo adjunto se ve claramente que la navegación por el gráfico se hace desde las 2291 a las 2286 barras, pero en los primeros 30 segundos (minuto) del vídeo,
hay una sacudida del gráfico. Dos días de atrapar el error mostró que la razón está en la función de navegación, el código donde se pronuncia la operación incorrecta que he publicado anteriormente.
Pido muchas disculpas por la repetición, pero todavía no he aclarado la situación de la navegación de ayer. ¿Es esto un error y necesita ser procesado en servicedesk o hay un código más correcto para emular el autoscroll en una barra determinada?
En el vídeo adjunto se ve claramente que la navegación por el gráfico se hace desde las 2291 a las 2286 barras, pero en los primeros 30 segundos (minuto) del vídeo,
hay una sacudida del gráfico. Dos días de atrapar el error mostró que la razón está en la función de navegación, el código donde se pronuncia la operación incorrecta que he publicado anteriormente.
Lo arreglaremos. Espera a la siguiente compilación.
Bien, gracias por la respuesta.
No puedo adjuntar el vídeo.
¿Es un error o mi falta de habilidad?
El gráfico da tirones al navegar desde la barra cero. He insertado a propósito resbalones entre la navegación y la actualización para resaltar el problema. Pero el fallo existe incluso sin resbalones. Resulta que ChartNavigate() primero mueve el gráfico a cero y luego lo vuelve a mover. Además, no lo hace siempre.
Al menos, el hecho de que el error no exista cada vez que se llama a ChartNavigate(), aparece cuando se ejecuta sin resbalones.
Pido muchas disculpas por la repetición, pero todavía no he aclarado la situación de la navegación de ayer. ¿Es esto un error y debe ser manejado por servicedesk o hay un código mejor para emular el autoscroll en una barra determinada?
En general, es mejor escribir al Service Desk directamente. Será más rápido y fiable.
Normalmente, si estoy convencido de que se trata de un error, lo hago. Enviaré un correo electrónico al Servicio de Atención al Cliente de inmediato.
En este caso, no había tal certeza. Así que he decidido aclararlo aquí primero, para no distraer a la gente.
Gracias de nuevo por su rápida respuesta.