Buongiorno Roberto e a tutti,
avrei bisogno del vs aiuto perché da solo non ne vengo a capo.
Sono 2 le richieste…
La prima è per l’esecuzione di questo comando:
su una strategia che prevede l’apertura di posizioni short, vorrei che il mio stop loss (forex) scattasse
qualora il prezzo mi raggiunga il massimo delle ultime 4 candele…
…ho provato con set stop ploss= highest[4]…ma è sbagliato…
L’altro comando invece riguarda il take profit…
vorrei che fosse 2 volte il mio stop loss…quindi dobrebbe in automatico calcolare la distanza dall’ultima barra di apertura al massimo raggiunto nelle ultime 4 barre e raddoppiarlo…
Ringrazio per la disponibilità!
Buona giornata a tutti
1. Scrivi
StopLoss = abs(close - highest[4](high))
SET STOP LOSS StopLoss
2. Scrivi
TargetProfit = StopLoss * 2
SET TARGET PROFIT TargetProfit
grazie Roberto,
purtroppo non fa quello che però gli chiedo di fare…
quando entra in posizione, sembra che di volta in volta sposti il suo stop loss con il formarsi delle candele…
invece deve rimanere là fermo e fissato sopra al massimo delle ultime 4 candele fatte prima dell’apertura della posizione.
Non so se mi sono spiegato male io probabilmente…mettiamo caso tf daily
Questo stop deve scattare, una volta aperta la posizione, solo e soltanto quando il prezzo salirà (siamo short con la pos) oltre il massimo fatto segnare dalle ultime 4 candele
e lì deve restare…possono ad esempio passare 2 settimane, ma se il prezzo non raggiunge più quel famoso massimo, la posizione deve restare aperta.
Grazie come sempre x la disponibilià=)
Devi salvare il valore in una variabile e non cambiarlo finché non hai nuove condizioni.
…non ti seguo Roberto…
vuoi dire che dovrei stabilire una variabile es. var1 ed associargli un valore di prezzo es. 120,00?
va1=120,00
set stop loss var1
Non credo che sia così…
Occorrerebbe il codice per capire cosa fa.
Questo è in esempio che calcola lo SL ad ogni candela:
Cross = close crosses over average [10]
StopLoss = abs(close - highest[4](high))
TargetProfit = StopLoss * 2
.
.
SET STOP LOSS StopLoss
SET TARGET PROFIT TargetProfit
Questo, invece, lo cambia solo se si verifica la condizione:
Cross = close crosses over average [10]
If Cross then
StopLoss = abs(close - highest[4](high))
TargetProfit = StopLoss * 2
Endif
.
.
SET STOP LOSS StopLoss
SET TARGET PROFIT TargetProfit
ma average [10] per cosa starebbe?
grazie
Se cerchi AVERAGE troverai che è una media.
Comunque è un esempio, tu metterai la condizione che vuoi.
Ripeto, se posti il codice completo posso replicare le tue operazioni e trovare una soluzione,
Scusa Roberto…
non sono qui per condividere codici, ma per chiedere un aiuto al supporto della prt.
Spero nessuno si offenda
Detto questo…average infatti mi pareva fosse la media e non trovavo il senso…
la condizione è quella…da quando apre la posizione, deve guardare il massimo fatto dalle ultime 4 candele e metterci lì lo stop e deve essere fisso e restare lì.
se apre a 120,00 e il massimo delle ultime 4 candele è stato 120.25, a 120.25 deve esserci lo stop e lì rimanerci fino a quando o va in target o mi prende appunto lo stop
Eccolo per i Long, per gli Short lo adeguerai di conseguenza:
If MieCondizioniLong and Not OnMarket then
StopLoss = abs(close - highest[4](high))
TargetProfit = StopLoss * 2
Buy 1 contract at Market
SET STOP LOSS StopLoss
SET TARGET PROFIT TargetProfit
Endif
così funziona alla perfezione!
Grazie Roberto per la tua disponibilità e professionalità!