Perché i prezzi sono troppo vicini, tra 12 e 18 ci sono solo 6 punti.
Tieni presente che il backtest è fatto da ProBackTest, che non conosce i limiti del broker. Quando, invece, vai in demo o reale, è il broker che stabilisce i limiti ed IG ha delle distanze minime abbastanza elevate (nel DAX intorno ai 6-10 pip, ma può arrivare a varie decine in caso di volatilità e di notte!). Per cui se il prezzo corrente è inferiore a quella certa distanza richiesta, o la strategia viene interrotta o esegue l’ordine a mercato.
Anche per lo Stop Loss vale lo stesso discorso, 5 punti sono pochi! Mi pare IG ne richieda almeno 6, ma devi verificare con IG (basta che vai sulla loro piattaforma es. entri nel modulo per fare un ordine su un certo strumento ed avrai la possibilità di vedere un pò di informazioni utili).
Inoltre c’è da considerare che dopo la prima vendita a +18, il prezzo è superiore a quello delle successive uscite, quindi in quel caso occorre un ordine STOP, non limit. Se indichi un tipo errato entra a mercato.
In ogni caso è sempre opportuno, prima di piazzare ordini pendenti, verificare la distanza per sscegliere il tipo corretto, nel tuo caso (dopo avere definito una distanza):
ONCE Distanza = 10 //minimo 10 pip di distanza (io uso sul Dax uso 7 e non ho QUASI mai problemi,
// con 10 sei più tranquillo)
IF COUNTOFLONGSHARES =3 THEN
IF (close + Distanza) < TRADEPRICE +18*POINTSIZE THEN
SELL 1 CONTRACTS AT TRADEPRICE +18*POINTSIZE LIMIT
ELSIF (close - Distanza) > TRADEPRICE +18*POINTSIZE THEN
SELL 1 CONTRACTS AT TRADEPRICE +18*POINTSIZE STOP
ELSE
SELL 1 CONTRACTS AT MARKET
ENDIF
SET STOP LOSS 10
ELSIF COUNTOFLONGSHARES =2 THEN
IF (close + Distanza) < TRADEPRICE +15*POINTSIZE THEN
SELL 1 CONTRACTS AT TRADEPRICE +15*POINTSIZE LIMIT
ELSIF (close - Distanza) > TRADEPRICE +15*POINTSIZE THEN
SELL 1 CONTRACTS AT TRADEPRICE +15*POINTSIZE STOP
ELSE
SELL 1 CONTRACTS AT MARKET
ENDIF
SET STOP LOSS 5 //Pochi !!!
ELSIF COUNTOFLONGSHARES =1 THEN
IF (close + Distanza) < TRADEPRICE +12*POINTSIZE THEN
SELL 1 CONTRACTS AT TRADEPRICE +12*POINTSIZE LIMIT
ELSIF (close - Distanza) > TRADEPRICE +12*POINTSIZE THEN
SELL 1 CONTRACTS AT TRADEPRICE +12*POINTSIZE STOP
ELSE
SELL 1 CONTRACTS AT MARKET
ENDIF
ENDIF
In pratica (per i LONG) quando il Prezzo corrente (CLOSE) + Distanza sono > del prezzo d’uscita, devi usare un ordine LIMIT, se, invece, sono < prezzo d’uscita devi usare STOP, infine se sono entro entro l’intervallo tra +-Distanza, esce amercato (oppure puoi togliere la parte di ucita a mercato ed attendere la candela successiva).