Giornate commerciali
1 risposte
jdowney
10 anni fa #111962
Ciao Supporto,
Ho un problema con il mio EA per operare in determinati giorni della settimana, con la possibilità di disattivare o attivare il giorno nell'EA.
Tuttavia, quando eseguo il back test sulla piattaforma MT4, l'EA opera solo il lunedì e non il resto della settimana.
Ho impostato le variabili sia come Boolan che come int e ho provato entrambe le opzioni senza successo.
vedi schermata allegata e strategia (TradeDays On OFF.sqw)
Qualche idea, mi sfugge qualcosa o forse è l'ordine in cui le regole dovrebbero essere...
Saluti John.
//——————————————————————–
// No Trades Lun
SE (IsBarOpen è Vero) && ((MonTrade = 0)
E (DayOfWeek[0] = _CONSTANT_))
ALLORA
// Azione #1
Chiudere tutti gli ordini;
// Azione #2
Non fare nulla
FINE SE;
//——————————————————————–
// No Trades Mar
SE (IsBarOpen è Vero) && ((TueTrade = 0)
E (DayOfWeek[0] = _CONSTANT_))
ALLORA
// Azione #1
Chiudere tutti gli ordini;
// Azione #2
Non fare nulla
FINE SE;
//——————————————————————–
// No Trades Wed
SE (IsBarOpen è Vero) && ((WedTrade = 0)
E (DayOfWeek[0] = _CONSTANT_))
ALLORA
// Azione #1
Chiudere tutti gli ordini;
// Azione #2
Non fare nulla
FINE SE;
//——————————————————————–
// No Trades Thur
SE (IsBarOpen è Vero) && ((ThuTrade = 0)
E (DayOfWeek[0] = _CONSTANT_))
ALLORA
// Azione #1
Chiudere tutti gli ordini;
// Azione #2
Non fare nulla
FINE SE;
//——————————————————————–
// No Trades Fri
SE (IsBarOpen è Vero) && ((FriTrade = 0)
E (DayOfWeek[0] = _CONSTANT_))
ALLORA
// Azione #1
Chiudere tutti gli ordini;
// Azione #2
Non fare nulla
FINE SE;
//——————————————————————–
// No Trades Sat
SE (IsBarOpen è Vero) && ((SatTrade = 0)
E (DayOfWeek[0] = _CONSTANT_))
ALLORA
// Azione #1
Chiudere tutti gli ordini;
// Azione #2
Non fare nulla
FINE SE;
//——————————————————————–
// EnvUpper Band Short
SE (IsBarOpen è True) && ((Bid >= Buste( 8 , Esponenziale , 0 , Prezzo mediano , 0.12 )[1])
E ((SpreadInPips < 7)
E ((DayOfWeek[0] = _CONSTANT_)
E ((MonTrade = 1)
Oppure ((DayOfWeek[0] = _CONSTANT_)
E ((TueTrade = 1)
Oppure ((DayOfWeek[0] = _CONSTANT_)
E ((WedTrade = 1)
Oppure ((DayOfWeek[0] = _CONSTANT_)
E ((ThuTrade = 1)
Oppure ((DayOfWeek[0] = _CONSTANT_)
E ((FriTrade = 1)
Oppure ((DayOfWeek[0] = _CONSTANT_)
E (SatTrade = 1)))))))))))))))
ALLORA
// Azione #1
Chiudere l'ordine con il numero magico: 2000;
// Azione #2
Vendere 0,1 lotti al mercato
Numero magico = 1000;
Stop Loss = 25 pips;
Profit Target = (Buste( 8 , Esponenziale , 0 , Prezzo mediano , 0.03 )[1] ? 1 : 0) pips;
// Azione #3
Estrarre la freccia verso il basso;
FINE SE;
//——————————————————————–
// Banda EnvLower Lunga
SE (IsBarOpen è Vero) && ((Ask <= Inviluppi( 8 , Esponenziale , 0 , Prezzo mediano , 0.12 )[1])
E ((SpreadInPips < 7)
E ((DayOfWeek[0] = _CONSTANT_)
E ((MonTrade = 1)
Oppure ((DayOfWeek[0] = _CONSTANT_)
E ((TueTrade = 1)
Oppure ((DayOfWeek[0] = _CONSTANT_)
E ((WedTrade = 1)
Oppure ((DayOfWeek[0] = _CONSTANT_)
E ((ThuTrade = 1)
Oppure ((DayOfWeek[0] = _CONSTANT_)
E ((FriTrade = 1)
Oppure ((DayOfWeek[0] = _CONSTANT_)
E (SatTrade = 1)))))))))))))))
ALLORA
// Azione #1
Chiudere l'ordine con il numero magico: 1000;
// Azione #2
Acquistare 0,1 lotti al mercato
Numero magico = 2000;
Stop Loss = 25 pips;
Profit Target = (Buste( 8 , Esponenziale , 0 , Prezzo mediano , 0.03 )[1] ? 1 : 0) pips;
// Azione #3
Disegnare la freccia verso l'alto;
FINE SE;
Mark Fric
10 anni fa #123738
Salve,
Un problema che riscontro è che le condizioni e/o i punti non sono adeguatamente messi in parentesi.
È necessario aggiungere le parentesi per raggruppare correttamente le condizioni "e" e "o", altrimenti saranno valutate una per una, con risultati inaspettati.
È possibile impostare le parentesi nel pannello c IF, vedere la schermata.
Marchio
Architetto StrategyQuant
Stai visualizzando 1 risposte (di 1 totali)