Bollinger Bands Dual Moving Average Tracking Grid Strategie


Erstellungsdatum: 2023-12-13 17:12:38 zuletzt geändert: 2023-12-13 17:12:38
Kopie: 0 Klicks: 733
1
konzentrieren Sie sich auf
1621
Anhänger

Bollinger Bands Dual Moving Average Tracking Grid Strategie

Überblick

Diese Strategie verwendet die Brin-Channel-Indikatoren, um die Bandbreite basierend auf der ATR und der Fibonacci-Rückkehr als Preiskanal für das Raster zu erstellen. In Kombination mit der doppelten EMA-Gleichgewicht kann die Gesamttrendrichtung beurteilt werden.

Strategieprinzip

  1. Mit Hilfe der Brin-Kanal-Achse und der auf der Grundlage der ATR und der vier Fibonacci-Regressionslinien erstellten Auf- und Abwärtsbahnen werden Preisabschnitte erstellt.

  2. Die Schnelllinie EMA und die Schnelllinie SMA bilden eine doppelte Mittellinie, die die allgemeine Trendrichtung bestimmt. Die Schnelllinie durchbricht die Schnelllinie als Mehrkopfmarkt und umgekehrt als Leermarkt.

  3. In den Multi-Head-Märkten nur mehr machen, wählen Sie Brin unter der Bahn bei der Preis-Breakout-Kanal unter der Position zu öffnen; in den Leer-Head-Märkten nur leer machen, wählen Sie Brin oben auf der Bahn bei der Preis-Breakout-Kanal entlang der Position zu öffnen.

  4. Setzen Sie die Stop-Loss-Bedingungen: Bei einer starken Umkehrung der K-Linie wird die Position in der aktuellen Richtung verlassen.

Analyse der Stärken

  1. Verwenden Sie die doppelte Gleichung, um einen Trend auf der großen Ebene zu beurteilen und einen Gegenhandel zu vermeiden.

  2. Das Brin ATR-Kanalnetz hat mehrere Eröffnungspreise festgelegt, was die Erfolgsrate erhöht.

  3. Die Fibonacci-Rückkehr-Bereich setzt die Preisausbreitung ein, wobei die Anzahl der Positionen in den verschiedenen Bereichen variiert, um eine Kapitaldifferenzierung zu ermöglichen.

  4. Echtzeit-Stop-Loss-Bedingungen ermöglichen eine schnelle Stop-Loss und reduzieren die Gewinnrückführung.

Risikoanalyse

  1. Trendfehler auf der großen Ebene können zu Rückschlagverlusten führen. Die Durchschnittsparameter können entsprechend angepasst werden, oder andere Indikatoren können als Hilfsmittel verwendet werden.

  2. Bei starken Schwankungen kann der Preis direkt durch die Gitterzone brechen und keine Position eröffnen. Die Bandbreiteparameter können angepasst werden, um die Möglichkeit zur Eröffnung von Positionen zu erhöhen.

  3. Die Stop-Loss-Bedingungen sind sehr subjektiv, und es können Fehler bei der Identifizierung verschiedener Händler vorliegen. Es wird empfohlen, die Stop-Loss-Bedingungen zu testen und zu optimieren.

Optimierungsrichtung

  1. Zusätzliche Analysen zur Bewertung von doppelten Gleichgewichtstrends mit Apo-Indikatoren

  2. Optimierung der Brin-Band-Parameter mit Marktschwankungen, um sie besser an dynamische Veränderungen des Marktes anzupassen.

  3. Verringerung der Stop-Loss-Grenze und Einbeziehung der Stop-Loss-Bedingungen der OTHER-Methode zur Verringerung der Fehlerquote.

Zusammenfassen

Die Strategie hat eine klare Gesamtkonzeption. Die Verwendung des Brin-ATR-Kanals in Kombination mit der Doppel-Gleichgewichtslinie ermöglicht eine umfassende und umfassende Beurteilung der Handelssignale der Strategie und verringert das Risiko von Fehleinschätzungen. Die Vorteile der Strategie sind eindeutig und praktisch anwendbar.

Strategiequellcode
/*backtest
start: 2023-11-12 00:00:00
end: 2023-12-12 00:00:00
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

// This source code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/
// © Aayonga

//@version=5
strategy("fib trend grid@Aa", overlay=true,initial_capital=2000, default_qty_type=strategy.fixed, default_qty_value=1)

//回测时间
useDateFilter=input.bool(true,title = "启用回测时间范围限定(backtest)", group = "回测范围(backtest)")
backtesStarDate=input(timestamp("1 Jan 2015"),title = "开始时间(Start)", group = "回测范围(backtest)")
backtestEndDate=input(timestamp("1 Jan 2040"),title = "结束时间(finish)",group = "回测范围(backtest)")
inTradeWindow=true


//入场位 entry
bolllen=input.int(defval=20,minval=1,title="布林长度,(boll length)",group = "入场位(entry)")
sma=ta.sma(close,bolllen)
avg=ta.atr(bolllen)
fib1=input(defval=1.236,title="Fib 1",group = "入场位(entry)")
fib2=input(defval=2.382,title="Fib 2",group = "入场位(entry)")
fib3=input(defval=3.618,title="fib 3",group = "入场位(entry)")
fib4=input(defval=4.236,title="Fib 4",group = "入场位(entry)")
r1=avg*fib1
r2=avg*fib2
r3=avg*fib3
r4=avg*fib4
top4=sma+r4
top3=sma+r3
top2=sma+r2
top1=sma+r1
bott1=sma-r1
bott2=sma-r2
bott3=sma-r3
bott4=sma-r4



//趋势 trend

t4=plot(top4,title="卖 (sell)4",color=color.rgb(244, 9, 9))
t3=plot(top3,title = "卖(sell) 3",color=color.rgb(211, 8, 8))
t2=plot(top2,title="卖 (sell)2",color=color.rgb(146, 13, 13))
t1=plot(top1,title="卖(sell) 1",color=color.rgb(100, 3, 3))

b1=plot(bott1,title="买(buy)1",color=color.rgb(4, 81, 40))
b2=plot(bott2,title="买(buy)2",color=color.rgb(15, 117, 46))
b3=plot(bott3,title = "买(buy)3",color =color.rgb(8, 176, 42) )
b4=plot(bott4,title="买(buy)4",color=color.rgb(15, 226, 103))
plot(sma,style=plot.style_cross,title="SMA",color=color.rgb(47, 16, 225))

//趋势
LengthF=input(defval = 25,title = "快线长度(fastlength)")
LengthS=input(defval=200,title = "慢线长度(slowlength)")
emaF=ta.ema(close,LengthF)
smaS=ta.sma(close,LengthS)
longTrend=emaF>smaS
longb=ta.crossover(emaF,smaS)
bgcolor(longb ? color.new(color.green,40):na,title = "多头强势(bull trend)")
shortTrend=smaS>emaF
shortb=ta.crossunder(emaF,smaS)
bgcolor(shortb ? color.new(#951313, 40):na,title = "空头强势(bear trend)")

//pinbar
bullPinBar = ((close > open) and ((open - low) > 0.6* (high - low))) or ((close < open) and ((close - low) > 0.9 * (high - low)))
//plotshape(bullPinBar  , text ="pinbar", textcolor=color.rgb(9, 168, 144),location=location.belowbar, color=color.rgb(29, 103, 67), size=size.tiny)
bearPinBar = ((close > open) and ((high - close) > 0.7 * (high - low))) or ((close < open) and ((high - open) > 0.7 * (high - low)))
//plotshape(bearPinBar  , text ="pinbar", textcolor=color.rgb(219, 12, 12),location=location.abovebar, color=color.rgb(146, 7, 7), size=size.tiny)

buy1=ta.crossunder(close,bott1) and longTrend and close>ta.ema(close,100)
buy2=ta.crossunder(close,bott2) and longTrend and close>ta.ema(close,80)
buy3=ta.crossunder(close,bott3) and longTrend and close>ta.ema(close,80)
buy4=ta.crossunder(close,bott4) and longTrend and close>ta.ema(close,80)
buyclose=bearPinBar or ta.crossunder(close,smaS)




if buy2 or buy3 or buy4 or buy1 and inTradeWindow
    strategy.order("多(buy)",strategy.long)

if buyclose  and inTradeWindow
    strategy.close("多(buy)")

sell1=ta.crossover(close,top1) and shortTrend and close<ta.ema(close,200)
sell2=ta.crossover(close,top2) and shortTrend and close<ta.ema(close,200)
sell3=ta.crossover(close,top3) and shortTrend and close<ta.ema(close,200)
sell4=ta.crossover(close,top4) and shortTrend and close<ta.ema(close,200)
sellclose=bullPinBar or ta.crossover(close,ta.sma(close,220))

if  sell1 or sell2 or sell3 or sell4 and inTradeWindow
    strategy.order("空(sell)",strategy.short)

if sellclose  and inTradeWindow
    strategy.close("空(sell)")