Baja y alta - página 3

 

He averiguado dónde estaba el problema (con vuestra ayuda). ;)

¡Gracias a todos!

Ahora--->¡Testando! (las pruebas de espalda se ven muy bien)

 

Creo que el problema es que abre las órdenes en los niveles que adjuntaste el EA al gráfico, porque Hour() devuelve el tiempo en Horas que adjuntaste. Pero creo que quieres usar esto:

TimeHour(Timecurrent())

Echa un vistazo a la documentación para ver a qué me refiero...

EP

 

¡Si podemos arreglar esto, entonces tengo mi santo grial! :D
 
ErrorProgrammer:

Creo que el problema es que abre las órdenes en los niveles que adjuntaste el EA al gráfico, porque Hour() devuelve el tiempo en Horas que adjuntaste.

En realidad no ayuda a resolver el problema de 01005379, pero creo que esto no es correcto. Por ejemplo, al ejecutar el siguiente EA en el probador de estrategias se muestra un valor variable para Hour() correspondiente a la hora simulada del broker.


int start() {Comment("Hour: " + Hour() + "   @ " + TimeToStr(TimeCurrent(), TIME_DATE | TIME_MINUTES));}

Creo que lo que la documentación está tratando de decir es que Hour(), Minute() etc no cambian durante una llamada a start(). Pero sí cambian durante la vida del EA.


 
01005379:

¡Si podemos arreglar esto, entonces tengo mi santo grial! :D

Esa barra parece bastante sobredimensionada. ¿Pasa lo mismo con otras órdenes? Tal vez sea por la volatilidad de esa barra en particular.

 
fxcourt:

Esa barra parece bastante sobredimensionada. ¿Pasa lo mismo con otras órdenes? Tal vez sea por la volatilidad de esa barra en particular.

Ahora, es lo mismo con otras órdenes. La orden se abre una barra después de que el valor sea menor que el LowValue. Para la orden de venta me gustaría que la orden se abriera tan pronto como el Bid sea menor que el LowValue.

 

necesita que su código de colocación de órdenes se ejecute cada tick. por el momento sólo colocará una orden en la apertura de la barra siempre que la apertura esté por encima o por debajo de la entrada.

int inicio()

{

//en la barra abierta obtener alto y bajo

{

if(got_high_and_low)

{

readytotrade = true;

}

}

//cada tick, si está listo para operar, comprueba que se ha alcanzado el precio de entrada

if(readytotrade)

{

//comprar o vender

readytotrade = false;

}

}

 
fxcourt:
necesita que su código de colocación de órdenes se ejecute cada tick. de momento sólo colocará una orden en la apertura de la barra siempre que la apertura esté por encima o por debajo de la entrada.

Hm, ¿y cómo hago esto?

 

La primera parte se ejecuta una vez por barra para recoger los datos de entrada y otros datos, la segunda parte vigilará la entrada para ser golpeada.

 
fxcourt:

necesita que su código de colocación de órdenes se ejecute cada tick. por el momento sólo colocará una orden en la apertura de la barra siempre que la apertura esté por encima o por debajo de la entrada.

int inicio()

{

//en la barra abierta obtener alto y bajo

{

if(got_high_and_low)

{

readytotrade = true;

}

}

//cada tick, si está listo para operar, comprueba que se ha alcanzado el precio de entrada

if(readytotrade)

{

//comprar o vender

readytotrade = false;

}

}

wuh, estoy un poco perdido ahora mismo. Más ayuda será genial. ;)