Jornadas Comerciales
1 respuesta
jdowney
hace 10 años #111962
Hola Soporte,
Estoy teniendo un problema mi EA para el comercio en determinados días de la semana, con la opción de apagar o encender el día en EA.
Sin embargo, cuando hago el backtest en la plataforma MT4 el EA sólo opera los lunes y no el resto de la semana.
He configurado las variables como Boolan e int y he probado ambas opciones sin resultado.
ver captura de pantalla adjunta y estrategia (TradeDays On OFF.sqw)
¿Alguna idea, me estoy perdiendo algo o tal vez es el orden en que las normas deben ser ...
Saludos John.
//——————————————————————–
// No Trades Mon
IF (IsBarOpen es True) && (((MonTrade = 0)
And (DayOfWeek[0] = _CONSTANT_))
ENTONCES
// Acción #1
Cerrar todos los pedidos;
// Acción #2
No hacer nada
END IF;
//——————————————————————–
// No Trades Tue
IF (IsBarOpen es True) && (((TueTrade = 0)
And (DayOfWeek[0] = _CONSTANT_))
ENTONCES
// Acción #1
Cerrar todos los pedidos;
// Acción #2
No hacer nada
END IF;
//——————————————————————–
// No Trades Wed
IF (IsBarOpen es True) && (((WedTrade = 0)
And (DayOfWeek[0] = _CONSTANT_))
ENTONCES
// Acción #1
Cerrar todos los pedidos;
// Acción #2
No hacer nada
END IF;
//——————————————————————–
// No Trades Thur
IF (IsBarOpen es True) && (((ThuTrade = 0)
And (DayOfWeek[0] = _CONSTANT_))
ENTONCES
// Acción #1
Cerrar todos los pedidos;
// Acción #2
No hacer nada
END IF;
//——————————————————————–
// No Trades Fri
IF (IsBarOpen es True) && (((FriTrade = 0)
And (DayOfWeek[0] = _CONSTANT_))
ENTONCES
// Acción #1
Cerrar todos los pedidos;
// Acción #2
No hacer nada
END IF;
//——————————————————————–
// No Trades Sat
IF (IsBarOpen es True) && (((SatTrade = 0)
And (DayOfWeek[0] = _CONSTANT_))
ENTONCES
// Acción #1
Cerrar todos los pedidos;
// Acción #2
No hacer nada
END IF;
//——————————————————————–
// EnvUpper Band Short
IF (IsBarOpen es True) && (((Oferta >= Sobres( 8 , Exponencial , 0 , Precio medio , 0.12 )[1])
Y ((SpreadInPips < 7)
Y ((DíaDeLaSemana[0] = _CONSTANTE_)
Y ((MonTrade = 1)
O ((DayOfWeek[0] = _CONSTANT_)
Y ((TueTrade = 1)
O ((DayOfWeek[0] = _CONSTANT_)
Y ((WedTrade = 1)
O ((DayOfWeek[0] = _CONSTANT_)
Y ((ThuTrade = 1)
O ((DayOfWeek[0] = _CONSTANT_)
Y ((FriTrade = 1)
O ((DayOfWeek[0] = _CONSTANT_)
Y (SatTrade = 1)))))))))))))))
ENTONCES
// Acción #1
Cerrar pedido con número mágico: 2000;
// Acción #2
Vender 0,1 lotes a precio de mercado
Número mágico = 1000;
Stop Loss = 25 pips;
Profit Objetivo = (Sobres( 8 , Exponencial , 0 , Precio medio , 0.03 )[1] ? 1 : 0) pips;
// Acción #3
Dibuja la flecha hacia abajo;
END IF;
//——————————————————————–
// EnvLower Banda Larga
IF (IsBarOpen is True) && (((Ask <= Envelopes( 8 , Exponential , 0 , Median price , 0.12 )[1])
Y ((SpreadInPips < 7)
Y ((DíaDeLaSemana[0] = _CONSTANTE_)
Y ((MonTrade = 1)
O ((DayOfWeek[0] = _CONSTANT_)
Y ((TueTrade = 1)
O ((DayOfWeek[0] = _CONSTANT_)
Y ((WedTrade = 1)
O ((DayOfWeek[0] = _CONSTANT_)
Y ((ThuTrade = 1)
O ((DayOfWeek[0] = _CONSTANT_)
Y ((FriTrade = 1)
O ((DayOfWeek[0] = _CONSTANT_)
Y (SatTrade = 1)))))))))))))))
ENTONCES
// Acción #1
Cerrar pedido con Número Mágico: 1000;
// Acción #2
Comprar 0,1 lotes a precio de mercado
Número mágico = 2000;
Stop Loss = 25 pips;
Profit Objetivo = (Sobres( 8 , Exponencial , 0 , Precio medio , 0.03 )[1] ? 1 : 0) pips;
// Acción #3
Dibuja la flecha hacia arriba;
END IF;
Mark Fric
hace 10 años #123738
Hola,
un problema que veo es que hay y / o condiciones no están debidamente entre corchetes.
Debe añadir paréntesis para agrupar correctamente las condiciones "y" y "o", de lo contrario se evaluarán una por una, lo que tendrá resultados muy inesperados.
Puede establecer corchetes en el panel c IF, véase la captura de pantalla.
Mark
Arquitecto de StrategyQuant
Viendo 1 respuesta (de un total de 1)