Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- // Calcolare stop loss in tick basato sulla size di ingresso crypto
- // Con questo calcolo si andrà in stop sempre con la stessa percentuale stabilita in anticipo
- // Lo stop verrà conteggiato in ticks e non i quotazione del grafico, quindi quando il prezzo scende di un tot di ticks lo stop interviene
- // Per far si che il conteggio venga fatto in ticks usare gli ordini loss e profit
- // Se vogliamo che il conteggio sia fatto in quotazione del grafico e non in ticks usare ordini limit e stop
- // Esclusione di giorni e mesi per gli ingressi direttamente sulle condizioni di ingresso
- //Il trading system completo - Swing-Trend (Strategia Trend Following Con Swing Di Posizione) - parte 1
- // (Exchange= FTX) (Sottostante ETH-PERP) (Timeframe= 4H) (Direzione= LONG E SHORT) (Swing Posizione= SI) (Esclusione Giorni=Sabato) (Esclusione Mesi=Ottobre)
- //@version=4
- strategy(title=" Calcolare stop loss in tick basato sulla size di ingresso crypto", overlay=true,
- pyramiding=0, initial_capital=250,
- commission_type=strategy.commission.percent,
- commission_value=0.1, slippage=3,
- default_qty_type=strategy.percent_of_equity,
- default_qty_value=27.5)
- // Input di stop loss: mi servirà come percentuale aggiunto allo stop loss in ticks "facoltativo"
- input_stop_loss = input(title="stop_loss_long", type=input.float, defval=2.5, minval=0, maxval=100, step=0.1, group="Stop")
- // Input risk: mi servirà per calcolare la percentuale di ingresso sul mio capitale
- input_risk = input(title="Percentuale rischio", type=input.float, defval=27.5, minval=0, maxval=100, step = 0.01, group="Stop")
- // Size: mi calcola la size in dollari per entrare in base alla percentuale stabilita del mio capitale
- size = ((strategy.equity * input_risk) / 100)
- // Numero Contratti: dividendo la size di ingresso con la close mi ritorna quanti contratti posso comprare con qual capiatle a quel prezzo
- nr_contratti = (size) / close
- // Stop Loss: arrotonda il risultato finale.
- // Stop Loss: prendo la size di ingresso in dollari e dividendo per syminfo.mintick mi faccio tornare quanti tick equivalgono alla mia size
- // ES: entro con il 10% del capitale di 100$ = 10$. 10 / 0.1 "syminfo.mintick" = 100 ticks che equivalgono a 10$.
- // Divido per 100 per avere il calcolo percentuale combinato con lo stop dell'input.
- // Moltiplico per lo stop loss in % "facoltativo" se voglio allargare lo stop con gli input.
- // Divido per il numero di contratti che mi sono potuto permettere con l'ingresso % del mio saldo
- // La divisione in contratti serve a tenermi bilanciato, altrimenti nell'aumentare della mia size la perdita sarebbe maggire.
- stop_loss =round(((size /syminfo.mintick) / 100) * input_stop_loss)/nr_contratti
- // Creo le classiche condizioni di entrata ed uscita non considerando lo stop loss che ho creato ma ne inserisco uno classico
- // Inserendo uno stop loss classico "facoltativo" ma comunque consigliato per via degli ordini limit che potrebbero non essere eseguiti.
- //Condizione Entry Long: Chiusura candela sopra media lenta con differenziale medie e media veloce maggiore media ExitLong
- condEntryLong = close > (ema_long_apertura + apertura_minima_long) and close < (ema_long_apertura + apertura_massima_long) and close > open and not onlyShort and dayofweek != 7 and month !=10 and inDateRange
- //Condizione Exit Long: Crossunder di due medie
- condExitLong = close < (ema_long_chiusura - chiusura_minima_long)
- // Inserisco nelle condizioni if le condizioni di entrata classiche e questa volta il mio stop loss in ticks con strategy.exit
- // Inserisco il mio secondo stop loss classico "facoltatico" ma raccomandato con strategy.close
- if (condEntryLong)
- strategy.entry("long", true)
- strategy.exit("stop loss", from_entry = "long", loss = stop_loss)
- if (condExitLong)
- strategy.close(id="long")
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement