Estratégia de negociação de inclinação e tendência cruzada da EMA

Autora:ChaoZhang, Data: 2023-09-20 14:32:22
Tags:

Resumo

Esta estratégia usa a direção da inclinação e as relações cruzadas entre várias EMAs para determinar a direção da tendência, para negociação de tendência sem parar.

Estratégia lógica

  1. Calcular 3 grupos de EMAs - EMAs rápidas, médias e lentas.

  2. Quando a EMA rápida cruza acima da EMA média e a inclinação da EMA média se torna positiva, é gerado um sinal longo.

  3. Quando a EMA rápida cruza abaixo da EMA média e a inclinação da EMA média se torna negativa, é gerado um sinal curto.

  4. Vá longo quando o preço cruza acima da EMA lenta, e curto quando o preço cruza abaixo da EMA lenta.

  5. Relações de inclinação da EMA refletem mudanças de tendência.

Análise das vantagens

  1. Múltiplas EMAs melhoram a precisão no julgamento da tendência.

  2. As EMA rápidas, médias e lentas distinguem razoavelmente tendência e consolidação.

  3. As variações da inclinação da EMA dão indícios preliminares de mudanças de tendência.

  4. Os crossovers de preços confirmam ainda mais para evitar falsas rupturas.

  5. Manter sempre uma posição capta plenamente as oportunidades de tendência.

Análise de riscos

  1. A dependência exclusiva das EMA implica riscos de posição elevados durante os períodos de variação.

  2. Os parâmetros EMA incorretos podem perder pontos de virada.

  3. A impossibilidade de determinar a força da tendência, corre o risco de entradas reversíveis prematuras.

  4. Não existe um controlo eficaz das perdas de transacções.

Orientações para melhorias

  1. Teste diferentes combinações de EMA para encontrar parâmetros ideais.

  2. Adicione outros indicadores como o MACD para determinar a força.

  3. Adicionar mecanismos de stop loss para controlo de riscos.

  4. Avalie a força da tendência para evitar entradas reversíveis prematuras.

  5. Otimizar o dimensionamento das posições para a gestão de capital.

  6. Parem temporariamente de negociar quando a tendência se torna instável.

Resumo

A estratégia usa combos de EMA para determinar a tendência. Mas a dependência exclusiva da EMA tem limitações, deixando um grande espaço de otimização para incorporar mais indicadores. Mecanismos de controle de risco também são necessários para melhorar a estabilidade.


/*backtest
start: 2023-08-20 00:00:00
end: 2023-09-19 00:00:00
period: 6h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=3
strategy("EMA Slope + EMA Cross Strategy (by ChartArt)", shorttitle="CA_-_EMA_slope_cross", overlay=true)

// ChartArt's EMA Slope + EMA Cross Strategy
//
// Version 1.0
// Idea by ChartArt on March 10, 2018.
//
// This strategy uses divergences between
// three moving averages and their slope
// directions as well as crosses between
// the price and the moving averages
// to switch between long/short positions.
//
// The strategy is non-stop in the market
// and always either long or short.
// 
// In addition the moving averages are colored
// depending if they are trending up or down.
//
// List of my work: 
// https://www.tradingview.com/u/ChartArt/

// Input
price = input(close)
MA1_Length = input(2,step=1, title="EMA 1 Length")
MA2_Length = input(4,step=1, title="EMA 2 Length")
MA3_Length = input(20,step=1, title="EMA 3 Length")

switch1=input(true, title="Show Bar Color?")
switch2=input(true, title="Show Moving Averages?")

// Calculation
MA1 = ema(price, MA1_Length)
MA2 = ema(price, MA2_Length)
MA3 = ema(price, MA3_Length)

// Strategy
long = crossunder(price, MA3) or ( change(price)<0 and change(MA1)<0 and crossunder(price,MA1) and change(MA2)>0 )
short = crossover(price, MA3) or ( change(price)>0 and change(MA1)>0 and crossover(price,MA1)  and change(MA2)<0 ) 

if long
    strategy.entry("Long", strategy.long, comment="Long")

if short
    strategy.entry("Short", strategy.short, comment="Short")

// Strategy Alert
alertcondition(long, title='EMA Slope + EMA Cross Strategy, Long Alert', message='Go Long!')
alertcondition(short, title='EMA Slope + EMA Cross Strategy, Short Alert', message='Go Short!')

// MA trend bar color
up =  change(MA2)>0 and change(MA3)>0
dn =  change(MA2)<0 and change(MA3)<0
bar_color = up?green:dn?red:blue
barcolor(switch1?bar_color:na)

// MA trend output color
MA2_color = change(MA2)>0?lime:change(MA2)<0?red:blue
MA3_color = change(MA3)>0?lime:change(MA3)<0?red:blue

// MA output
EMA2 = plot(switch2?MA2:na, title="EMA 2", style=linebr, linewidth=2, color=MA2_color)
EMA3 = plot(switch2?MA3:na, title="EMA 3", style=linebr, linewidth=4, color=MA3_color)
fill(EMA2, EMA3, color=silver, transp=50)

//plot(strategy.equity, title="equity", color=red, linewidth=2, style=areabr)

Mais.