Salve, vorrei inserire una funziona all’interno del mio ts che sia la seguente.
Una volta attivato il trailing stop (codice di Nicolas) e nelle ultime 10 candele il prezzo non mi rompe piu’ massimi, esci dalla posizione.
Grazie anticipate
Quando entri a mercato con BUY salva il massimo di quella candela, o quello che vuoi tu in una variabile (se già non l’hai fatto) che possiamo chiamare MioMassimo.
A questo punto puoi mettere questo codice
IF close <= MioMassimo AND OnMarket AND (BarIndex - TradeIndex) >= 10 THEN
SELL AT MARKET
EXITSHORT AT MARKET
ENDIF
che esce quando sei a mercato, il prezzo è inferiore o uguale al massimo già definito e sono passata almeno 10 candele. Non importa verificare se sei long o short, chiude tutto in entrambi i casi (quello che non è aperto lo ignora semplicemente).
Si, va bene, in sostanza ti chiude in pareggio nel caso non si sia attivato il trailing stop dopo 10 candele (o si sia attivato ma sia ancora inferiore al pareggio).
Anzi, scusami, NON chiude per forza in pareggio. Dopo 10 candele CHIUDE la posizione se il prezzo è inferiore o uguale al pareggio.
Roberto, se io voglio attivare questa funzione solo quando il prezzo ha effettuato una chiusura sopra 50 pip dal prezzo di apertura trade, come devo implementare il codice?
grazie
IF (close - TradePrice) > (50 * pipsize) AND OnMarket THEN //per i Long
SELL AT MARKET
EXITSHORT AT MARKET
ENDIF
IF (TradePrice - close) > (50 * pipsize) AND OnMarket THEN //per gli Short
SELL AT MARKET
EXITSHORT AT MARKET
ENDIF
Roberto,
Io ho scritto questo codice, mi dici se ho sbagliato qualcosa?
c1= (close - TradePrice) > (50 * pipsize) AND OnMarket THEN //per i Long
c2= (TradePrice - close) > (50 * pipsize) AND OnMarket THEN //per gli Short
IF longonmarket and c1 AND (BarIndex - TradeIndex) >= 10 THEN
SELL AT MARKET
ENDIF
IF shortonmarket and c2 AND (BarIndex - TradeIndex) >= 10 THEN
exitshort AT MARKET
ENDIF
In questo modo penso di aver detto al trading system: se sei long e il prezzo è maggiore di 50 pip dal’entrata long, e il prezzo nelle ultime 10 candele non mi ha rotto massimi, esci dalla posizione.
Ho sbagliato qualcosa?
Grazie 🙂
E’ corretto, non resta che provarlo!
Ciao Roberto buonasera, ho fatto varie prove, ma non riesco a farla funzionare.
supponiamo che il ts apre una posizione long a 1000, con stop 900 e target 1200.
Come faccio a dire al sistema: quanto la posizione è in guadagno di 50 pip, metti lo stop loss a zero. e cioe’ quando il prezzo arrivera’ a 1050, lo stop loss da 900 deve essere spostato a zero e cioè a valore 1000
Grazie
Per potere dirti qualcosa in merito alla tua strategia occorre che tu la posti interamente.
Per lo stop loss in pareggio baste che aggiungi
IF close - Tradeprice > 50 * pipsize THEN
SET STOP $LOSS 0 //o PLOSS 0 o LOSS 0
ENDIF
Non ho provato, in ogni caso, se così non dovesse funzionare, prova quest’altra soluzione
IF close - Tradeprice > 50 * pipsize THEN
SET STOP PLOSS 100 * pipsize //essendo il tuo SL iniziale di 100 punti
ENDIF
scusate l’intromissione, Roberto mi sai dire perchè a me la parola PIPSIZE non viene colorata blu come a te?
a me viene colorata viola
ProOrder la colora viola, qui blu, ma questo non è il linguaggio PRT, se si usa il pulsante INSERT PRT CODE Nicolas ha in qualche modo simulato il comportamento dell’editor di PRT, ma non è proprio identico.