MICHParticipant
Junior
Ciao a tutti,
E’ possibile vedere nel backtest gli ordini stop e limite che ho inserito nello script? Magari direttamente sul grafico…
Grazie
Ciao. Sì, è possibile con l'istruzione graphonprice . Ecco un esempio di un sistema che inserisce un ordine di acquisto a un determinato prezzo insieme al suo stop loss e take profit.
smarap = average[10,1](close)
smalen = average[60,0](close)
///setup long
c1 = smarap crosses over smalen
if not onmarket and c1 then
buystop = high
stopprice = lowest[15](low)
profitprice = buystop+2*(buystop-stopprice)
buy 10000 cash at buystop stop
set stop price stopprice
set target price profitprice
endif
graphonprice buystop coloured("blue")
graphonprice stopprice coloured("red")
graphonprice profitprice coloured("green")
Le linee blu, rosse e verdi vengono aggiornate con ogni nuova voce.
MICHParticipant
Junior
Ciao. Conosco la funzione graphonprice e la sto già usando.
Quello che però voglio capire è se gli ordini che ho inserito in fase di script stanno funzionando e se sono effettivamente inseriti nel backtest. E’ possibile in qualche modo?
Si, certo. Se non fosse così sarebbe un bel BUG!
Per verificarlo, basta controllare se qualcuno di essi è entrato quando si sono verificate le condizioni.
Se trovi qualche condizione verificata, ma senza la relativa entrata, allora occorre indagare.
MICHParticipant
Junior
Ciao Roberto,
Certo, hai ragione, se non si verifica significa che ho inserito male gli ordini stop e limit.
Sto approfondendo e l’inserimento degli ordini stop e limit non è semplice sopratutto perché devo capire il livello di prezzo di quel momento per poter inserire gli ordini.
Chiedo, non è possibile inserire un ordine di acquisto (o di vendita) una volta che è stato raggiunto/sfiorato il prezzo X senza fare altri ragionamenti?
Grazie
Se non vuoi usare gli ordini pendenti puoi usare quelli a mercato (AT MARKET), indicando come condizione che il prezzo sia stato “toccato“, cioè che il prezzo corrente, alla chiusura della candela, sia stato uguale (maggiore o minore) di quello desiderato.
Come prezzo corrente puoi usare CLOSE, HIGH o LOW, secondo le tue preferenze. Se usi HIGH o LOW sei certo che il tuo prezzo sia stato toccato anche se CLOSE alla chiusura può essere tornato indìetro. Se, al contrario, preferisci CLOSE può capitare che la condizione non sia verificata alla chiusura della candela.
Esempi:
PrezzoEntrata = highest[20](high[1])
//
// esempio con CLOSE
IF close >= PrezzoEntrata THEN
BUY 1 CONTRACT AT MARKET
SET STOP pLOSS X
SET TARGET pPROFIT Y
ENDIF
//
// esempio con HIGH
IF high >= PrezzoEntrata THEN
BUY 1 CONTRACT AT MARKET
SET STOP pLOSS X
SET TARGET pPROFIT Y
ENDIF