Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- // This source code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/
- // © Gaspipe94
- //@version=4
- //
- // STRATEGIA D'INVERSIONE DONCHIAN CHANNEL
- // condizione long => low oltrepassa banda inferiore di Donchian di un determinato timeframe, il prezzo (prima di aprire una nuova operazione) deve prima avere toccato la linea di base.
- // exit long => stop loss e target modificabili
- // eventuale condizione short => high oltrepassa banda superiore di Donchian di un determinato timeframe, il prezzo (prima di aprire una nuova operazione) deve prima avere toccato la linea di base.
- // exit short => stop loss e target modificabili (per ora gli stessi dei long)
- //
- // BTCUSDT 15min BTCUSDTPERP 15 min
- // leght 72 lenght 76
- // stop 100000 stop 100000
- // tp 280000 tp 230000
- // 1h 45 min
- strategy(title="Donchian Reversal",
- shorttitle="DR",
- overlay=true,
- initial_capital=100,
- pyramiding=0,
- default_qty_type=strategy.percent_of_equity,
- default_qty_value=100,
- commission_type=strategy.commission.percent,
- commission_value=0.025,
- slippage=3)
- lenght= input(72, "Periodo")
- stop= input(10000, "Tick di Stop", step= 100)
- target= input(21000, "Tick di Target", step= 100)
- tf= input(defval= "45", title="Timeframe", type= input.resolution)
- size= input(0.1, "Size")
- solo_long= input(true, "Solo Long")
- upper= highest(lenght)
- lower= lowest(lenght)
- base= avg(upper, lower)
- uppertf= security(syminfo.tickerid, tf, upper)
- lowertf= security(syminfo.tickerid, tf, lower)
- basetf= security(syminfo.tickerid, tf, base)
- plot(uppertf, "Upper")
- plot(lowertf, "Lower")
- plot(basetf, "Base", color= color.orange)
- var retBase = 0
- if strategy.opentrades == 0 and retBase == 0 and high > uppertf and not solo_long
- strategy.entry("Short", false, qty= size, comment= "")
- strategy.exit("Chiuso Short", "Short", profit= target, loss= stop, comment= "")
- retBase := 1
- if strategy.opentrades == 0 and retBase == 0 and low < lowertf
- strategy.entry("Long", true, qty= size, comment= "")
- strategy.exit("Chiuso Long", "Long", profit= target, loss= stop, comment= "")
- retBase := 2
- if retBase != 0 //ritorna a 0 la variabile quando il prezzo torna sulla base
- if retBase == 1
- if low < basetf
- retBase := 0
- else if high > basetf
- retBase := 0
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement