Ciao a tutti,
non riesco ad usare la funzione limit perchè mi prende sempre il prezzo di apertura.
// Posizioni
N = 1000
// Donchian
A = 60
V = 5
rl1 = 20
rl2 = 60
DonchianSupA = highest[A](high)
DonchianInfA = lowest[A](low)
DonchianSupV = highest[V](high)
DonchianInfV = lowest[V](low)
VDC5= DonchianSupV-DonchianInfV
mDC5= (DonchianSupV-DonchianInfV)/2
RL20=LinearRegressionSlope[rl1](TotalPrice)
RL60=LinearRegressionSlope[rl2](TotalPrice)
// Acquista
ca1 = rl20 [1]< rl60[1]
ca2 = 1.5*VDC5 [1]> VDC5[6]
CA3 = DonchianSupA [1] > DonchianSupA [61]
CA4 = DonchianInfA [1] > DonchianInfA [61]
ca5 = low < DonchianInfV [1]
IF ca1 AND ca2 AND CA3 AND CA4 AND CA5 THEN
buy n shares at DonchianInfV [1] limit
ENDIF
//vendi
if high >= mdc5[1] then
sell at mdc5[1] limit
endif
Qualcuno sa aiutarmi.
Grazie
E’ probabile che il tuo prezzo corrente sia < DonchianInfV [1] , quindi LIMIT entra subito a mercato perché è un prezzo migliorativo. Usa LIMIT quando il prezzo corrente (cioè CLOSE) è SUPERIORE a quello d’entrata e STOP quando è inferiore. L’opposto per gli short.
Ad ogni modo puoi verificarlo nella finestra delle variabili del backtest che si apre quando usi GRAPH o sul grafico stesso quando usi GRAPHONPRICE. Aggiungi, alla fine del tuo codice, questa riga:
GraphOnPrice coloured(0,128,0,255) DonchianInfV[1] AS "Prezzo d'Entrata"
sulle candele vedrai una linea verde che indica il tuo prezzo d’entrata.
Prima di eseguire la strategia in AutoTrading dovrai togliere, o commentare, le righe che contengono GRAPH e/o GRAPHONPRICE.