
Die Strategie ist eine quantitative Handelsstrategie, die eine Kombination aus Bollinger Bands und Gleichen verwendet, um Trends zu beurteilen und einzugehen. Sie kombiniert die Trenderkennungsfähigkeit der Bollinger Bands mit dem Ripple-Effekt des Moving Averages, um die Richtung der Markttrends effektiv zu erkennen und in trendspezifischen Bewegungen einzugehen.
Die Berechnung von Höchst- und Tiefstpreisen im Brin-Band-Kanal zur Bestimmung der Markttrends
Berechnung der Größe der Sonnenstrahlen, Beurteilung von Stopp- und Umkehrsignalen
Nach Bestätigung der Trendrichtung, Eintritt in Richtung der Passage
Die Verwendung von Moving Averages zur Filterung und zur Vermeidung von Falschsignalen
Die Brin-Band kann die Preiskanäle und die Trendrichtung klar bestimmen, der Moving Average kann die Wellen filtern, die Kombination von beiden kann Trends effektiv identifizieren, die Auswirkungen von Marktausfällen vermeiden und die Stabilität des Systems gewährleisten.
Durch die Berechnung der mittleren Größe der Sonnenstrahl-Einheiten in einem bestimmten Zeitraum und die Vergleiche mit der Größe der aktuellen Periode kann eine Trendwende klar ermittelt und eine Stop-Loss-Position eingelegt werden, um das Risiko der Strategie effektiv zu kontrollieren.
Die Strategie beinhaltet das Eintritt unter den Bedingungen der Kombination von Moving Averages und Durchgangsrichtung und die Verwendung der Größenordnung der Sonneneinstellungen für den Stop-Loss, so dass die Eintritts- und Stop-Loss-Regeln des gesamten Systems sehr klar und systematisch sind.
In einem konjunkturellen Umfeld kann es sein, dass der Preis mehrmals auf die Abwärtsspur trifft, was zu wiederholten kleinen Verlusten führt. Die Positionsgröße sollte reduziert werden, um die Einzelschäden zu verringern.
In einem starken Trend kann eine kurzfristige Preisrückführung dazu führen, dass die Stop-Loss-Regel ausgeschaltet wird, wobei die Stop-Loss-Marge entsprechend gelockert werden sollte, um dem Trend zu folgen.
Die Parameter für Moving Averages und Brinbands sind falsch eingestellt, was zu einer Fehlinterpretation des Signals führen kann. Die Parameter sollten entsprechend optimiert werden, damit das Signal stabil und zuverlässig ist.
Die Anpassung der Moving Average-Parameter reduziert die Geschmeidigkeit und ermöglicht eine schnellere Erkennung von Trendänderungen.
Versuchen Sie mit verschiedenen Stop-Loss-Regeln, wie Tracking-Stops, ATR-Stops und so weiter, um die beste Stop-Loss-Methode zu finden.
Das Modell wurde auf der Grundlage einer großen Anzahl von historischen Daten trainiert, um Trends zu beurteilen und Handelssignale zu senden.
Die Strategie berücksichtigt Trendbeurteilung und Risikokontrolle, nutzt Brin-Band-Kanäle und Moving Averages zur Trenderkennung und verwendet die Größe der Sonnenschein-Einheit zum Stoppen. Die Strategie ist systematisch, die quantitativen Regeln sind klar und können die Risiken effektiv kontrollieren, um überschüssige Gewinne zu erzielen. Die nachträgliche Verbesserung durch Parameteroptimierung und Kombination von Machine Learning macht die Strategie stabiler und zuverlässiger.
/*backtest
start: 2023-12-14 00:00:00
end: 2023-12-21 00:00:00
period: 15m
basePeriod: 5m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=2
strategy("Noro's Bands Scalper Strategy v1.3", shorttitle = "Scalper str 1.3", overlay=true, default_qty_type = strategy.percent_of_equity, default_qty_value=100.0, pyramiding=0)
//Settings
needlong = input(true, defval = true, title = "Long")
needshort = input(true, defval = true, title = "Short")
takepercent = input(0, defval = 0, minval = 0, maxval = 1000, title = "take, %")
needct = input(false, defval = false, title = "Counter-trend entry")
len = input(20, defval = 20, minval = 2, maxval = 200, title = "Period")
needbb = input(true, defval = true, title = "Show Bands")
needbg = input(true, defval = true, title = "Show Background")
src = close
//PriceChannel 1
lasthigh = highest(src, len)
lastlow = lowest(src, len)
center = (lasthigh + lastlow) / 2
//Distance
dist = abs(src - center)
distsma = sma(dist, len)
hd = center + distsma
ld = center - distsma
hd1 = center + distsma / 2
ld1 = center - distsma / 2
//Trend
trend = close < ld and high < center ? -1 : close > hd and low > center ? 1 : trend[1]
//Lines
colo = needbb == false ? na : black
plot(hd, color = colo, linewidth = 1, transp = 0, title = "High band")
plot(center, color = colo, linewidth = 1, transp = 0, title = "center")
plot(ld, color = colo, linewidth = 1, transp = 0, title = "Low band")
//Background
col = needbg == false ? na : trend == 1 ? lime : red
bgcolor(col, transp = 80)
//Body
body = abs(close - open)
smabody = ema(body, 30)
candle = high - low
//Engulfing
min = min(open, close)
max = max(open, close)
bar = close > open ? 1 : close < open ? -1 : 0
upeng = bar == 1 and bar[1] == -1 and min >= min[1] and max <= max[1] ? 1 : 0
dneng = bar == -1 and bar[1] == 1 and min >= min[1] and max <= max[1] ? 1 : 0
//Signals
up7 = trend == 1 and ((bar == -1 and bar[1] == -1) or (body > smabody and close < open)) ? 1 : 0
dn7 = trend == 1 and bar == 1 and bar[1] == 1 and close > strategy.position_avg_price * (100 + takepercent) / 100 ? 1 : 0
up8 = trend == -1 and bar == -1 and bar[1] == -1 and close < strategy.position_avg_price * (100 - takepercent) / 100 ? 1 : 0
dn8 = trend == -1 and ((bar == 1 and bar[1] == 1) or (body > smabody and close > open)) ? 1 : 0
if up7 == 1 or up8 == 1
strategy.entry("Long", strategy.long, needlong == false ? 0 : trend == -1 and needct == false ? 0 : na)
if dn7 == 1 or dn8 == 1
strategy.entry("Short", strategy.short, needshort == false ? 0 : trend == 1 and needct == false ? 0 : na)