Die Strategie ist bekannt als “High Bolling Band Equilibrium Grid Trend Tracking Strategie”. Es ist eine Strategie, die Bolling Bands und Equilibrium verwendet, um Trends zu beurteilen und die Grid-Positionsverfolgung in Richtung der Trends aufzubauen.
Die Hauptideen der Strategie sind:
Der Brin-Band wird verwendet, um die derzeitigen Marktschwankungen zu beurteilen. Der Brin-Band ist ein n-Tage-Simple Moving Average mit einer Bandbreite von n-Tage-ATR-Durchschnitten.
Die vier Linien außerhalb des Brin-Bands sind die Linien der ungleichmäßigen Durchschnittswirkungsbreite. Die Strategie besteht darin, Positionen zu errichten, wenn die Linien unterschiedlicher Stufen durchbrochen werden.
Die EMA entscheidet über die Richtung des Großzyklus-Trends.
Bei der Aufnahme von Positionen in der Richtung des Trends und bei der Erscheinung einer K-Linie wird die Platzierung gestoppt.
Die Strategie besteht aus den folgenden Teilen:
Brin-Band-Parameter festlegen, Brin-Mittelbahn ist n-Tage SMA-Mittellinie, Brin-Bandbreite ist n-Tage ATR。 und Brin-Länge in der Strategie n ist 20。
Die vier Brin-Ausweiterungslinien haben eine durchschnittliche reale Schwankungsbreite von 1,236-mal, 2,382-mal, 3,618-mal und 4,236-mal.
Setzen Sie die schnelle und die langsame EMA-Durchschnittslinie, um den Großzyklus zu bestimmen. Die Schnelle Linie ist 25 Tage lang und die Langsame Linie 200 Tage lang.
In der Hauptsyklus-Holding-Phase wird eine Holding-Holding-Phase errichtet, wenn der Preis die unteren vier Ebenen durchbricht.
Wenn eine K-Linie oder eine erneute Überschreitung der langfristigen Durchschnittslinie auftritt, gilt dies als ein endgültiges Signal, das die Position beendet.
Das sind die wichtigsten technischen Prinzipien der Strategie. Durch die Brin-Band-Bewertung der aktuellen Schwankungsbreite, der Verfolgung von Positionserhebungen unter großen periodischen Trends und schließlich der Wirkung von Hochprobabilitätspositionen.
Diese Strategie hat folgende Vorteile:
Trend-Eigenschaften zu nutzen, die Richtung des Trends zu bestimmen, in der Richtung der Tendenz zu positionieren, kann unnötige Umkehroperationen zu reduzieren.
Die Verwendung von Multi-Level-Brinings ermöglicht eine bessere Einschätzung der aktuellen Schwankungsbereiche und hilft dabei, einen Großteil der Situation zu erfassen.
Die Grid-Positionsmethode ermöglicht eine gleichmäßige Verteilung des Risikos auf jede Einheit des Kapitals, wodurch ein stabiler Ertrag erzielt wird.
Die effiziente Signal-Gleichung der Nadel-K-Leitung ermöglicht eine schnelle Stilllegung.
Die Strategie als Ganzes realisiert die Dreieinigkeit von Trendbeurteilung, Gitterpositionen und spezifischen Signalplatzierungen und ist eine relativ ausgereifte und vollständige Quantifizierungsstrategie.
Die Strategie birgt auch folgende Risiken:
Die Wahrscheinlichkeit, dass ein großer, zyklischer Trend falsch beurteilt wird. Die schnelle Durchschnittslinie hat eine gewisse Wahrscheinlichkeit für einen Fehler, der zu unnötigen Umkehroperationen führen kann.
Die Brinline-Problematik ist nicht in der Lage, den Kursweg zu 100% vorherzusagen.
Das Signal der Nadel-K-Leitung kommt zu spät und kann nicht rechtzeitig gestoppt werden.
Bei einer großen periodischen Erschütterung kann es zu einer Überschneidung der Positionen kommen.
Die entsprechenden Lösungen sind wie folgt:
Kurz- und langsamere Anpassung der Parameter zur Verringerung der Fehlerwahrscheinlichkeit.
Anpassung der Brin-Linie-Parameter, so dass die Brin-Linie so nah wie möglich an den größten Teil der Schwankungen ist.
Tests mit spezifischen Stoppsignalen, die empfindlicher sind.
Das ist eine sehr wichtige Entscheidung, die wir alle treffen müssen.
Die Strategie kann in folgenden Richtungen optimiert werden:
Verschiedene Parameter der Durchschnittslinie werden getestet, um die Trendbeurteilung zu optimieren. Zum Beispiel werden andere Indikatoren wie EMA, RSI und andere getestet.
Tests mit unterschiedlichen ATR-Parametern optimieren die Breite der Brinkanal-Einstellungen. Die Brinkanal-Einstellungen lassen die realen Schwankungen näher kommen.
Tests für andere effiziente Stoppsignale, z. B. SAR, Kallmann-Gleichgewicht usw.
Optimierung der Rasterspannweite. Erleichterung der Schwankungen und Verringerung der Wiederholung der Hütten.
Es ist wichtig, dass die Risiken von Extremfällen vermieden werden.
Die Strategie umfasst die Anwendung von Brin-Band-Kanal, Gleichgewicht-Indikator, spezifische K-Line-Form und andere technische Mittel. In der Annahme, dass die großen Zyklus-Trend zu beurteilen, eine Trend-Tracking-Einheitliche Brin-Gitter Strategie gebaut. Im Vergleich zu herkömmlichen Brin-Band-Breakout, die Strategie mit Trend-Charakteristik zu beurteilen, reduziert unnötige umgekehrte Positionen, während die Gitter-Position-Methode, so dass die Risiken für jede Einheit des Kapitals verteilt, so dass eine stabile Erträge.
/*backtest
start: 2023-10-24 00:00:00
end: 2023-11-23 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)
//回测时间
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
//趋势 plot
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="买(buy1)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
buy3=ta.crossunder(close,bott3) and longTrend
buy4=ta.crossunder(close,bott4) and longTrend
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)")