Estratégia de negociação inteligente G Trend EMA ATR

EMA ATR
Data de criação: 2024-06-14 15:35:15 última modificação: 2024-06-14 15:35:15
cópia: 8 Cliques: 713
1
focar em
1617
Seguidores

Estratégia de negociação inteligente G Trend EMA ATR

Visão geral

Esta estratégia usa o indicador de canal G para identificar a direção da tendência do mercado, combinando os indicadores de EMA e ATR para otimizar os pontos de entrada e saída. A principal idéia da estratégia é: quando o preço quebra o canal G e faz mais na parte inferior do EMA, quebra o canal G e faz mais no topo do EMA.

Princípio da estratégia

  1. Calcule o trajeto ascendente e descendente do canal G: Calcule o trajeto ascendente e descendente do canal G usando o preço de fechamento atual e o preço mais baixo do preço mais alto anterior.
  2. Determinar a direção da tendência: Determine a tendência do espaço-tempo observando a relação entre o preço e a ascensão e descensão do canal G.
  3. Calcular o EMA: calcular o valor do EMA para o período especificado.
  4. Calcular o ATR: calcular o valor do ATR para o período especificado.
  5. Para julgar as condições de compra e venda: quando o preço quebra o canal G para cima e está abaixo da EMA, a ação é mais, quando o preço quebra o canal G para baixo e está acima da EMA, a ação é baixa.
  6. Configuração de stop loss: stop loss é o preço de abertura de posição - 2 vezes o ATR, stop loss é o preço de abertura de posição + 4 vezes o ATR ((multi-cabeça); stop loss é o preço de abertura de posição + 2 vezes o ATR, stop loss é o preço de abertura de posição - 4 vezes o ATR ((cabeça vazia)
  7. A estratégia é acionada quando as condições de compra e venda são satisfeitas e a correspondente parada de perda é estabelecida.

Vantagens estratégicas

  1. Seguimento de tendências: estratégias que utilizam o canal G para capturar as tendências do mercado de forma eficaz e adequada a situações de tendências.
  2. Stop loss dinâmico: utiliza o ATR dinâmico para ajustar o stop loss, para melhor se adaptar à oscilação do mercado.
  3. Controle de Risco: O Stop Loss é definido como 2x o ATR e o risco de cada transação é controlado rigorosamente.
  4. Simples e fácil de usar: a lógica da estratégia é clara e adequada para a maioria dos investidores.

Risco estratégico

  1. Os sinais de negociação freqüentes podem aumentar os prejuízos em mercados em crise.
  2. Optimização de parâmetros: diferentes variedades e ciclos podem exigir parâmetros diferentes, e o uso cego pode trazer riscos.
  3. O evento Black Swan: em casos extremos, a volatilidade dos preços pode ser tão forte que o stop loss pode não ser efetivamente executado.

Direção de otimização da estratégia

  1. Filtragem de tendências: Aumente as condições de filtragem de tendências, como MA cruzado, DMI, etc., reduzindo a negociação em situações de turbulência.
  2. Optimização de parâmetros: Optimização de parâmetros para diferentes variedades e ciclos, para encontrar a melhor combinação de parâmetros.
  3. Gerenciamento de posições: ajustar posições de acordo com a dinâmica de volatilidade do mercado, aumentar a taxa de utilização de fundos.
  4. Combinação de estratégias: Combinação de estratégias com outras estratégias eficazes para aumentar a estabilidade.

Resumir

A estratégia de construção de um sistema de negociação de tendência de seguimento simples e eficaz através de indicadores como o canal G, EMA, ATR. Pode obter bons resultados em situações de tendência, mas em geral, em situações de turbulência. Posteriormente, a estratégia pode ser otimizada em termos de filtragem de tendência, otimização de parâmetros, gerenciamento de posições e estratégias de combinação para melhorar ainda mais a solidez e a lucratividade da estratégia.

Código-fonte da estratégia
/*backtest
start: 2024-05-01 00:00:00
end: 2024-05-31 23:59:59
period: 2h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=4
// Full credit to AlexGrover: https://www.tradingview.com/script/fIvlS64B-G-Channels-Efficient-Calculation-Of-Upper-Lower-Extremities/
strategy ("G-Channel Trend Detection with EMA Strategy and ATR", shorttitle="G-Trend EMA ATR Strategy", overlay=true)

// Inputs for G-Channel
length = input(100, title="G-Channel Length")
src = input(close, title="Source")

// G-Channel Calculation
var float a = na
var float b = na
a := max(src, nz(a[1])) - (nz(a[1] - b[1]) / length)
b := min(src, nz(b[1])) + (nz(a[1] - b[1]) / length)
avg = (a + b) / 2

// G-Channel Signals
crossup = b[1] < close[1] and b > close
crossdn = a[1] < close[1] and a > close
bullish = barssince(crossdn) <= barssince(crossup)
c = bullish ? color.lime : color.red

// Plot G-Channel Average
p1 = plot(avg, "Average", color=c, linewidth=1, transp=90)
p2 = plot(close, "Close price", color=c, linewidth=1, transp=100)
fill(p1, p2, color=c, transp=90)

// Show Buy/Sell Labels
showcross = input(true, title="Show Buy/Sell Labels")
plotshape(showcross and not bullish and bullish[1] ? avg : na, location=location.absolute, style=shape.labeldown, color=color.red, size=size.tiny, text="Sell", textcolor=color.white, transp=0, offset=-1)
plotshape(showcross and bullish and not bullish[1] ? avg : na, location=location.absolute, style=shape.labelup, color=color.lime, size=size.tiny, text="Buy", textcolor=color.white, transp=0, offset=-1)

// Inputs for EMA
emaLength = input(50, title="EMA Length")
emaValue = ema(close, emaLength)

// Plot EMA
plot(emaValue, title="EMA", color=color.blue, linewidth=1)

// ATR Calculation
atrLength = input(14, title="ATR Length")
atrValue = atr(atrLength)

// Strategy Conditions
buyCondition = bullish and close < emaValue
sellCondition = not bullish and close > emaValue

// Stop Loss and Take Profit Levels
longStopLoss = close - 2 * atrValue
longTakeProfit = close + 4 * atrValue
shortStopLoss = close + 2 * atrValue
shortTakeProfit = close - 4 * atrValue

// Execute Strategy with ATR-based stop loss and take profit
if (buyCondition)
    strategy.entry("Buy", strategy.long)
    strategy.exit("Sell", "Buy", stop=longStopLoss, limit=longTakeProfit)

if (sellCondition)
    strategy.entry("Sell", strategy.short)
    strategy.exit("Cover", "Sell", stop=shortStopLoss, limit=shortTakeProfit)

// Plot Buy/Sell Signals on the chart
plotshape(series=buyCondition, location=location.belowbar, color=color.green, style=shape.labelup, text="BUY", offset=-1)
plotshape(series=sellCondition, location=location.abovebar, color=color.red, style=shape.labeldown, text="SELL", offset=-1)