Buenos días.
Estoy empezando con los Expert Advisor y me he encontrado con un problema que no se solventar.
Quiero programar que , con grafico horario de EURUSD, compre cuando al cambiar de hora se compruebe que el cierre de la hora última fue superior al cierre de la hora penúltima. Es decir , al ser pj las 11:00 en punto compruebe el cierre de la vela de las 10:00 y si es superior al cierre de la vela de las 9:00 ejecute una orden de compra de 1 lote.
Sabe alguien si es posible?. seguro que es algo sencillo pero lo único que se me ocurren son bucles que consumen muchos recursos ya que miran todos los ticks continuamente y no es eso lo que quiero.
Un saludo.
PROGRAMACION EXPERT ADVISOR METATRADER
Re: PROGRAMACION EXPERT ADVISOR METATRADER
Tienes varias opciones, la más sencilla es esta:
if (Close[1]>Close[2])
{
Ejecuta sentencia
}
Te recomiendo mires la función "iClose()" ya que te permite realizar esto desde distintos time frames y símbolos.
Acuérdate de poner este códido al inicio de la fúnción "Start()" para que recalcule todo en cada nueva apertura (no en cada tick).
extern bool CheckOncePerBar = true;
int start()
{
// Execute on bar open
if(CheckOncePerBar == true)
{
int BarShift = 1;
if(CurrentTimeStamp != Time[0])
{
CurrentTimeStamp = Time[0];
bool NewBar = true;
}
else NewBar = false;
}
else
{
NewBar = true;
BarShift = 0;
}
}
Saludos,
Entonces, la condicoión anterior queda:
if (Close[BarShift ]>Close[BarShift +1])
{
Ejecuta sentencia
}
Saludos
if (Close[1]>Close[2])
{
Ejecuta sentencia
}
Te recomiendo mires la función "iClose()" ya que te permite realizar esto desde distintos time frames y símbolos.
Acuérdate de poner este códido al inicio de la fúnción "Start()" para que recalcule todo en cada nueva apertura (no en cada tick).
extern bool CheckOncePerBar = true;
int start()
{
// Execute on bar open
if(CheckOncePerBar == true)
{
int BarShift = 1;
if(CurrentTimeStamp != Time[0])
{
CurrentTimeStamp = Time[0];
bool NewBar = true;
}
else NewBar = false;
}
else
{
NewBar = true;
BarShift = 0;
}
}
Saludos,
Entonces, la condicoión anterior queda:
if (Close[BarShift ]>Close[BarShift +1])
{
Ejecuta sentencia
}
Saludos
___________________________
El trading puede aportar beneficios mucho más valiosos que el dinero.
CJS
El trading puede aportar beneficios mucho más valiosos que el dinero.
CJS
Re: PROGRAMACION EXPERT ADVISOR METATRADER
Voy a probarlo y te comento pero ,funcione o no, muchas gracias. Así da gusto compartir conocimiento en la red.
Re: PROGRAMACION EXPERT ADVISOR METATRADER
Hola,
Si no te sales dímelo y te paso un ejemplo.
Saludos,
Si no te sales dímelo y te paso un ejemplo.
Saludos,
___________________________
El trading puede aportar beneficios mucho más valiosos que el dinero.
CJS
El trading puede aportar beneficios mucho más valiosos que el dinero.
CJS
Re: PROGRAMACION EXPERT ADVISOR METATRADER
Hola, te hice este con el Alfatrader, a ver si te sirve de algo.
Saludos.
Saludos.
- Adjuntos
-
- hora.mq4
- (60.91 KiB) Descargado 211 veces
Re: PROGRAMACION EXPERT ADVISOR METATRADER
Gracias igualmente. este es bastante mas complicado para mis conocimientos, pero me pongo a ello.
Si te ha gustado este hilo del Foro, ¡compártelo en redes!