Preguntas de los principiantes MQL5 MT5 MetaTrader 5 - página 553
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
En lugar de Close[2] ponga el valor del indicador en la segunda barra (por ejemplo iRSI(.......,2) ) y en lugar de Close[1] ponga el valor del indicador en la primera barra. Y uroven es el valor del nivel.
Y el resto ya te lo han dicho más arriba.
Requisito previo:
ProfitSellDBL se calcula aquí
Profit_Upgr = 0,01
Tral_Start__Upgr se equipara a una variable externa de tipo int y es igual a 5.
Tral_Size__Upgr es igualmente igual a 4
TV - valor de la garrapata, =10
SumLotSellDBL = 0,04
Lee. Vi cómo funcionaría si Tral_Start__Upgr, Tral_Size__Upgr y sus variables externas fueran definidas como double. Es decir, cuando todo es del mismo tipo sin ninguna conversión ni pérdida de datos. El resultado es el mismo. ¿En qué me he equivocado?
Un ciego hablando con un sordo. Si quieres que alguien lo pruebe, necesitas el mínimo código posible que pueda ser compilado en otra máquina y probado. No hay código, no hay nada de qué hablar.
Añadido: Uso de la depuración(Debugging):
-Preconfiguración
-Puntosdeparada
-Iniciar ladepuración
-Expresionesobservables
-Llamar ala vista dela pila
-Depuraciónpaso a paso
-Parar, reanudar y finalizar la depuración
-Depuracióndela historia
Foro sobre trading, sistemas de trading automatizados y pruebas de estrategias de trading
Bichos, errores, preguntas
comp, 2016.04.03 18:21
Error de tiempo de ejecución
¡En cuatro funcionó bien! En el cinco es un fastidio. ¿Se trata de otra limitación arquitectónica en comparación con el quad? Dame un enlace a una discusión sobre esto, no pude encontrarlo yo mismo.
¿He entendido bien que se puede asignar algo a las memorias intermedias de los indicadores sólo después de la primera llamada del terminal (no manual) OnCalculate?
Se puede acceder a los búferes de los indicadores después de llamar a OnCalculate(). Al mismo tiempo, el propio búfer del indicador debe declararse en el área de variables globales:
Creo que he encontrado lo que buscaba, pero la antigüedad del código da un error
Ayúdame a arreglarlo ...... si no es mucha molestia.
y si me puedes ayudar a girarlo hacia el lado derecho de la pantalla sería genial.
Se puede acceder a los buffers de los indicadores después de llamar a OnCalculate().
Resulta que se equivoca. Sólo se puede aplicar cuando el terminal llama a OnCalculate. En este caso, la condición en MT4 es más flexible, porque basta con llamar a OnCalculate una sola vez. Pero en MT5, hay que esperar a la llamada de OnCalculate por el propio terminal cada vez después del SetIndexBuffer. Prueba
En MT4 este indicador funciona sin problemas, en MT5 se bloquea con un error. Resulta que en MT4 sólo hay que esperar a la primera llamada de OnCalculate por parte del terminal y luego hacer lo que se quiera con los buffers, incluyendo su redefinición mediante SetIndexBuffer. Pero en MT5 después de cada SetIndexBuffer es necesario esperar a la primera llamada de OnCalculate por parte del terminal.
Esta característica no está documentada en ninguna parte. Y no parece encajar en la definición de "principiante".
¿Podemos esperar que en MT5 este comportamiento sea el mismo que en MT4? Es decir, ¿después de la primera llamada de OnCalculate por el propio terminal sería posible llamar a SetIndexBuffer sin problemas?
Resulta que se equivoca. Sólo se puede llamar cuando OnCalculate es llamado por el propio terminal. En este caso, en MT4 la condición es más flexible, porque sólo hay que llamar a OnCalculate una vez. Pero en MT5, hay que esperar a la llamada de OnCalculate por el propio terminal cada vez después del SetIndexBuffer. Prueba
En MT4 este indicador funciona sin problemas, en MT5 se bloquea con un error. Resulta que en MT4 sólo hay que esperar a la primera llamada de OnCalculate por parte del terminal y luego hacer lo que se quiera con los buffers, incluyendo su redefinición mediante SetIndexBuffer. Pero en MT5 después de cada SetIndexBuffer es necesario esperar a la primera llamada de OnCalculate por parte del terminal.
Esta característica no está documentada en ninguna parte. Y no parece ajustarse a la definición de "principiante".
¿Podemos esperar que en MT5 este comportamiento sea el mismo que en MT4? Es decir, ¿después de la primera llamada de OnCalculate por el propio terminal se podrá llamar a SetIndexBuffer sin problemas?