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
Tengo un experto con el que intento afrontar los acontecimientos.
Recibo eventos que no se corresponden con las acciones.
Coincide exactamente con un clic en el gráfico y un clic en un botón
Un evento controvertido id=9(CHARTEVENT_CUSTOM), que se genera cuando, por ejemplo, el gráfico se desplaza y hay unos 10 eventos similares.
No se ha comprobado el eventoCHARTEVENT_OBJECT_ENDEDIT.
No todo está claro con el resto. O bien la descripción no coincide con el número de evento, o bien el evento de creación de un objeto se genera incorrectamente al crear un objeto manualmente.
En definitiva, por favor, ayuda.
Será mejor que vayas así:
Probablemente estoy haciendo algo mal, pero trataré de describir con más detalle por qué estoy teniendo un malentendido.
Inicialmente se asignan correspondencias numéricas a las constantes numéricas ya asignadas CHARTEVENT_XXXXXXXXX...
¿Dónde puedo ver qué valor numérico tienen las constantes CHARTEVENT_XXXXXXXXX?
No pude encontrarlo, así que experimenté y descubrí queCHARTEVENT_KEYDOWN = 0 y CHARTEVENT_CLICK = 4, que corresponde al orden de descripción de estas constantes en la ayuda.
He asignado números a otros eventos en consecuencia, por lo que hay un array event[10].
Lamentablemente, no entiendo su pregunta. ¿Qué está fallando exactamente?
Basado en mi numeración de eventos y usando el Asesor Experto de mi post anterior:
Por ejemplo, dibujo una línea de tendencia -> eventoCHARTEVENT_OBJECT_CHANGE,
mover esta línea -> el eventoCHARTEVENT_OBJECT_CHANGE,
cambiar las propiedades a través del menú -> 2 eventosCHARTEVENT_CHART_CHANGE y CHARTEVENT_CUSTOM,
elimínelo pulsando Del -> evento sólo CHARTEVENT_KEYDOWN, (si la numeración del evento es errónea debería haber aún 2 eventos, eliminación y pulsación de botón).
Todo esto se basa en mi numeración.
Siguiente...
Estoy utilizando un Asesor Experto:
Dibujar una línea de tendencia -> ChartEvent :id=OBJECT_DRAG, l=0 d=0.000000 s=H1 Trendline 40716
mover esta línea -> ChartEvent :id=OBJECT_DRAG, l=0 d=0.000000 s=H1 Trendline 40716
Cambio las propiedades a través del menú -> ChartEvent :id=OBJECT_CHANGE, l=0 d=0.000000 s=H1 Trendline 40716 y ChartEvent :id=CHART_CHANGE, l=0 d=0.000000 s=
La situación no se ha aclarado.
Por si acaso:
MT5 64x - build 458.
El sistema es W7 64x Home Extended.
Gracias por su capacidad de respuesta ))
Probablemente estoy haciendo algo mal, pero intentaré describir con más detalle por qué estoy teniendo un malentendido.
¿Dónde puedo encontrar el valor numérico de las constantes CHARTEVENT_XXXXXXX?
No pude encontrarlo, así que experimenté y descubrí queCHARTEVENT_KEYDOWN = 0 y CHARTEVENT_CLICK = 4, que corresponde al orden de descripción de estas constantes en la ayuda.
Le di al resto de los eventos los números correspondientes, así es como resultó el array event[10].
¡Esto no debe hacerse de ninguna manera!
Los valores numéricos son asignados por el desarrollador y pueden ser modificados en cualquier momento.
Sólo se pueden utilizar constantes de caracteres
--------------
uncleVic le dio un ejemplo de uso correcto (o mi fragmento de ayuda)
--------------
¿Qué estás haciendo? ¿Por qué necesitas una representación numérica?
Esto no debe hacerse bajo ninguna circunstancia.
Los valores numéricos son asignados por el desarrollador y pueden ser modificados en cualquier momento.
Sólo se pueden utilizar constantes de caracteres
BIEN. Estoy de acuerdo en que no debe hacerlo.
Olvídate de mi trabajo manual).
Siguiendo...
uncleVic le dio un ejemplo de uso correcto (bueno, o mi pieza de ayuda)
Como escribí arriba, usando el ejemplode uncleVic también se obtienen eventos que no coinciden con la acción.
kPVT:
Dibujar una línea de tendencia -> ChartEvent :id=OBJECT_DRAG, l=0 d=0.000000 s=H1 Trendline 40716 En lugar deCHARTEVENT_OBJECT_CREATE.
.....
¿Qué estás haciendo? ¿Por qué se necesita una representación numérica?
Es una explicación larga, y no importa. Olvidemos mi numeración.
Lo principal es que estoy tratando de dar sentido a los eventos, pero incluso usando el ejemplode uncleVic no entiendo la inconsistencia entre los eventos generados y las acciones realizadas.
DE ACUERDO. Estoy de acuerdo en que no se puede hacer eso.
Olvídate de mi preocupación por las manos ).
Siguiendo...
Como escribí arriba, usando el ejemplode uncleVic también se obtienen eventos que no coinciden con la acción.
kPVT:
Añádelo a la inicialización:
Estarás bien:
Alex muchas gracias lo solucionó.
Añade a la inicialización:
....
Añadido al bloque de expertos
Todo está en su sitio.
Mirando la ayuda, en ninguna parte está escrito que estos dos eventos deban ser "inicializados" para que todos los demás eventos sean correctos.
Los comenté y todo funciona.
Resulta que si el Asesor Experto/indicador no tiene el bloque OnInit, se lía con los eventos.
Quizá sea la idea, pero los programadores de mql5 deberían saberlo, por si acaso.
He generado un Expert Advisor en Wizard, pero el tester da error Core 1 tester se detuvo porque OnInit error crítico, ¿alguien se ha encontrado con esto? ¿Cómo se soluciona? Después de todo, Wizard, habría estropeado algo allí...
Adjunte el código fuente resultante. Y los parámetros de la prueba.
No se ha reproducido.
Pedí más parámetros de prueba. Lo hice:
Tanto la versión como la tasa de bits de MT5.