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
WHRoeder, este código parece tan simple pero no puedo entender cómo funciona, ¿no será la declaración if siempre verdadera si hace que time0 sea igual a time[0] cada vez que time0 sea igual a time[0]? No digo que no funcione pero no entiendo como funciona estructurado así.
1er tick: Time0 no es igual a Time[ 0 ] por lo que no se ejecuta el retorno,Time0 se ponea Time[0 ] (tiempo de inicio de la barra actual) el resto de la función de inicio se ejecuta.
Segundo y siguientes ticks: si Time0 sigue siendo igual a la hora de inicio de la barra actual, entonces seguimos en la misma barra, se ejecuta return y se sale de la función de inicio. Si Time0 no es igual a la hora de inicio de la barra actual, entonces estamos en una nueva barra, no se ejec uta return,Time0 sepone a Time[0] (hora de inicio de la nueva barra actual) y se ejecuta el resto de la función de inicio.
¿Cómo puedo hacer un contador en el que si una orden pendiente es colocada y no se activa en una cantidad x de barras, entonces se cancela? Todo lo que se me ocurre es poner un contador que cuente cada vez que se forme una nueva barra y si la cantidad de barras contadas == las barras permitidas especificadas antes de que se cancelen las órdenes pendientes. El contador de barras se reinicia cada vez que se abre una nueva orden pendiente? ¿Cómo suena eso?
Yo crearía una función que compruebe las órdenes pendientes, mira a ver cuándo se abrió cada orden, comprueba cuánto tiempo ha pasado y si es más largo que el límite de tiempo cierra la orden.
Quiero hacer una función que escanee eurusd, usdchf, gbpusd, usdjpy en 1hr tf. Se remonta a la última vela de las 06:00 gmt y registra la apertura, se remonta otras 24 barras a la vela anterior de las 06:00 gmt y registra el rango de 6gmt -6gmt para cada par. Luego compara el rango 6gmt - 6gmt de todos los pares y devuelve el que es más alto. ¿Es posible que un ea haga eso estando unido a 1 gráfico de tiempo?
Con todos los problemas como este antes de pensar en el código que tiene que averiguar su solución en primer lugar ... IMO. Crear un diagrama de flujo o escribir algún pseudo código . . obtener una solución que tenga sentido en primer lugar. . luego mirar el código.
Para responder a su última pregunta, sí es posible hacer eso, por ejemplo, para obtener el valor de apertura de una vela en particular de un par diferente al que el EA está en el que usaría ...
una vez que tenga sus valores para la rabia de los 4 pares puede determinar fácilmente el mayor usando algo como esto:
. . o podrías poner los valores en un array y usar ArraySort . . normalmente hay más de una forma de hacer algo, primero tienes que tener un plan de cómo vas a resolver tu problema.
EDIT: ten en cuenta que algunas de estas cosas no funcionarán correctamente con el probador de estrategias.
Muy bien, este es mi propio intento de escribir un código que escaneará el gráfico del eurusd 1hr hasta que encuentre la última barra de las 06:00, registra su apertura, retrocede otras 24 barras para registrar la apertura de esa barra (inicio del día de las 06:00) y obtiene el rango de apertura de las 2 barras seleccionadas.
Sorpresa, sorpresa, no funciona. Lol ------> http://myfacewhen.com/307/
Dígame lo que he f*'d para arriba. ¿O es que me he equivocado de camino? Lo he intentado jeje
He detectado un problema... 24 horas antes de b es b+24 . . las barras cuentan desde la barra actual ( 0 ) hacia la izquierda
Bien hecho por añadir los comentarios, muy buena práctica para entrar. . . :-)
He detectado un problema... 24 horas antes de b es b+24 . . las barras cuentan desde la barra actual ( 0 ) hacia la izquierda
Bien hecho por añadir los comentarios, muy buena práctica para entrar. . . :-)
Wow bien visto que me habría tomado un tiempo para averiguar que lol. No puedo creer que haya acertado en todo eso - ese tonto error. Siento que estoy llegando a alguna parte ahora. Si, he añadido los comentarios para ayudarme a seguir lo que estoy haciendo y para que sea super fácil para vosotros ver lo que estoy tratando de hacer. Ahora voy a hacer que compare los 4 pares y escupa el que tenga el valor más alto. Gracias RaptorUK
Muy bien, he convertido todas las variables en matrices y he ejecutado las comprobaciones para cada una de ellas. Ahora ha dejado de funcionar. ¿No es posible tener múltiples bucles for como este?
Sí puedes, no hay problema, pero no uses un array en el índice del bucle for, puedes usar b cada vez si quieres. Se pone a 0 en cada uno de los bucles for, así que reutilizarlo no es un problema. ¿Para qué necesitas usar un array? ¿No es sólo para los valores del rango?