Ciao Roberto, puoi controllare questo contatore di Loss intraday che non funziona correttamente? Come si vede dall?immagine, inizia a contare le operazioni perdenti, però alla prima vincente non va ad 1, ma torna a 0 (lo puoi provare in qualsiasi tua strategia)
once nLoss=0
if intradayBarIndex =0 then
nLoss=0
endif
if strategyProfit<strategyProfit[1] then
nLoss=nLoss +1
elsif strategyProfit >strategyProfit[1] and nLoss<6 then
nLoss=0
endif
// ------------------------------------------------------------------- CONDIZIONI ENTRATA - USCITA
IF cLongEntry and nLoss<6 THEN
BUY 1 CONTRACTS AT MARKET
ENDIF
IF cLongExit then
SELL 1 CONTRACTS AT MARKET
endif
If cShortEntry and nLoss<6 THEN
SELLSHORT 1 CONTRACTS AT MARKET
ENDIF
If cShortExit then
EXITSHORT 1 CONTRACTS AT MARKET
ENDIF
Tu vuoi un contatore di perdite consecutive?
Se si, va bene che riparta da zero.
Se, invece, vuoi contarle tutte anche se non consecutive, allora non devi azzerare niente, tranne all’inizio del giorno. In questo caso rimuovi le righe 7 e 8.
Non voglio un contatore di perdite consecutive. Ho tolto le righe 7 ed 8 e funziona.
Avevo in mente tuttavia una cosa un pò differente: vorrei che il numero di perdite della giornata venga aggiornato contando anche le vincenti.
Un esempio: supponiamo di accettare un massimo 6 perdite complessive nella giornata, se il sistema inizia con 3 perdite e poi fa un operazione vincente, il conteggio torna a 2 (nella formula senza le righe 7 e 8 rimane a 3 in quanto conta semplicemente solo le negative).
Quindi non sono perdite consecutive, ma neanche propriamente complessive: sono complessive negative dalle quali vengono scalate quelle positive.
E’ complicato modificare il codice? Grazie
Allora lascia quelle due righe modificandole così:
elsif strategyProfit >strategyProfit[1] and nLoss<6 then
nLoss=max(0,nLoss - 1)
Ho controllato e funziona. Grazie