Estratégia de negociação Double EMA Golden Cross e Death Cross


Data de criação: 2023-10-17 13:56:54 última modificação: 2023-10-17 13:56:54
cópia: 0 Cliques: 709
1
focar em
1617
Seguidores

Estratégia de negociação Double EMA Golden Cross e Death Cross

Visão geral

Esta estratégia usa um diafragma de dois EMAs para determinar o tempo de entrada e saída. Concretamente, quando a linha EMA rápida da direção inferior quebra a linha EMA lenta, produz um sinal de diafragma de ouro, fazendo mais; quando a linha EMA rápida da direção superior quebra a linha EMA lenta, produz um sinal de diafragma de ouro, fazendo vazio.

Princípio da estratégia

O código central da estratégia é o seguinte:

fast = input(25, title="Fast") 
slow = input(75, title="Slow")

matype1=ema(source, fast)
matype2=ema(source, slow)

longCondition = crossover(matype1, matype2) 
shortCondition = crossunder(matype1, matype2)

if (longCondition)
    strategy.entry("Long", strategy.long)

if (shortCondition)  
    strategy.entry("Short", strategy.short)

A estratégia começa com a configuração rápida e lenta de duas linhas médias de EMA, em que a linha rápida de EMA tem um período de 25 e a linha lenta de EMA tem um período de 75 anos. Em seguida, o valor das duas linhas de EMA é calculado. Quando a linha rápida de EMA quebra a linha lenta de EMA do lado de baixo, a condição de longCondition é verdadeira; quando a EMA rápida cai do lado de cima para baixo e quebra a EMA lenta, a condição de shortCondition é verdadeira.

A estratégia utiliza a característica de suavização da linha média EMA para filtrar o ruído do mercado e, ao mesmo tempo, capturar rapidamente as mudanças de tendência. O cruzamento entre duas linhas médias EMA é um sinal de negociação mais forte e pode controlar o risco de negociação.

Análise de vantagens

A estratégia tem as seguintes vantagens:

  1. O conceito de operação é simples, intuitivo e fácil de entender.

  2. A EMA usa os movimentos de mercado para filtrar False Signal.

  3. O Forex é um sinal de negociação mais forte, que permite controlar o risco de forma eficaz.

  4. Adaptação flexível do ciclo EMA para diferentes cenários de mercado.

  5. Fácil de usar em combinação com outros indicadores técnicos.

  6. Otimizando os parâmetros do EMA, pode-se obter melhores efeitos estratégicos.

Análise de Riscos

A estratégia também apresenta alguns riscos:

  1. Em situações de turbulência, os EMAs se cruzam frequentemente, gerando uma grande quantidade de sinais de negociação inválidos.

  2. A EMA está atrasada e pode ter perdido a oportunidade de uma linha curta.

  3. O cruzamento da EMA por si só não pode determinar o ponto de viragem da tendência, existindo um certo limite de lucro.

  4. O ciclo de EMA fixo não se adapta às mudanças do mercado.

  5. O apoio financeiro deve ser forte, caso contrário, o risco de derivação é grande.

  6. Se não houver restrições rigorosas, a perda individual pode ser muito grande.

Direção de otimização

A estratégia pode ser melhorada em vários aspectos:

  1. Optimizar os parâmetros do ciclo EMA para adaptá-los a diferentes situações de mercado.

  2. Adicionar filtros de outros indicadores, como MACD, faixa de Brin, etc., para melhorar a qualidade do sinal.

  3. Aumentar os indicadores de determinação de tendências, como ATR Stop, ADX, etc., reduzindo as transações inválidas.

  4. A análise de tendências, combinada com uma análise de períodos de tempo mais detalhados, pode ajudar a determinar a direção das tendências.

  5. Otimizar o ciclo EMA de forma dinâmica usando métodos de aprendizagem de máquina.

  6. Optimizar a gestão de posições para controlar o risco.

  7. Optimizar a estratégia de stop loss para reduzir as perdas individuais.

Resumir

Esta estratégia usa o cruzamento de um cruzamento de duas EMAs como sinal de negociação, formando uma estratégia de seguimento de tendência mais clássica. A estratégia é simples e fácil de usar, fácil de combinar com outros indicadores técnicos, e é adequada para investidores com baixas exigências de julgamento de tendências.

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

// This source code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/
// Double EMA CROSS By © EmreE (Emre Ertürk) Also thx for KivancOzbilgic color based bars

//@version=4
strategy(title="Double EMA CROSS", shorttitle="DEC", overlay=true)

matype = input("ema")
hidema = input(false)
sourcetype = input(close, title="Source Type")
source=close
 
// STEP 1:
// Configure backtest start date with inputs
startDate = input(title="Start Date", type=input.integer,
     defval=1, minval=1, maxval=231)
startMonth = input(title="Start Month", type=input.integer,
     defval=1, minval=1, maxval=12) 
startYear = input(title="Start Year", type=input.integer,
     defval=2020, minval=1800, maxval=2100)

// STEP 2:
// See if this bar's time happened on/after start date
afterStartDate = (time >= timestamp(syminfo.timezone,
     startYear, startMonth, startDate, 0, 0))

fast = input(25, title="Fast")
slow = input(75, title="Slow")

matype1=ema(source, fast)
matype2=ema(source, slow)


signalcolor = source > matype2 ? color.blue : color.red
signal = cross(fast, slow) 



hizliema=plot(hidema ? na : matype1, color=color.green, linewidth=2,transp=0, title="Fast EMA")
yavasema=plot(hidema ? na : matype2, color=color.red, linewidth=2,transp=0, title="Slow EMA")
//kesisme=plot(signal, style=cross, color=signalcolor, linewidth=5, title="Kesişme")
 

longCondition = crossover(matype1, matype2)
if (afterStartDate and longCondition)
    strategy.entry("Long", strategy.long)

shortCondition = crossunder(matype1, matype2)
if (afterStartDate and shortCondition)
    strategy.entry("Short", strategy.short)
    

//--------------------------------------------------------

//volume based color bars
length=input(21, "length", minval=1)
avrg=sma(volume,length)

vold1 = volume > avrg*1.5 and close<open
vold2 = volume >= avrg*0.5 and volume<=avrg*1.5 and close<open
vold3 = volume < avrg *0.5 and close<open

volu1 = volume > avrg*1.5 and close>open
volu2 = volume >= avrg*0.5 and volume<=avrg*1.5 and close>open
volu3 = volume< avrg*0.5 and close>open

cold1=#800000
cold2=#FF0000
cold3=color.orange

colu1=#006400
colu2=color.lime
colu3=#7FFFD4

ac = vold1 ? cold1 : vold2 ? cold2 : vold3 ? cold3 : volu1 ? colu1 : volu2 ? colu2 : volu3 ? colu3 : na

barcolor(ac)