Ciao a tutti,
sono un beginner della piattaforma. Il mio problema è il seguente.
Trovo una strategia (fonte IG webinar) che mi interessa e vorrei backtestarla.
La strategia è questa:
Mercato: FOREX 2 Strumenti: TEMA7 e TEMA21
Strategia Semplice con due strumenti da utilizzare la TEMA a 7 periodi e la
TEMA a 21 periodi
Posizioni Long quando la TEMA7 interseca al rialzo la TEMA21 => Ordine BUY
sulla candela successiva con entry level sopra il massimo della candela
precedente, stop loss su supporto importante
Posizioni Short quando la TEMA7 interseca al ribasso la TEMA21 => Ordine
SELL sulla candela successiva con entry level sotto il minimo della candela
precedente, stop loss su una resistenza importante.
In più aggiungo un ADX superiore di 20.
Il codice che ho scritto è il seguente:
DEFPARAM CumulateOrders = False // Posizioni cumulate disattivate
// Condizioni per entrare su posizioni long
indicator1 = TEMA[7](close)
indicator2 = TEMA[21](close)
c1 = (indicator1 CROSSES OVER indicator2)
indicator3 = ADX[14]
c2 = (indicator3 >= 20)
mylimitbuy = high
IF c1 AND c2 THEN
BUY 10 CONTRACT AT mylimitbuy LIMIT
ENDIF
// Condizioni per entrare su posizioni short
indicator4 = TEMA[7](close)
indicator5 = TEMA[21](close)
c3 = (indicator4 CROSSES UNDER indicator5)
indicator6 = ADX[14]
c4 = (indicator6 >= 20)
mystoplimit = low
IF c3 AND c4 THEN
SELLSHORT 10 CONTRACT AT mystoplimit LIMIT
ENDIF
Quello che mi rende perplesso è quando nel grafico vado a verificare che mi tornino i parametri degli ordini di entrata.
Mi aspetterei che l’entrata sia sulla candela successiva con entry level sopra il massimo della candela
precedente, me se vado a vedere gli ordini non mi torna.
Nell’immagine allegata trovate un entrata LONG il 22 febbraio 2017 alle 10:00 @ 4.708,10. La condizione che la TEMA 7 incrocia rialzista la TEMA 21 si verifica tra le 8:00 e le 9:00 con ADX>20 ( e questo ok). Se però voglio entrare sopra il massimo della candela precedente (quella a tempo zero) mi aspetterei di entrare sopra 4.713,9 (che è il MAX della barra precedente : quella delle 9:00) invece entra a 4.708,10 che è la chiusura della barra delle nove.
MI aiutate a capire cosa sbaglio? Ciò ha che fare con l’ordine di buy LIMIT ?
Grazie.
ALEModerator
Master
Ciao
Grazie di essere tra noi!, ti consiglio per i post futuri, d’inserire il codice o righe di codice, utilizzando la scheda per l’inserimento dell’ordine , cliccando sul tasto ” insert PRT code” ti si aprira la scheda e basterà incollarci il codice ed inviare. Un volta che il messaggio sarà postato il codice lo vedrai come questo:
DEFPARAM CumulateOrders = False // Posizioni cumulate disattivate
// Condizioni per entrare su posizioni long
indicator1 = TEMA[7](close)
indicator2 = TEMA[21](close)
c1 = (indicator1 CROSSES OVER indicator2)
indicator3 = ADX[14]
c2 = (indicator3 >= 20)
mylimitbuy = high
IF c1 AND c2 THEN
BUY 10 CONTRACT AT mylimitbuy stop
ENDIF
// Condizioni per entrare su posizioni short
indicator4 = TEMA[7](close)
indicator5 = TEMA[21](close)
c3 = (indicator4 CROSSES UNDER indicator5)
indicator6 = ADX[14]
c4 = (indicator6 >= 20)
mystoplimit = low
IF c3 AND c4 THEN
SELLSHORT 10 CONTRACT AT mystoplimit stop
ENDIF
Prova il codice cosi dovrebbe funzionare
Ciao
Ale