Estratégia de negociação de breakout quando a média móvel de curto prazo cruza a média móvel de médio e longo prazo


Data de criação: 2023-11-24 13:33:21 última modificação: 2023-11-24 13:33:21
cópia: 0 Cliques: 853
1
focar em
1617
Seguidores

Estratégia de negociação de breakout quando a média móvel de curto prazo cruza a média móvel de médio e longo prazo

Esta estratégia gera sinais de negociação com base na média móvel do índice (EMA) de três períodos diferentes: curto, médio e longo. Dentre eles, o período de EMA de curto prazo é de 5 dias, o período de EMA de médio prazo é de 8 dias e o período de EMA de longo prazo é de 13 dias. Quando o EMA de curto prazo cruza o EMA de médio prazo e longo prazo, faça mais; quando o EMA de curto prazo cruza o EMA de médio prazo e longo prazo, faça zero.

Princípio da estratégia

A estratégia julga a tendência do mercado calculando EMAs de diferentes períodos. O EMA de curto prazo reflete os preços médios dos últimos dias e o EMA de médio prazo reflete os preços médios de períodos mais longos. O EMA de curto prazo representa que o preço começa a se romper para cima e, portanto, faz mais; O EMA de curto prazo representa que o preço começa a se romper para baixo e, portanto, faz menos.

Especificamente, a estratégia calcula simultaneamente três EMAs de 5 dias, 8 dias e 13 dias. Quando 5 dias acima do EMA são usados para 8 dias e 13 dias EMA, um sinal de tomada de posição é gerado. Quando 5 dias abaixo do EMA são usados para 8 dias e 13 dias EMA, um sinal de tomada de posição é gerado.

Vantagens estratégicas

  1. Usar EMAs de múltiplos períodos para avaliar tendências, evitando perder pontos críticos de mudança de tendência por um único ciclo EMA ser muito curto ou longo
  2. Combinação de três EMAs de curto e médio prazo para sinais de negociação mais confiáveis e precisos
  3. A EMA pode filtrar parte do ruído do mercado e evitar a abertura desnecessária de posições

Risco estratégico

  1. Os três EMAs são indicadores de tendência atrasados, e há uma diferença de tempo necessária antes da ruptura do preço real, o que pode levar ao atraso do sinal de negociação.
  2. A EMA não consegue distinguir entre tendências reais e correções de curto prazo, podendo produzir sinais errados
  3. O ciclo de EMA fixo não pode se adaptar às características de mudança do mercado em diferentes ciclos

Otimizar o seu conteúdo pode ser feito por meio de:

  1. Combinação com outros indicadores, como o MACD, para avaliar tendências reais e evitar sinais falsos
  2. Parâmetros de ciclo EMA ajustados de forma flexível de acordo com diferentes variedades e condições de mercado
  3. Adição de stop loss móvel para bloquear lucros e controlar riscos

Resumir

Esta estratégia de julgar a reversão da tendência do mercado através da computação de curto e médio três períodos de EMA e comparar as suas situações de cruzamento, pertence a um sistema típico de ruptura. Sua vantagem é que o sinal de negociação é simples, claro e fácil de operar; a desvantagem é que o indicador EMA em si está atrasado, não é possível distinguir a verdadeira tendência e o ajuste de curto prazo.

Código-fonte da estratégia
/*backtest
start: 2023-11-16 00:00:00
end: 2023-11-23 00:00:00
period: 30m
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=4
// 
// This source code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/
// © gregoirejohnb
// @It is modified by ttsaadet.
// Moving average crossover systems measure drift in the market. They are great strategies for time-limited people.
// So, why don't more people use them?
// 

//
strategy(title="EMA Crossover Strategy", shorttitle="EMA-5-8-13 COS by TTS", overlay=true, pyramiding=0, default_qty_type=strategy.percent_of_equity, default_qty_value=100, currency=currency.TRY,commission_type=strategy.commission.percent,commission_value=0.04, process_orders_on_close = true, initial_capital = 100000)

// === GENERAL INPUTS ===
//strategy start date
start_year = input(defval=2020, title="Backtest Start Year")

// === LOGIC ===
short_period = input(type=input.integer,defval=5,minval=1,title="Length")
mid_period = input(type=input.integer,defval=8,minval=1,title="Length")
long_period = input(type=input.integer,defval=13,minval=1,title="Length")

longOnly = input(type=input.bool,defval=false,title="Long Only")
shortEma = ema(hl2,short_period)
midEma = ema(hl2,mid_period)
longEma = ema(hl2,long_period)

plot(shortEma,linewidth=2,color=color.red,title="Fast")
plot(midEma,linewidth=2,color=color.orange,title="Fast")
plot(longEma,linewidth=2,color=color.blue,title="Slow")

longEntry = ((shortEma > midEma) and crossover(shortEma,longEma)) or ((shortEma > longEma) and crossover(shortEma,midEma))
shortEntry =((shortEma < midEma) and crossunder(shortEma,longEma)) or ((shortEma < longEma) and crossunder(shortEma,midEma))

plotshape(longEntry ? close : na,style=shape.triangleup,color=color.green,location=location.belowbar,size=size.small,title="Long Triangle")
plotshape(shortEntry and not longOnly ? close : na,style=shape.triangledown,color=color.red,location=location.abovebar,size=size.small,title="Short Triangle")
plotshape(shortEntry and longOnly ? close : na,style=shape.xcross,color=color.black,location=location.abovebar,size=size.small,title="Exit Sign")

// === STRATEGY - LONG POSITION EXECUTION ===
enterLong() =>
    longEntry 
exitLong() =>
    crossunder(shortEma,longEma)

strategy.entry(id="Long", long=strategy.long, when=enterLong())
strategy.close(id="Long", when=exitLong())


// === STRATEGY - SHORT POSITION EXECUTION ===

enterShort() =>
    not longOnly and shortEntry  
exitShort() =>
    crossover(shortEma,longEma)

strategy.entry(id="Short", long=strategy.short, when=enterShort())
strategy.close(id="Short", when=exitShort())