
Die Strategie basiert auf Rafael Zioni’s SuperB-Indikator und identifiziert Trends durch Dynamik-Indikatoren und ermöglicht die automatische Verfolgung von Aufwärtstrends und Abwärtstrends. Sie ist eine Trend-Tracking-Strategie.
Die Strategie verwendet Rafael Zioni’s SuperB-Indikator, um einen Preistrend zu identifizieren. Der SuperB-Indikator basiert auf der Berechnung des Preisschwankungsbereichs, des Transaktionsvolumens und der Differenz zwischen dem Eröffnungs- und dem Schlusskurs. Der SpreadVol-Indikator spiegelt die dynamischen Merkmale des Preises wider.
Die Strategie beurteilt Trendwechsel in Echtzeit, indem sie Höchst- und Tiefpreise verfolgt. In einem Aufwärtstrend ist der Höchstpreis immer innovativ hoch und wird als anhaltend hoch beurteilt; wenn der Preis unter einem bestimmten Prozentsatz des Höchstpreises fällt, wird er in einen Abwärtstrend umgewandelt. In einem Abwärtstrend ist die Beurteilung ähnlich.
Die Strategie kombiniert Dynamik-Indikatoren, um die Richtung des Trends zu bestimmen, und die Real-Time-Verfolgung der Höchst- und Tiefstpreise, um neue Trendrichtungen schnell zu identifizieren, die automatische Verfolgung von Auf- und Abwärtstrends zu ermöglichen und das Risiko von Miss-Buy-Punkten und Überkaufpunkten zu vermeiden.
Rafael Zioni’s SuperB-Indikator spiegelt die Stärke und Geschwindigkeit von Preisveränderungen wider, kann die wahre Tendenz genau bestimmen und filtert effektiv falsche Durchbrüche. Die Beurteilungsregeln sind einfach und klar, leicht zu verstehen und zu überprüfen.
Es ist wichtig, dass Sie nur mehrere Positionen einnehmen, um die Transaktionskosten und den Verlust von Schlupfpunkten zu reduzieren, die durch häufige Operationen entstehen.
Diese Strategie ist anfällig für mehrfache Fehlverhandlungen in den vor dem Durchbruch berechneten Berechnungsbereichen. Die Empfindlichkeit für die Berechnungsbereiche kann durch Optimierung der Parameter verringert werden.
Die Stop-Line kann leicht ausgelöst werden, wenn der Trend schwankt. Der Stop-Line-Bereich kann entsprechend erweitert werden, um eine längere Haltedauer zu ermöglichen.
Bei einer Überschiebung ist es notwendig, die Positionen rechtzeitig zu wechseln. Wenn Sie nicht rechtzeitig wechseln, kann dies zu größeren Verlusten führen.
Optimierung der Parameter des SuperB-Indikators, Suche nach einer besseren Kombination von Parametern, Verbesserung der Stabilität des Indikators.
Optimierung der Prozentsatzfaktoren für die Nachverfolgung der Höchst- und Tiefstpreise und Verringerung der Reaktionsempfindlichkeit auf die Berechnungszone.
Erhöhung der Haltungsdauer, um Verluste bei Trendschwankungen zu vermeiden.
Die Strategie nutzt die SuperB-Indikatoren von Rafael Zioni, um die Richtung der Preisentwicklung zu bestimmen, und um die Trendwende in Echtzeit zu bestimmen, indem die Höchst- und Tiefpreise verfolgt werden. Die automatische Verfolgung von Auf- und Abwärtstrends, um das Risiko eines Überkaufs zu vermeiden, gehört zu den Dynamikstrategien des Trendverfolgungstyps. Die Strategie kombiniert mit Dynamikindikatoren, um die wahre Tendenz zu bestimmen.
/*backtest
start: 2023-01-01 00:00:00
end: 2023-08-19 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=4
strategy(shorttitle='SuperB', title='SuperB By RafaelZioni', overlay=true)
long_only = input(title="Only Long?", defval=true)
hilow = ((high - low)*100)
openclose = ((close - open)*100)
vol = (volume / hilow)
spreadvol = (openclose * vol)
VPT = spreadvol + cum(spreadvol)
window_len = 28
v_len = 14
price_spread = stdev(high-low, window_len)
vp = spreadvol + cum(spreadvol)
smooth = sma(vp, v_len)
v_spread = stdev(vp - smooth, window_len)
shadow = (vp - smooth) / v_spread * price_spread
out = shadow > 0 ? high + shadow : low + shadow
//
len = input(10)
vpt=ema(out,len)
// INPUTS //
st_mult = input(1, title = ' Multiplier', minval = 0, maxval = 100, step = 0.01)
st_period = input(10, title = ' Period', minval = 1)
// CALCULATIONS //
up= vpt - (st_mult * atr(st_period))
dn = vpt + (st_mult * atr(st_period))
c5=close
//
factor = input(title="Factor", defval=0.05, minval=0.01, maxval=5, step=0.01, type=input.float)
hb = 0.00 ,hb := nz(hb[1])
hl = 0.000, hl := nz(hl[1])
lb = 0.00 ,lb := nz(lb[1])
l1 = 0.000,l1 := nz(l1[1])
c = 0
c := nz(c[1]) + 1
trend = 0,trend := nz(trend[1]),n = dn,x =up
if barstate.isfirst
c := 0
lb := n
hb := x
l1 := c5
hl := c5
hl
if c == 1
if x >= hb[1]
hb := x
hl := c5
trend := 1
trend
else
lb := n
l1 := c5
trend := -1
trend
if c > 1
if trend[1] > 0
hl := max(hl[1], c5)
if x >= hb[1]
hb := x
hb
else
if n < hb[1] - hb[1] * factor
lb := n
l1 := c5
trend := -1
trend
else
l1 := min(l1[1], c5 )
if n <= lb[1]
lb := n
lb
else
if x > lb[1] + lb[1] * factor
hb := x
hl := c5
trend := 1
trend
v = trend == 1 ? hb : trend == -1 ? lb : na
plot(v, color=trend == 1 ? color.blue : color.yellow, style=plot.style_circles, linewidth=1, title="trend", transp=0, join=true)
//
long = trend == 1 and trend[1] == -1
short = trend == -1 and trend[1] == 1
//
last_long = 0.0
last_short = 0.0
last_long := long ? time : nz(last_long[1])
last_short := short ? time : nz(last_short[1])
buy = crossover(last_long, last_short)
sell = crossover(last_short, last_long)
/////////////// Positions //////////////
if long
strategy.entry("Buy", long=true)
if long_only == false
strategy.close("Sell")
if short
if long_only == false
strategy.entry("Sell", long=false)
strategy.close("Buy")
/////////////// Plotting ///////////////
plotshape(buy, title="buy", text="Buy", color=color.green, style=shape.labelup, location=location.belowbar, size=size.small, textcolor=color.white, transp=0) //plot for buy icon
plotshape(sell, title="sell", text="Sell", color=color.red, style=shape.labeldown, location=location.abovebar, size=size.small, textcolor=color.white, transp=0)
/////////////// Alerts ///////////////
alertcondition(buy, title='buy', message='Buy')
alertcondition(sell, title='sell', message='Sell')