A estratégia combina três indicadores, a faixa de Brin, a média móvel e o MACD, formando um sistema de negociação mais completo. Ao mesmo tempo em que julga a tendência do mercado, também pode aproveitar algumas oportunidades de reversão.
O nome desta estratégia é o de “Triângulo de Anéis de Anéis”, que destaca a utilização de três indicadores técnicos ao mesmo tempo para determinar a direção da tendência e o ponto de entrada de Anéis de Anéis.
A lógica básica da transação é:
Para determinar a direção da tendência, use o eixo zero da correlação entre o eixo central da faixa de Bryn, a média móvel EMA e o MACD para determinar se o mercado está em uma fase de alta ou baixa.
Buscar um momento para entrar no mercado. Depois de determinar a tendência de alta ou baixa, a estratégia julga a entrada no mercado com base em se a média móvel da EMA quebra a trajetória do meio de Brin e se a linha do MACD é positiva ou negativa para a linha de sinal de ruptura.
Configuração de Stop Stop Loss. Quando você entra no campo, você pode definir o ponto de parada e o ponto de parada.
A maior vantagem da estratégia é que ela usa três tipos diferentes de indicadores técnicos para orientar a decisão: tendência, linha média e MACD. Isso permite que ela seja mais precisa na determinação do movimento do mercado e também é mais propício para aproveitar algumas oportunidades de reversão.
Em primeiro lugar, as linhas de órbita da faixa de Bryn refletem claramente a direção das principais tendências da fase atual. A função da linha de equilíbrio do EMA é acompanhar a operação da tendência. A comparação e a combinação delas permitem um julgamento mais preciso da situação atual de múltiplos e vazios.
Em segundo lugar, a faixa de Brin em si tem uma inclinação relativamente forte. Também reflete um certo ponto de pressão de suporte perto da linha de órbita central, portanto, a ruptura da linha EMA tem um certo valor de sinal.
Além disso, a inclusão do MACD também pode ser vista como uma diminuição da energia do ar. O tamanho de seus valores absolutos representa o estado de ânimo das massas, que pode ser alto ou frio, e pode indicar a possibilidade de uma reversão.
Por fim, a estratégia prevê condições de stop-loss que controlam o risco-benefício de uma única transação, garantindo a estabilidade geral.
Embora a estratégia tenha incorporado várias ferramentas de análise, os principais riscos são os seguintes:
Os parâmetros da faixa de Bryn são mal definidos, e a trajectória central não reflete claramente a tendência principal.
O sistema linear emite um sinal de múltiplas cabeças, mas o MACD não foi explicitamente corrigido, e a força de cabeçalho pode ser ampliada.
A escala de stop-loss é muito grande, e uma única perda pode aumentar.
Os principais soluções são:
Ajustar os parâmetros da faixa de Bryn para garantir que a trajetória central reflita efetivamente a tendência principal.
A introdução de mais indicadores técnicos para a determinação da energia do espaço.
Avaliação do histórico de transações e otimização dos parâmetros de stop-loss.
A estratégia pode ser melhorada em vários aspectos:
Introdução de mais indicadores para o julgamento de tendências. Julgamentos auxiliares como KDJ, ATR e outros, aumentam a precisão do julgamento.
No nível operacional, configure uma forma mais detalhada de parar o prejuízo, como parar o movimento, aumentar a proporção de perda após a ruptura de uma nova alta (<<) e assim por diante.
Avaliar o desempenho de diferentes variedades. Ajustar os parâmetros para mais características do mercado.
Os resultados dos testes foram avaliados em diferentes prazos e mercados. Os parâmetros foram ajustados de acordo.
Adição de algoritmos de aprendizado de máquina, otimização automática de parâmetros e atualização dinâmica de regras de estratégia.
Esta estratégia utiliza simultaneamente os três principais indicadores técnicos, a faixa de Brin, a média móvel e a MACD. Ela julga a tendência com clareza, tem uma certa inclusão e também pode aproveitar algumas oportunidades de reversão. Com a introdução de mais ferramentas auxiliares para julgar e otimizar a estratégia de stop loss, espera-se obter um desempenho comercial mais estável.
/*backtest
start: 2024-01-04 00:00:00
end: 2024-02-03 00:00:00
period: 2h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=5
strategy("Combined Strategy", overlay=true, shorttitle="Comb Strat", default_qty_type=strategy.percent_of_equity, default_qty_value=10)
// Precio de beneficio y Stop Loss
takeProfitTicks = 87636
stopLossTicks = 53350
// Bollinger Bands + EMA
length_bb = input(150, title="BB Length")
src_bb = input(close, title="BB Source")
mult = input(2.0, title="BB StdDev")
basis = ta.sma(src_bb, length_bb)
dev = mult * ta.stdev(src_bb, length_bb)
upper = basis + dev
lower = basis - dev
len_ema = input(34, title="EMA Length")
src_ema = input(close, title="EMA Source")
out_ema = ta.ema(src_ema, len_ema)
typeMA = input("SMA", title="Method")
smoothingLength = input(5, title="Length")
var float smoothingLine = na
if (typeMA == "SMA")
smoothingLine := ta.sma(out_ema, smoothingLength)
else if (typeMA == "EMA")
smoothingLine := ta.ema(out_ema, smoothingLength)
// MACD
fast_length = input(title="Fast Length", defval=9)
slow_length = input(title="Slow Length", defval=17)
src_macd = input(title="Source", defval=close)
signal_length = input.int(title="Signal Smoothing", minval=1, maxval=50, defval=9)
sma_source = input.string(title="Oscillator MA Type", defval="EMA", options=["SMA", "EMA"])
sma_signal = input.string(title="Signal Line MA Type", defval="EMA", options=["SMA", "EMA"])
fast_ma = sma_source == "SMA" ? ta.sma(src_macd, fast_length) : ta.ema(src_macd, fast_length)
slow_ma = sma_source == "SMA" ? ta.sma(src_macd, slow_length) : ta.ema(src_macd, slow_length)
macd = fast_ma - slow_ma
signal = sma_signal == "SMA" ? ta.sma(macd, signal_length) : ta.ema(macd, signal_length)
hist = macd - signal
// Condiciones de compra y venta
longCondition = (out_ema > basis) and (macd > signal) and (signal > 0)
shortCondition = (out_ema < basis) and (macd < signal) and (signal < 0)
// Variables de estado
var bool longExecuted = na
var bool shortExecuted = na
// Estrategia
if (longCondition and not longExecuted)
strategy.entry("Long", strategy.long)
longExecuted := true
shortExecuted := na
if (shortCondition and not shortExecuted)
strategy.entry("Short", strategy.short)
shortExecuted := true
longExecuted := na
// Take Profit y Stop Loss para Compras y Ventas Cortas
strategy.exit("Take Profit/Close Long", from_entry="Long", profit=takeProfitTicks, loss=stopLossTicks)
strategy.exit("Take Profit/Close Short", from_entry="Short", profit=takeProfitTicks, loss=stopLossTicks)
// Cierre de posiciones cuando la dirección cambia
if ((out_ema < basis) and (macd < signal))
strategy.close("Long")
longExecuted := na
if ((out_ema > basis) and (macd > signal))
strategy.close("Short")
shortExecuted := na
// Plots
plot(basis, "BB Basis", color=#FF6D00)
plot(upper, "BB Upper", color=color.new(#2962FF, 0.5))
plot(lower, "BB Lower", color=color.new(#2962FF, 0.5))
plot(smoothingLine, title="Smoothing Line", color=#f37f20, linewidth=2)
hline(0, "Zero Line", color=color.new(#787B86, 50))
plot(hist, title="Histogram", style=plot.style_columns, color=(hist >= 0 ? (hist[1] < hist ? color.green : color.red) : (hist[1] < hist ? color.red : color.green)))
plot(macd, title="MACD", color=color.blue)
plot(signal, title="Signal", color=color.orange)