Ayuda como detener un programaHola mi duda es que quiero hacer un programa EA pero cada tick se ejecutan las ordenes y aveces quiero hacer una orden solo una vez y que el programa aguarde hasta la apertura de la siguiente vela, por ejemplo
una funcion que checa los fractales de las ultimas 20 velas en un grafico diario, pero el programa checa las 20 velas cada tick y abre y cierra operaciones tambien cada tick, entonces lo que quiero hacer es poner el programa en espera hasta la apertura de la siguiente vela y que vuelva a checar los fractales de las ultimas 20 velas. no se si me explique y si me pueden ayudar cualquier comentario es bienvenido gracias.
Re: Ayuda como detener un programaHola, haz algo como esto:
static bool first_time = true; if(first_time == true) { first_time = false; return (0); } esto lo pones dentro de Start() y lo que vallas a hacer o comparar lo haces dentro del condicional if El programa no va a esperar así que al declarar las variables precedidas por static el valor de la variable no cambia cada vez que se ejecute el EA. Suerte
Re: Ayuda como detener un programa
Gracias amigo me funciono muy bien y me sirvio para saber el funcionamiento de las variables static, pero todavia queda una duda al aire haber si me puedes ayudar, ahora como ago para que en la apertura de la sigiente barra la variable first_time vuelva a agarrar el valor true y solo vuelva a checar todo lo que este en el condicional if 1 sola vez cada apertura de la ultima barra. Gracias
Re: Ayuda como detener un programaEso está sencillo, mira lo que tienes que hacer una condicional if para que verifiques si existe una nueva barra en el grafico entonces le asignas first_time = true dentro de if y ya está, ahora bien, como sabes que hay una nueva barra? bueno puedes usar la variable predefinida Bars, si colocas algo como esto:
barrar=Bars(); // obtienes la cantidad de barras en la grafica y solo tienes que hacer una comparacion , es decir si barra aumentó uno quiere decir que estas en presencia de una nueva barra, entonces aquí le pones first_time = true y lo que le quieras ponerle. Suerte
Re: Ayuda como detener un programaHola espero que no sea tarde.
Para abrir una operación en una vela yo utilizo lo siguiente: declara una variable timeBar0 de tipo datetime y en el metodo start() if( (timeBar0!=Time[0]) && OrdersTotal()<1 ) //Asegura una operación por barra. { ...codigo para abrir la order... timeBar0=Time[0]; } este fragmento solo abre una operación y para abrir otra, la anterior ya debió haberse terminado.
5 mensajes
• Página 1 de 1
|
|
Usuarios navegando por este Foro: No hay usuarios registrados visitando el Foro y 0 invitados