Perdonate la probabile banalità della domanda che sto per porre.
Sulla base dell'esempio di TS "Moving Average" che assume posizioni lunghe al verificarsi di una certa condizione (Close > MovAv(Close,n) con n numero di periodi si cui calcolare la media mobile) vorrei settare, in entrata sulla posizione lunga, uno stop loss proporzionale al Close di entrata in posizione e mantenere tale stop loss costante per tutta la durata della posizione.
Se lego il settaggio dello stop loss alla verifica del test della condizione di entrata lunga, lo stop loss cambierà continuamente ad ogni periodo per tutta la durata della posizione.
Ho provato ad usare BarSince come contatore del numero di periodi da quando si è entrati in posizione lunga e quindi cambiare lo stop loss solo se è verificata la condizione di entrata in posizione AND BarSince restituisce il valore 1.
Sembra però che BarSince, in fase di debug, non dia mai il valore 1 anche la prima volta che la condizione di entrata in posizione lunga è verificata.
Segue il codice che ho scritto sul modulo di entrata in posizione lunga:
Dim StopLossvar as Numeric
Function main()
If (Close > Moveav(Close, Opt1)) Then
If (BarSince(Close > Moveav(Close, Opt1)) = 1) Then
StopLossvar = 0.9 * Close
EndIf
EndIf
Return Close > Moveav(Close, Opt1)
Endfunction
Grazie mille
Andrea