Buongiorno,
Ho difficoltà a trovare un tutorial che mi aiuti a fare questo:
se avessi per esempio due tipi di strategie sullo stesso strumento, e volessi che la PRT mi restituisse sia le due equity separate che quella cumulata di entrambi i sistemi, come dovrei fare?
un esempio banalissimo:
if close>open then
buy 1 contracts at market
endif
if longonmarket then
sell at market
endif
if close<open then
sell short 1 contracts at market
endif
if shortonmarket then
sell at market
endif
grazie infinite a chi potrà rispondere
Hary
Se sono due strategie distinte, in due diversi file, non si può fare, in quanto ogni strategia è indipendente dalle altre.
Se hai due strategie codificate all’interno dello stesso codice, si può fare, con una certa complessità (per strategie più complicate) perché PRT segue il totale complessivo e non può essere diviso.
Nel tuo esempio si può fare. In pratica vuoi tenere separati i risultati dei Long dagli Short (ho modificato leggermente il codice per fargli fare sempre Stop & Reverse):
ONCE LongProfit = 0
ONCE ShortProfit = 0
Gain = StrategyProfit - StrategyProfit[1]
IF Gain <> 0 THEN
IF LongOnMarket[1] THEN
LongProfit = LongProfit + Gain
ELSIF ShortOnMarket[1] THEN
ShortProfit = ShortProfit + Gain
ENDIF
ENDIF
if close crosses over average[100](close) and Not LongOnMarket then
buy 1 contracts at market
endif
if close crosses under average[100](close) and Not ShortOnMarket then
sellshort 1 contracts at market
endif
graph LongProfit coloured(0,0,255,255)
graph ShortProfit coloured(0,128,155,255)
Come puoi vedere dalla foto (DAX Daily, con 1K unità), la somma delle due curve da il risultato complessivo della strategia. Una è positiva, l’altra negativa.