Buonasera, sto utilizzando un programma che funziona direi perfettamente sul backtest ma non altrettanto su pro-order .
Si e’ verificata una condizione di uscita short molto semplice: se positionperf>=4,5% chiudi la posizione.
IF SHORTONMARKET AND POSITIONPERF>=0.045 THEN
EXITSHORT AT MARKET.. endif
Nel mentre si e’ vericata oggi una variazione nel DAX del 5%, al ribasso (timeframe 1H), il programma in probacktest ha chiuso regolarmente la posizione, l’ordine reale pero’ non e’ stato chiuso .. Ho verificato i prezzi di entrata e uscita ma in entrambi i casi la % di guadagno e’ abbondantemente superiore al 4,5% alla chiusura dell’ultima barra utile.
Volevo solo chiedere se per caso il positionperf possa essere calcolato diversamente tra probacktest e pro-order o se considera magari qualche costo aggiuntivo che non e’ cosinsiderato nel probaktest.
Grazie 1000
Emanuele
Buongiorno. Ho cercato di bypassare l’istruzione positionperf utilizzando la variazione % :
IF SHORTONMARKET AND ((positionprice-close)/positionprice)>=0.045 THEN
EXITSHORT AT MARKET
ENDIF
Putroppo il sistema in Pro-Order fallisce in quanto dice che si si trova ad affettuare una divisione per zero sull’ultima barra…
e’ possibile baypassare anche questo problema?
Grazie .
Ovviamente ho potuto fare una prova solo in demo e questo codice funziona, però uso POSITIONPERF in quasi tutti i codici e non ho mai avuto problemi, neppure in reale.
La sostituzione con il codice alternativo produce lo stesso risultato, però potrebbe esserci un problema particolare (magari dovuto a chissà cosa nel codice) per cui prova a testarlo modificandolo in questo modo:
IF PositionPrice > 0 THEN
IF SHORTONMARKET AND ((positionprice-close)/positionprice)>=0.045 THEN
EXITSHORT AT MARKET
ENDIF
ENDIF
Questo è il codice che ho usato nella prova (sul DAXgiornaliero):
if close crosses over average[20,0](close) and not onmarket then
buy at market
endif
if positionperf > 0.10 then
sell at market
endif
set stop ploss 2000
set target pprofit 4000
//
graph positionperf
graph positionperf * 100
graph (close - positionprice) / positionprice
graphonprice positionprice
..con la tua modifica sembra che funzioni.. solitamente il sistema veniva interrotto al primo cambio di barra, mentre ora viene mantenuto in essere.
GRAZIE 1000!!!