
A estratégia é chamada de estratégia de rastreamento de tendências de grelha de linha uniforme de faixa de borin superior. É uma estratégia que usa a faixa de borin e a linha uniforme para fazer o julgamento de tendências e criar um rastreamento de posições de grelha na direção da tendência.
A principal ideia da estratégia é:
Utilize a faixa de Brin para avaliar a amplitude de oscilação atual do mercado. A faixa de Brin é a média móvel simples de n dias e a banda é a média ATR de n dias.
As quatro faixas do lado de fora da faixa de Bryn são linhas de amplitude de fluxo real de média ímpar. A estratégia estabelece posições ao romper as linhas de diferentes níveis.
A EMA determina a direção da tendência do grande ciclo rapidamente. Quando o grande ciclo é de mais de um lado, apenas faz mais de um lado, e vice-versa.
A tendência segue a posição de construção, e a posição de liquidação é interrompida quando a linha K aguda aparece.
A estratégia é dividida em várias partes:
Determine o parâmetro da faixa de Bryn, a trajectória de Bryn é a média de n dias de SMA, a largura de banda de Bryn é a ATR de n dias. O comprimento de Bryn na estratégia é n = 20.
A extensão externa de quatro linhas de Brin foi estabelecida, com a distância entre a linha e a órbita média de 1,236x, 2,382x, 3,618x e 4,236x, respectivamente.
Configure a linha média rápida e lenta do EMA para determinar a tendência do ciclo maior, com a linha rápida de 25 dias e a linha lenta de 200 dias.
Durante o período de grandes volumes, os preços se estabelecem gradualmente quando a linha média abaixo dos quatro eixos é quebrada.
Quando uma linha K aguda aparece ou o preço cruza novamente a linha média do período médio, considere-se um sinal de fim agudo e pare de negociar.
Estes são os principais princípios técnicos da estratégia. Com base nas bandas de Brin, julgue a amplitude de flutuação atual, acompanhe a construção de posições sob a tendência de grandes ciclos e, finalmente, alcance o efeito de manter posições de alta probabilidade.
A estratégia tem as seguintes vantagens:
Aproveite as características da tendência, o grande ciclo de determinar a direção da tendência, na direção da tendência de construção de posições, pode reduzir a desnecessária reversão operação.
O uso de linhas de preenchimento de vários níveis permite um julgamento mais claro das áreas de flutuação atuais, o que ajuda a entender a maior parte da situação.
O retalho de posições permite que cada unidade de capital seja distribuída de forma uniforme entre os riscos e, assim, obtenha um retorno estável.
O equilíbrio de sinal de alta eficiência é usado para parar rapidamente.
A estratégia, como um todo, realiza a tríade de discernimento de tendências, posicionamento de grades e posicionamento de sinais específicos, uma estratégia de quantificação relativamente madura e completa.
A estratégia também apresenta os seguintes riscos:
Probabilidade de erro de julgamento de tendências de grandes ciclos. Há uma certa probabilidade de erro na linha média lenta e rápida, o que pode levar a operações de reversão desnecessárias.
A probabilidade de falha da linha de browning. A linha de browning não prevê 100% do caminho do preço.
O sinal de linha K acústica é emitido tarde e não pode ser parado a tempo.
O excesso de sobreposição de posições pode ocorrer durante a correção de grandes ciclos de tremores.
A solução é a seguinte:
Ajustar os parâmetros da linha média lentamente para reduzir a probabilidade de erro.
Ajustar os parâmetros da linha de Brink para que ela fique o mais próxima possível da maior parte das oscilações.
Teste de sinais de parada de forma específica mais sensíveis.
Aumentar a distância entre as posições e controlar o tamanho das posições.
A estratégia pode ser otimizada em várias direções:
Testar diferentes parâmetros de linha média para otimizar o julgamento de tendências de grande ciclo. Por exemplo, testar outros indicadores como EMA, RSI e outros.
Testar diferentes múltiplos de parâmetros ATR para otimizar a configuração de largura do canal de Boolean. Tornar a faixa de Boolean mais próxima da real oscilação.
Teste outros sinais de parada de alta eficiência. Por exemplo, SAR, linha de equilíbrio de Karmann, etc.
Optimizar o intervalo entre as grades. Tornar os intervalos de flutuação mais uniformes e reduzir a repetição da construção de casas.
Aumentar o mecanismo de suspensão de perdas.
A estratégia utiliza um conjunto de ferramentas técnicas, como o canal da faixa de Brin, indicadores de linha uniforme e formas específicas de linha K. Uma estratégia de rede de linhas de Brin uniforme foi construída para acompanhar a tendência em um grande ciclo. Em comparação com a ruptura da faixa de Brin tradicional, a estratégia inclui o julgamento de características de tendência, o que reduz a construção de posições invertidas desnecessárias, enquanto a forma de posicionamento de rede dispersa o risco de cada unidade de capital, resultando em um retorno estável.
/*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)")