Iniciado por
Rick7
ontick()
{
if(condición)
{
cierre
vela primera
parametro
Cierre vela segunda
parametro
Cierre vela tercera
parametro
if(condición parámetros al cierre de la vela tercera es favorable)
{
ordersend
}
}
}
En leguaje Mql4 directo sería mas o menos así:
Código:
bool condicion;
void OnTick()
{
if(condicion); //Si OK, seguimos
{
if (Close[3]>1) ;//Aqui pones lo que quieres que calule; //Si OK, seguimos
{
if (Close[2]>1) ;//Aqui pones lo que quieres que calule; //Si OK, seguimos
{
if (Close[1]>1) ;//Aqui pones lo que quieres que calule; //Si OK, seguimos
{
if (Close[0]>1) ;//Condicion parametros al cierre de la vela tercera es favorable; //Si OK, ponemos la Orden
{
//OrderSend tal tal
}}}}}
//Cerramos void OnTick
}
Tienes que hacer un "if" dentro de otro, porque si Close[3] se cumple, pasa al siguiente y así hasta que pone la orden.
Si alguno de los "if" no se cumple saltará la última llave y no pondrá la orden.
Piensa que la vela actual es la vela cero o su valor al cierre será el de Close[0]. Por eso yo haría las preguntas para poner la orden al Open de la vela cero y preguntaría para saber que ha hecho a partir del Close[1].
Hay muchas maneras de hacerlo.
Tambien puedes asignar a una variable si se cumple cada condición y al final montar un solo "If" y poner la orden.
Lo que quieres hacer es RSI y acción del precio, entonces tienes que calcular con los Close[x], High[x], Low[x], de las últimas velas preguntando si ha hecho lo que quieres que haga.
Saludos.
Foro de Forex Trading United