Mi piacerebbe uno stop löss che si fissi ad un certo numero di punti dal profit, sia in positivo che in negativo. Forse la cosa già esiste, magari in maniera diversa.
Comunque sarebbe bello avere uno stop che si aggiorni ad ogni candela.
Grazie
Si può aggiornare ogni candela, ma su quale base? Pips, Atr o altro?
Anche atr, ma non so come funzionerebbe,
Grazie
Non lo ritieni interessante da fare?
Questo è in pips, e ad ogni candela si aggiorna. Se inizi con 50 pips di stop (esempio Long), se il prezzo va su, alla candela successiva lo stoip loss sarà sempre di 50 pip, ma calcolati dal prezzo corrente, non quello iniziale. Se arrivi ad un profitto di 60 pips, allora lo stop loss sarà a +10 pips di profitto (sempre 50 pips di distanza dal prezzo attuale):
SL = 150
TP = SL * 3
Sma = average[20,0](close)
IF Not OnMarket THEN
IF close CROSSES OVER Sma THEN
BUY AT MARKET
StopLoss = close - SL*PipSize
TakeProfit = close + TP*PipSize
ELSIF close CROSSES UNDER Sma THEN
SELLSHORT AT MARKET
StopLoss = close + SL*PipSize
TakeProfit = close - TP*PipSize
ENDIF
ELSE
IF LongOnMarket THEN
StopLoss = max(StopLoss,close - SL*PipSize)
ELSIF ShortOnMarket THEN
StopLoss = min(StopLoss,close + SL*PipSize)
ENDIF
ENDIF
SET TARGET PRICE TakeProfit
SET STOP PRICE StopLoss
//graphOnPrice TakeProfit coloured("Blue")
//graphonprice StopLoss coloured("Red")
//graph (close - StopLoss) / PipSize
Scusa, non sono un grande programmatore. Ma se il prezzo scende di nuovo, anche lo SL non torna indietro e rimane alla stessa distanza e i pip guadagnati vengono persi di nuovo? O mi sono perso qualcosa?
Sempre gentilissimo, lo provo.
Grazie
Le linee 16 e 18 servono proprio a non fare tornare indietro lo Stop Loss.
È possibile ottenere lo stesso codice con percentuale per favore?
Eccolo in percentuale:
SLpercent = 1.0
TPpercent = SLpercent * 3.0
Sma = average[20,0](close)
IF Not OnMarket THEN
IF close CROSSES OVER Sma THEN
BUY AT MARKET
SL = (close * SLpercent / 100) / PipSize
TP = (close * TPpercent / 100) / PipSize
StopLoss = close - SL
TakeProfit = close + TP
ELSIF close CROSSES UNDER Sma THEN
SELLSHORT AT MARKET
SL = (close * SLpercent / 100) / PipSize
TP = (close * TPpercent / 100) / PipSize
StopLoss = close + SL
TakeProfit = close - TP
ENDIF
ELSE
IF LongOnMarket THEN
StopLoss = max(StopLoss,close - SL*PipSize)
ELSIF ShortOnMarket THEN
StopLoss = min(StopLoss,close + SL*PipSize)
ENDIF
ENDIF
SET TARGET PRICE TakeProfit
SET STOP PRICE StopLoss
//graphOnPrice TakeProfit coloured("Blue")
//graphonprice StopLoss coloured("Red")
//graph (close - StopLoss) / PipSize