Errores, fallos, preguntas - página 1661
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
Es un error o una pregunta, pero algo incomprensible ...está ocurriendo en el probador y en el depurador... Todo está bien en el EURUSD, pero hay un problema con el USDJPY...
Parte del código
Lo que me interesa del código está claro en las capturas de pantalla... Está marcado en el código.
Hay UNA orden de venta con una pérdida de 7,39, pero el código muestra una pérdida de sólo 0,93
La flecha verde en la siguiente captura de pantalla muestra que la depuración se detiene en esta línea...
Es decir, la variable sl ya se ha establecido como PositionGetDouble(POSITION_PROFIT)
PREGUNTA: ¿Por qué ocurre esto? ¿Es un error o un patrón, una característica especial del probador/depurador de mql5?
La variable sp se introdujo un poco más tarde, inicialmente se comprobaba la variable sellProfit, que se ponía a cero al entrar en la función.
Ya sea un error o una pregunta, pero hay algo que no está claro... sucede en el probador y en la depuración... Todo está bien en el EURUSD, pero hay un problema en el USDJPY...
Hubo un problema en la construcción de una docena de años antes cuando el visualizador mostraba el futuro por un tick, mientras que MQL funcionaba normalmente - el futuro no se veía.
Intenta comparar PositionGetDouble(POSITION_PROFIT) en el siguiente tick. Si coincide con lo que el visualizador ha mostrado antes - el problema está ahí. Slawa dio una explicación y prometió corregirlo.
Si no es así, se trata de otro error en este caso.
En una compilación una o dos veces anterior a la actual, había un problema cuando el visualizador mostraba el futuro en un tick, mientras que MQL funcionaba bien - el futuro no se veía.
Intenta comparar PositionGetDouble(POSITION_PROFIT) en el siguiente tick. Si coincide con lo que el visualizador ha mostrado antes - el problema está ahí. Slawa dio una explicación y prometió corregirlo.
Si no es así, se trata de otro error en este caso.
Tal vez sea así, pero el código no proporciona una comprobación en el siguiente tick. Sólo una vez en el momento de la apertura de un nuevo bar. ¿Y qué garantía hay de que estos valores sean del siguiente tick? Ninguno... Lo he vuelto a intentar; la pérdida es de 2,55, pero el depurador sigue mostrando 0,93.
Pero, crucemos los dedos... el probador 5 es mucho mejor que el probador 4... Sólo los fallos y el funcionamiento inadecuado... ¿Cómo se puede depurar un Asesor Experto con estos fallos? ¿De qué otra forma se optimiza la gente? De hecho, la optimización es un autoengaño, y con semejantes chanchullos, es un autoengaño al grado de mentir 8.
Tendré que probarlo en una demo... durante semanas...
El hecho de que el visualizador muestre tonterías no significa que el propio comprobador esté equivocado. Al probador no le importan los problemas de visualización, en absoluto.
Utilice TickValue para calcular el tamaño de las ganancias y compárelo con POSITION_PROFIT. Verás que todo es igual. La visualización parece ser un error.
El hecho de que el visualizador muestre tonterías no significa que el propio comprobador esté equivocado. Al probador no le importan los problemas de visualización, en absoluto.
Utilice TickValue para calcular el tamaño de las ganancias y compárelo con POSITION_PROFIT. Verás que todo es igual. La visualización parece ser un error.
Sí, lo he recalculado antes de publicar la pregunta. Parece que es cierto, se puede recalcular a partir de las capturas de pantalla. No empecé a comprobarlo por una razón. La pérdida se calcula en base al tamaño del lote que llevará a la ganancia esperada al cierre del take profit. Todo se calculó correctamente en el EURUSD, pero de repente las pérdidas no se cubren en el USDJPY... Empecé a comprobar la fórmula... y llegó a este error. Resulta que el visualizador no tiene nada que ver.
Sí, lo conté antes de publicar la pregunta. Parece que es cierto, se puede recalcular a partir de las capturas de pantalla. No empecé a comprobarlo por una razón. La pérdida se calcula en función del tamaño del lote con el que se cerrará el beneficio esperado en la toma. Todo se calculó correctamente en el EURUSD, pero de repente las pérdidas no se cubren en el USDJPY... Empecé a comprobar la fórmula... y llegó a este error. Resulta que el visualizador no tiene nada que ver.
Error al compilar Script1.mq5
Error nº 1. La llamada h es inequívoca por la firma aquí.
Error #2. En A::f1() la llamada de h( g ) en el sentido de g - puede parecer ambigua, pero en cambio en A::f2() el compilador no hace preguntas innecesarias sobre g() (y lo hace correctamente - al menos al principio los problemas existentes de incluir el archivo de cabecera con la declaración de la función en el módulo con su implementación y uso posterior en este módulo fueron resueltos hace tiempo). Y además, es difícil reescribirlo de otra manera, porque Script.mqh es un archivo de cabecera común
Lo siento, pero no entiendo su punto. ¿Quién cree que se equivoca, el probador o el visualizador?
Si muestra valores similares a la verdad, pero los calcula utilizando datos erróneos, entonces el problema está en mql5, y no en el probador o el visualizador.
En definitiva, gracias por tu aportación, a la larga le ganaré la partida al problema. Y hoy comprobaré otra pieza de moneda similar. ¿Tal vez sea el problema de las garrapatas en ese lugar, hhz?
¿Por qué la advertencia está en igualdad de condiciones?