Dies ist ein Trend nach Handelsstrategie, die auf einem modifizierten Volumen-Oszillator-Indikator basiert. Es verwendet Volumen gleitende Durchschnitte, um steigende Volumensignale zu identifizieren und Eintritte oder Ausgänge zu bestimmen. In der Zwischenzeit enthält es Preis-Trend-Urteil, um falsche Signale während Preisschwankungen zu vermeiden.
Die Risiken können gemildert werden, indem Parameter angepasst, die Indikatorenberechnung optimiert und andere Bestätigungen kombiniert werden.
Diese Strategie nutzt einen verbesserten Volumen-Oszillator mit Preistrend, um Ein- und Ausgänge mit zwei Stop-Loss-Schwellenwerten zu bestimmen.
/*backtest start: 2023-12-01 00:00:00 end: 2023-12-31 23:59:59 period: 1h basePeriod: 15m exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=4 strategy('Volume Advanced', default_qty_type=strategy.percent_of_equity, default_qty_value=100, commission_type=strategy.commission.percent, commission_value=0.075, currency='USD') startP = timestamp(input(2017, "Start Year"), input(12, "Start Month"), input(17, "Start Day"), 0, 0) end = timestamp(input(9999, "End Year"), input(1, "End Month"), input(1, "End Day"), 0, 0) _testPeriod() => iff(time >= startP and time <= end, true, false) source = close vol_length = input(34, title = "Volume - Length") vol_smooth = input(200,title = "Volume - Smoothing") volriselen = input(21, title = "Volume - Risinglength") volfalllen = input(13, title = "Volume - Fallinglength") threshold = input(1,"threshold") threshold2 = input(1.2,step=0.1, title="Threshold 2") direction = input(13,"amount of bars") volsum = sum(volume, vol_length) / (sum(volume, vol_smooth) / (vol_smooth / vol_length)) LongEntry = (rising(volsum, volriselen) or crossover (volsum, threshold)) and close > close[direction] ShortEntry = (rising(volsum, volriselen) or crossover (volsum, threshold)) and close < close[direction] LongExit1 = falling (volsum,volfalllen) ShortExit1 = falling (volsum,volfalllen) LongExit2= (crossover(volsum, threshold2) and close < close[direction]) _state = 0 _prev = nz(_state[1]) _state := _prev if _prev == 0 if LongEntry _state := 1 _state if ShortEntry _state := 2 _state if _prev == 1 if ShortEntry or LongExit1 _state := 0 _state if _prev == 2 if LongEntry or ShortExit1 _state := 0 _state _bLongEntry = _state == 1 _bLongClose = _state == 0 long_condition = _bLongEntry and close > close[direction] strategy.entry('BUY', strategy.long, when=long_condition) short_condition = _bLongClose or LongExit2 strategy.close('BUY', when=short_condition) plot(volsum, color = color.green, title="Vol_Sum") plot(threshold, color = color.fuchsia, transp=50, title="Threshold") plot(threshold2, color=color.white, transp = 50, title="Threshold 2")