
Die Strategie ist eine Trend-Tracking-Strategie, die auf der Grundlage eines modifizierten Handelsvolumen-Obsolvator-Indikators gehandelt wird. Sie verwendet die Durchschnittslinie des Handelsvolumens, um Signals mit erhöhtem Handelsvolumen zu identifizieren, um Eintritt oder Ausstieg aus einer Position zu beurteilen.
Diese Risiken können durch Anpassung der Parameter, Optimierung der Berechnung der Indikatoren und Bestätigung in Verbindung mit anderen Indikatoren kontrolliert werden.
Diese Strategie ist eine relativ stabile Trend-Tracking-Strategie, die durch einen verbesserten Transaktionsvolumen-Obsolvator unterstützt wird, um die Preisentwicklung zu beurteilen. Insgesamt ist der Optimierungsraum hauptsächlich in Bezug auf die Parameteranpassung, die Signalfilterung und die Stop-Loss-Strategie. Insgesamt hat die Strategie einen gewissen praktischen Wert und ist es wert, weiter untersucht und optimiert zu werden.
/*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")