Esta estratégia usa médias móveis e o indicador de supertendência para determinar tendências de mercado, combinado com um mecanismo de rastreamento de stop loss, para projetar uma estratégia de negociação de stop loss de rastreamento. Quando o indicador de supertendência julga uma tendência de alta, se o preço de fechamento atravessa a média móvel de 14 períodos, vá longo; quando o indicador de supertendência julga uma tendência de queda, se o preço de fechamento atravessa a média móvel de 14 períodos, vá curto.
Esta estratégia utiliza três indicadores técnicos: média móvel, supertrend e stop loss de rastreamento.
Primeiro, calcule as médias móveis exponenciais de 14 períodos e 44 períodos. A média móvel de 14 períodos é usada para determinar tendências de curto prazo, enquanto a média móvel de 44 períodos é usada para determinar tendências de longo prazo.
Em segundo lugar, calcule o indicador de supertendência para julgar a tendência atual do mercado. O indicador de supertendência consiste no indicador positivo DI+ e no indicador negativo DI-. Quando o DI+ é maior que o DI-, é uma tendência de alta; quando o DI- é maior que o DI+, é uma tendência de baixa.
Finalmente, combine o sinal de média móvel e o julgamento da tendência do indicador de supertendência para gerar sinais de negociação. Quando o indicador de supertendência mostrar alta e o preço quebrar a média móvel de 14 períodos, vá longo; quando o indicador de supertendência mostrar baixa e o preço quebrar a média móvel de 14 períodos, vá curto. Depois de entrar no mercado, defina o ponto de stop loss perto da média móvel de 44 períodos para realizar o rastreamento stop loss.
Esta estratégia combina as vantagens de três indicadores técnicos para fazer julgamentos precisos e parar perdas em tempo útil e tem as seguintes vantagens:
Esta estratégia tem também alguns riscos:
As soluções correspondentes são:
Esta estratégia pode também ser otimizada nas seguintes direcções:
Aumentar outros indicadores para filtrar sinais errados e melhorar a taxa de vitória da estratégia.
Otimizar os métodos de rastreamento de stop loss para tornar o stop loss mais inteligente e flexível.
Usar métodos de aprendizado de máquina para encontrar parâmetros mais ideais, por exemplo, algoritmos genéticos, aprendizado profundo e outros métodos para encontrar a combinação ideal de parâmetros.
Execute estratégias em prazos mais longos para evitar interferências de ruído de alta frequência.
Esta estratégia combina médias móveis, indicadores de supertrend e técnicas de rastreamento de stop loss para fazer julgamentos precisos e stop loss oportunos.
/*backtest start: 2024-01-09 00:00:00 end: 2024-01-16 00:00:00 period: 10m basePeriod: 1m exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=5 strategy("Santanu Strategy", overlay=true) atrPeriod = input(3, "ATR Length") factor = input.float(1, "Factor", step = 0.01) [supertrend, direction] = ta.supertrend(factor, atrPeriod) bodyMiddle = plot((open + close) / 2, display=display.none) upTrend = plot(direction < 0 ? supertrend : na, "Up Trend", color = color.green, style=plot.style_linebr) downTrend = plot(direction < 0? na : supertrend, "Down Trend", color = color.red, style=plot.style_linebr) fill(bodyMiddle, upTrend, color.new(color.green, 90), fillgaps=false) fill(bodyMiddle, downTrend, color.new(color.red, 90), fillgaps=false) len = input.int(14, minval=1, title="Length") src = input(close, title="Source") offset = input.int(title="Offset", defval=0, minval=-500, maxval=500) out = ta.ema(src, len) len44 = input.int(44, minval=1, title="Length") out44 = ta.ema(src, len44) isRising = ta.rising(out, 1) isFalling = ta.falling(out, 1) plotColor = color.black if isRising plotColor := color.green else if isFalling plotColor := color.red plot(out, color=plotColor, title="MA", offset=offset) plot(out44, color=color.blue, title="MA", offset=offset) if direction < 0 if close >= out //if low >= out44 if isRising strategy.entry("Buy Now", strategy.long) if direction > 0 if close <= out //if high <= out44 if isFalling strategy.entry("Sell Now", strategy.short) //plot(strategy.equity, title="equity", color=color.red, linewidth=2, style=plot.style_areabr)