
Esta estratégia é uma estratégia de negociação quantitativa que combina o indicador de equilíbrio de primeira vista com o indicador de ondas de linha de Brink. A estratégia utiliza a linha de conversão, a linha de referência e as linhas de pré-ação e pós-ação da tabela de equilíbrio de primeira vista para construir sinais de negociação, ao mesmo tempo em que usa a faixa de ondas de Brink para julgar a volatilidade do mercado e entrar em ação no momento apropriado.
O indicador de equilíbrio de primeira vista é composto por quatro curvas de linha de conversão, linha de referência, linha de pré-acionamento e linha de post-acionamento. A linha de conversão é a média do preço de fechamento para o período mais recente (de 9 dias) e a linha de referência é a média do preço de fechamento para o período mais longo (de 26 dias). A linha de pre-acionamento é a média da linha de conversão e da linha de referência, com liderança.
A faixa de ondas de Binance é composta por três linhas: a média, a faixa superior e a faixa inferior. A faixa central é a média móvel simples do preço de encerramento em n dias (estabelecido aqui como 20 dias). A faixa superior é o diferencial padrão da linha média mais k vezes (estabelecido aqui como 2 vezes). A faixa inferior é a faixa média menos k vezes o diferencial padrão.
Esta estratégia usa o forquilho de ouro e o forquilho de morte do fio de injeção para formar sinais de compra e venda. Ao mesmo tempo, em combinação com a faixa de ondas do fio de Brin para julgar a volatilidade do preço, para determinar o sinal de entrada quando a flutuação não é grande.
Esta estratégia combina o indicador de equilíbrio de primeira mão e o indicador de faixa de Brin para compreender a tendência e a volatilidade do mercado, o que permite extrair informações sobre as mudanças no mercado e determinar os pontos de compra e venda. O indicador de equilíbrio de primeira mão pode determinar a direção das principais tendências do mercado e a faixa de Brin pode determinar o momento específico de entrada.
Os parâmetros da estratégia são ajustáveis e podem ser otimizados para diferentes variedades e condições de mercado. A tabela de equilíbrio de primeira vista usa combinações de parâmetros diferentes para identificar oportunidades de negociação em diferentes períodos.
Esta estratégia baseia-se principalmente na faixa de linhas de Brin para determinar a volatilidade do mercado. A faixa de Brin será invalidada quando um evento repentino causar uma grande flutuação. Nesse caso, os sinais de negociação construídos com base na tabela de equilíbrio de primeira vista podem produzir sinais errados.
Além disso, a linha de equilíbrio de primeira vista também é sensível a eventos inesperados, e a linha de conversão e a linha de referência também podem gerar sinais errados quando os preços flutuam drasticamente. Portanto, sair ou suspender a negociação pode ser a melhor opção nessas situações.
Pode-se considerar o tempo de entrada em combinação com outros indicadores. Por exemplo, o indicador KDJ determina se está em uma área de sobrecompra ou sobrevenda, o MACD determina a relação de média curta e curta, etc. Isso pode evitar que o mercado permaneça no mercado quando houver forte flutuação.
Além disso, os parâmetros da tabela de equilíbrio de primeira vista podem ser otimizados por métodos como o aprendizado de máquina. Diferentes parâmetros têm um grande impacto em diferentes períodos e diferentes variedades. Encontrar a melhor combinação de parâmetros pode aumentar significativamente o nível de lucro da estratégia.
Esta estratégia, combinada com o indicador de equilíbrio de primeira vista e o indicador de bandas de Bryn, é uma estratégia de negociação quantitativa de alta adaptabilidade, que leva em conta a volatilidade ao julgar as tendências do mercado. A estratégia pode ser melhorada ajustando os parâmetros e otimizando as regras de entrada.
/*backtest
start: 2023-02-13 00:00:00
end: 2024-02-19 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=5
strategy("一目均衡表シグナル + ボリンジャーバンド", overlay=true)
conversionPeriods = input.int(9, minval=1, title="Conversion Line Length")
basePeriods = input.int(26, minval=1, title="Base Line Length")
laggingSpan2Periods = input.int(52, minval=1, title="Leading Span B Length")
displacement = input.int(26, minval=1, title="Lagging Span")
bbLength = input(20, title="Bollinger Bands Length")
bbMultiplier = input(2.0, title="Bollinger Bands Multiplier")
donchian(len) => math.avg(ta.lowest(len), ta.highest(len))
conversionLine = donchian(conversionPeriods)
baseLine = donchian(basePeriods)
leadLine1 = math.avg(conversionLine, baseLine)
leadLine2 = donchian(laggingSpan2Periods)
// ボリンジャーバンドの計算
basis = ta.sma(close, bbLength)
bbUpper = basis + bbMultiplier * ta.stdev(close, bbLength)
bbLower = basis - bbMultiplier * ta.stdev(close, bbLength)
// 1σ、2σ、3σのライン
bbUpper1 = basis + ta.stdev(close, bbLength)
bbLower1 = basis - ta.stdev(close, bbLength)
bbUpper2 = basis + 2 * ta.stdev(close, bbLength)
bbLower2 = basis - 2 * ta.stdev(close, bbLength)
bbUpper3 = basis + 3 * ta.stdev(close, bbLength)
bbLower3 = basis - 3 * ta.stdev(close, bbLength)
// 遅行スパンがローソクに交差した際のBuyとSellシグナル
buySignalLeadLine = ta.crossover(close, leadLine2)
sellSignalLeadLine = ta.crossunder(close, leadLine2)
// Strategy Entry and Exit Conditions for Lead Line
strategy.entry("BuyLeadLine", strategy.long, when = buySignalLeadLine)
strategy.close("BuyLeadLine", when = sellSignalLeadLine)
strategy.entry("SellLeadLine", strategy.short, when = sellSignalLeadLine)
strategy.close("SellLeadLine", when = buySignalLeadLine)
// Plotting Ichimoku Cloud
plot(conversionLine, color=color.new(color.blue, 0), title="Conversion Line")
plot(baseLine, color=color.new(color.red, 0), title="Base Line")
plot(close, offset = -displacement + 1, color=color.new(color.green, 0), title="Lagging Span")
p1 = plot(leadLine1, offset = displacement - 1, color=color.new(color.green, 0),
title="Leading Span A")
p2 = plot(leadLine2, offset = displacement - 1, color=color.new(#cdf80d, 0),
title="Leading Span B")
fill(p1, p2, color = leadLine1 > leadLine2 ? color.rgb(67, 160, 71, 90) : color.rgb(244, 67, 54, 90))
// 2σ、3σのラインをプロット
plot(bbUpper2, color=color.rgb(100, 96, 100), title="BB Upper 2σ")
plot(bbLower2, color=color.rgb(100, 96, 100), title="BB Lower 2σ")
plot(bbUpper3, color=color.rgb(67, 61, 68), title="BB Upper 3σ")
plot(bbLower3, color=color.rgb(67, 61, 68), title="BB Lower 3σ")
// Plotting Entry and Exit Signals
plotshape(series=buySignalLeadLine, title="Buy Signal (Lead Line)", color=color.green, style=shape.triangleup, location=location.belowbar, size=size.small)
plotshape(series=sellSignalLeadLine, title="Sell Signal (Lead Line)", color=color.rgb(255, 115, 0), style=shape.triangledown, location=location.abovebar, size=size.small)