Esta estratégia é uma tendência que segue a estratégia de negociação de média móvel. Ela usa médias móveis de preços mais altos e mais baixos com diferentes configurações de parâmetros para determinar as tendências do mercado e gerar sinais de negociação em pontos de virada.
A estratégia emprega médias móveis simples de preços mais altos e mais baixos com diferentes parâmetros para definir as tendências do mercado.
O sistema h1 e l1 rastreia a tendência de cima. h1 é a média móvel simples dos preços mais altos, atuando como a faixa superior da tendência; l1 é construído por h1 menos o valor ATR, servindo como a faixa inferior. Um sinal longo é gerado quando o preço quebra acima de h1, e um sinal de fechamento é gerado quando o preço cai abaixo de l1.
O sistema h2 e l2 rastreia a tendência da baixa. h2 é a média móvel simples dos preços mais baixos, atuando como a faixa inferior; l2 é construído por h2 mais o valor ATR, servindo como a faixa superior. Um sinal curto é gerado quando o preço quebra abaixo de h2, e um sinal de fechamento é gerado quando o preço sobe acima de l2.
Os sistemas de banda dupla podem identificar com mais precisão os pontos de virada da tendência e filtrar algumas negociações barulhentas.
As principais vantagens desta estratégia incluem:
Há também alguns riscos associados a esta estratégia:
Soluções:
A estratégia pode ser otimizada a partir dos seguintes aspectos:
Em conclusão, esta é uma estratégia de tendência simples e prática. A filosofia central é identificar pontos de virada da tendência e controlar a perda por comércio através de filtragem de banda dupla e paradas ATR dinâmicas.
/*backtest start: 2023-12-05 00:00:00 end: 2024-01-04 00:00:00 period: 1h basePeriod: 15m exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=4 strategy("I Like Winners And Love Loosers!", overlay=true, default_qty_type=strategy.percent_of_equity, default_qty_value=100) highest_length = input(200, type=input.integer, minval=1, title="Highest Length") highest_average = input(10, type=input.integer, minval=1, title="Highest Average Length") lowest_length = input(200, type=input.integer, minval=1, title="Lowest Length") lowest_average = input(10, type=input.integer, minval=1, title="Lowest Average Length") atr_length = input(14, type=input.integer, minval=1, title="ATR Length") atr_multiplier = input(2, type=input.integer, minval=1, title="ATR Multiplier") a = atr(atr_length) * atr_multiplier h1 = sma(highest(high, highest_length), highest_average) l1 = h1 - a h2 = sma(lowest(low, lowest_length), lowest_average) l2 = h2 + a buy1_signal = crossover(close, h1) sell1_signal = crossunder(close, l1) strategy.entry("Buy", strategy.long, when=buy1_signal) strategy.close("Buy", when=sell1_signal) buy2_signal = crossunder(close, h2) sell2_signal = crossover(close, l2) strategy.entry("Sell", strategy.short, when=buy2_signal) strategy.close("Sell", when=sell2_signal) y1 = plot(h1, title="H1", color=color.green, transp=50, linewidth=2) y2 = plot(l1, title="L1", color=color.red, transp=50, linewidth=2) y3 = plot(h2, title="H2", color=color.green, transp=50, linewidth=2) y4 = plot(l2, title="L2", color=color.red, transp=50, linewidth=2) fill(y1,y2,color=color.green) fill(y3,y4,color=color.red)