Citazione Originariamente Scritto da alex69 Visualizza Messaggio
Ciao DICECC,
lo script di Smash serve a verificare che non si verifichi più di 1 trade dello stesso segno.

Intanto si impostano le 2 condizioni si Buy e di Sell:
SET ConditionBuy = (WPR (P) > -35 AND REF (WPR (P), 1) <= - 35)
SET ConditionSell = (WPR (P) < -65 AND REF (WPR (P), 1) >= - 65)

Di seguito si impostano i parametri di verifica:
SET Position = ConditionBuy - ConditionSell
SET LastPosition = CHANGEIF(Position <> 0, Position)
Infine la condizione per far partire il segnale Buy:
ConditionBuy AND REF(LastPosition, 1) <> 1
Quest'ultima condizione, nel Sell Script diventa:
ConditionSell AND REF(LastPosition, 1) <> -1
Le condizioni Exit Long ed Exit Short restano immutate.
Ci devi inoltre aggiungere il set per il take profit.

Da solo non ci sarei mai arrivato, ma rileggendo i vari passaggi con l'aiuto contestuale, si riesce a capire la logica che sta dietro.

Ecco il risultato finale del Buy Script:
INPUTS: @periods(300), @takeprofit(100)
SET TAKE_PROFIT= @takeprofit
SET P= @periods

#Criteri alternanza Buy-Sell
SET ConditionBuy = (WPR (P) > -35 AND REF (WPR (P), 1) <= - 35)
SET ConditionSell = (WPR (P) < -65 AND REF (WPR (P), 1) >= - 65)
SET Position = ConditionBuy - ConditionSell
SET LastPosition = CHANGEIF(Position <> 0, Position)
 
ConditionBuy AND REF(LastPosition, 1) <> 1
Penso che così non avrai problemi.
Se ho scritto qualche inesattezza Smash o Apo penso che me lo segnaleranno.
Magari si potrebbero condividere i risultati più interessanti dei backtest che faremo in futuro.
Saluti.

Alex
Ciao Alex
sei stato molto gentile a rispondermi in modo così tempestivo, dettagliato e preciso.
Ti ringrazio moltissimo e spero di poter in qualche modo ricambiare, magari con la condivisione cui hai accennato.
Cordialmente.
Dino