Estratégia de cruzamento de média móvel de EMA dupla com rastreamento de momentum


Data de criação: 2024-02-26 16:40:29 última modificação: 2024-02-26 16:40:29
cópia: 0 Cliques: 604
1
focar em
1617
Seguidores

Estratégia de cruzamento de média móvel de EMA dupla com rastreamento de momentum

Visão geral

A estratégia é uma estratégia de negociação de algoritmo de seguimento de tendência, que emite um sinal de negociação ao calcular a linha média EMA de dois parâmetros diferentes e ao ocorrer uma cruz de ouro (Golden Cross) e uma cruz de morte (Death Cross). A estratégia combina simultaneamente várias linhas de EMA para uma saída lucrativa e configura um ponto de parada para controlar o risco.

Princípio da estratégia

A estratégia usa 4 EMAs, um conjunto de EMAs rápidas e EMAs lentas, cujo cruzamento é usado para gerar sinais de compra e venda. Além disso, a estratégia usa duas EMAs intermediárias entre os parâmetros de EMAs rápidas para sair da posição antecipadamente, parcialmente ou totalmente, para bloquear os lucros.

Especificamente, quando o EMA rápido atravessa o EMA lento, gera um sinal de compra; quando o EMA rápido atravessa o EMA lento, gera um sinal de venda. Esta é uma estratégia típica de cruzamento de duas médias móveis EMA.

Além disso, a estratégia também estabelece dois pontos de parada para a linha longa e curta, para evitar a expansão dos prejuízos. Concretamente, o limite de parada para a linha múltipla é de 6% do preço de entrada e o limite de parada para a linha vazia é de 3% do preço de entrada.

Análise de vantagens

As principais vantagens da estratégia em relação à típica estratégia de cruzamento de médias móveis de duas EMAs são:

  1. A configuração de várias EMAs para a retirada de lucros permite um melhor bloqueio de lucros e evita a redução de lucros em retrações subsequentes.

  2. As posições em aberto têm uma menor amplitude de parada, que pode suportar uma maior oscilação do normal, evitando a perda de parada frequente.

  3. Configurar diferentes parâmetros de EMA para uma saída lucrativa, e escolher o melhor ponto de saída de acordo com a situação do mercado.

  4. A estratégia global possui uma melhor capacidade de rastreamento de tendências e pode capturar os efeitos colaterais das tendências de linha média e longa.

Análise de Riscos

Os principais pontos de risco da estratégia incluem:

  1. Em situações de turbulência, os sinais de negociação gerados pela linha média do EMA são frequentes e podem gerar excesso de negociação.

  2. O ponto de parada de linha curta só previne situações extremas e não previne a retirada da conta estratégica.

  3. O risco de retração da estratégia permanece, e os ganhos podem ser reduzidos significativamente quando confrontados com um ajuste de tendências de longo prazo.

  4. A política é sensível a ajustes de parâmetros, e uma configuração incorreta pode causar falhas na política.

Direção de otimização

Considerando os riscos acima mencionados, a estratégia pode ser otimizada em vários aspectos:

  1. Aumentar os algoritmos de aprendizagem de máquina para auxiliar o julgamento de tendências e reduzir a probabilidade de transações erradas.

  2. Aumentar o mecanismo de suspensão de perdas adaptável, que pode ajustar dinamicamente a suspensão de perdas de acordo com a volatilidade do mercado.

  3. Configurar a taxa de utilização dos fundos, evitar que a conta estratégica seja excessivamente utilizada e aumentar o mecanismo de gestão de posições.

  4. Selecionar variedades de negociação, escolher indicadores de tendências evidentes e de maior volatilidade.

  5. Adição de módulos de otimização de parâmetros para otimização e atualização automática de parâmetros.

Resumir

A estratégia de cruzamento de duas médias móveis de EMA é, em geral, uma estratégia de acompanhamento de tendências mais econômica. Ela possui vantagens como a configuração de várias médias de EMA para saida e saída lucrativa, pequeno stop loss e forte capacidade de acompanhamento de tendências.

Código-fonte da estratégia
/*backtest
start: 2023-02-19 00:00:00
end: 2024-02-25 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

// This Pine Script™ code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/
// © RealTraderAkeme

//@version=5
strategy("AKEME_EMA_CROSS_V6", overlay=true)

////////////////////////////////////////////////////////////PARAMETERS/////////////////////////////////////////////////////////////////
emaFast_op = input(title="Fast_EMA", defval=6)
emaSlow_op = input(title="Slow_EMA", defval=26)
emaExit_op = input(title="Sell_EMA_Exit",defval=10)
emabuyExit_op = input(title="Buy_EMA_Exit",defval=20)
Order_Value = input(defval=1000, title="Order_Value in Pounds") 
Direction_Of_Trade = input(title="Trade Direction", defval="Both")


////////////////////////////////////////////////////////////INPUTS//////////////////////////////////////////////////////////////////

fastEMA = ta.ema(close, emaFast_op)
slowEMA = ta.ema(close,emaSlow_op)
emaExit = ta.ema(close,emaExit_op)
emabuyExit = ta.ema(close,emabuyExit_op)
Entry_Ratio = strategy.openprofit/Order_Value


//////////////////////////////////////////////////////////GRAPHS//////////////////////////////////////////////////////////////////

plot(fastEMA, color=color.orange, linewidth = 2)
plot(slowEMA,color = color.blue, linewidth = 2)
plot(emaExit,color = color.gray, linewidth = 2)
plot(series=emabuyExit, color= color.rgb(210, 74, 235), linewidth=2)


/////////////////////////////////////////////////////Conditions//////////////////////////////////////////////////////////////////////
longOK  = (Direction_Of_Trade == "Long") or (Direction_Of_Trade == "Both")
shortOK = (Direction_Of_Trade == "Short") or (Direction_Of_Trade == "Both")


///////////////////////////////////////////////////////////ENTRIES&EXITS///////////////////////////////////////////////////////////////
longCondition = ta.crossover(fastEMA, slowEMA) and longOK 
if (longCondition)  
    strategy.entry("Buy", strategy.long) 

shortCondition = ta.crossunder(fastEMA, slowEMA) and shortOK
if (shortCondition)
    strategy.entry("Sell", strategy.short)

if (strategy.position_size > 0 and shortCondition)
    strategy.exit(id="exit Buy", stop=close)
    
if (strategy.position_size < 0 and longCondition)
    strategy.exit(id="exit Sell", stop=close)


/////////////////////////////////////////////////////TAKE PROFIT CONDITIONS////////////////////////////////////////////////////////

if  ta.crossunder(fastEMA, emabuyExit) and Entry_Ratio > 0.08333
    strategy.close("Buy",comment = "Exit")

if  ta.crossover(fastEMA, emaExit) and Entry_Ratio > 0.016666
    strategy.close("Sell",comment = "Exit")


if Entry_Ratio > 0.4166666 //0.4166666 
    strategy.close("Buy",comment = "Exit", qty_percent = 100)

if Entry_Ratio > 0.0833333//0.0833333
    strategy.close("Sell",comment = "Exit")//50

if Entry_Ratio > 0.1111111//4000
    strategy.close("Sell",comment = "Exit", qty_percent = 50)

if ta.crossover(fastEMA, emaExit) and Entry_Ratio > 0.278 //Percentage 
    strategy.close("Sell",comment = "Exit")

////////////////////////////////////////////STOP LOSS AS PERCENTAGE OF ENTRY CONDITIONS///////////////////////////////////////////

if Entry_Ratio < -0.05555555555
    strategy.close("Buy",comment = "Exit")
if Entry_Ratio < -0.027777777777
    strategy.close("Sell",comment = "Exit")// The Sell Stoloss is half the buying stoploss.