Preguntas de los principiantes MQL5 MT5 MetaTrader 5 - página 554

 
Karputov Vladimir:
No te enfrasques en la verborrea - porsupuesto que llamar a OnCalculate implica llamarlo por el propio terminal, porque

Bueno, no tenías que llamar a OnCalculate tú mismo. Lo hago regularmente. Y resulta que no soy el único.

En resumen, el mismo código en MT4 funciona sin problemas, en MT5 se bloquea. ¿Corregirán el comportamiento del 5?

 
comp:

Bueno, no tenías que llamar a OnCalculate tú mismo. Lo hago regularmente. Y resulta que no soy el único.

En resumen, el mismo código en MT4 funciona sin problemas, en MT5 se bloquea. ¿Arreglarán el comportamiento del 5?

Se puede trabajar en el indicador sólo después de la primera llamada de OnCalculate - porque es OnCalculate que garantiza la preparación del entorno del indicador.
 
Karputov Vladimir:
Sólo se puede trabajar en el indicador después de la primera ejecución en OnCalculate - ya que es OnCalculate el que garantiza la preparación del entorno del indicador.
El código anterior muestra que esta regla sólo funciona en MT4. En MT5 es diferente.
 
comp:
El código anterior muestra que esta regla sólo funciona en MT4. Esto es diferente en MT5.
Una vez más: sólo la primera entrada en OnCalculate garantiza la preparación del entorno.
 
Karputov Vladimir:
Una vez más: sólo la primera entrada en OnCalculate garantiza la preparación del entorno.

Estás intentando provocarme para que discuta, lo que entra dentro de la regla de "discutir con un moderador" y se castiga con un baneo. No tengo intención de discutir contigo.

A diferencia de ti, yo he aportado un código que confirma plenamente lo que digo. Quien quiera entenderlo, puede ejecutar el código y comprobar que mis palabras son ciertas.

 
Maria Baburina:

Hola, me encontré con este problema.

Hay una condición en el programa: si una variable (en la que se calcula el beneficio de ciertas órdenes) es menor que la expresión de varias otras variables, se ejecutarán a continuación varias funciones.

No voy a describir de una vez exactamente qué y cómo se calcula, ya que sería demasiado. Tal vez, la respuesta será muy simple porque no lo sé:)

Así, al ejecutar el programa esta condición resulta ser cierta, cuando en realidad la primera variable es mucho mayor que la otra (por ejemplo, en el probador me salían los valores - 146,3412 y 0,41).

Todas las variables en esta condición son de tipo double y por separado se calculan correctamente.

¿Puede decirme con qué puede estar relacionado?

¿Cuál es el problema?
 
Vladimir Zubov:
¿Cuál es el problema?
En números específicos dice 146.3412 < 0.41

Voy a escribir un código aparte con este error para comprobarlo
 
comp:

Estás intentando provocarme para que discuta, lo que entra dentro de la regla de"discutir con un moderador" y se castiga con un baneo. No tengo intención de discutir contigo.

A diferencia de ti, yo he aportado un código que confirma plenamente lo que digo. Quien quiera entenderlo puede ejecutar el código y ver si lo que he dicho es cierto.

Esta discusión no debe considerarse como una discusión con un moderador, por la sencilla razón de que Vladimir NO está haciendo la función de moderador en el diálogo actual. Es simplemente una discusión entre dos programadores.
 
Alexey Viktorov:
Esta discusión no debe considerarse como una discusión con un moderador, por la sencilla razón de que Vladimir NO está desempeñando la función de moderador en el diálogo actual. Es simplemente una discusión entre dos programadores.
Sin embargo, he sido baneado en repetidas ocasiones por intentar defender mis puntos técnicos al hablar con los moderadores. Y acusado de comportamiento poco ético: "discutir con un moderador". No pienso pisar el mismo rastrillo.
 
comp:
Sin embargo, he sido baneado en repetidas ocasiones por intentar defender mis puntos técnicos al hablar con los moderadores. Y acusado de comportamiento poco ético: "discutir con un moderador". No pienso pisar el mismo rastrillo.

He leído esos argumentos. Pero no era una discusión, era sólo una falta de voluntad para entender las explicaciones y los intentos de demostrar la culpa del terminal. Sus palabras no estaban respaldadas por nada. Eres demasiado vago para hacer capturas de pantalla y explicar tus pensamientos con claridad.

No intentes demostrar que los desarrolladores son más estúpidos que tú y no habrá represalias.

Si MT4 no se comporta como MT5, no significa que MT5 no se comporte correctamente.