
A estratégia de duplo cruzamento do EMA em ouro é uma estratégia típica de acompanhamento de tendências. A estratégia usa a média dos EMAs de dois períodos diferentes para gerar sinais de compra e venda de acordo com a sua forma cruzada. Quando o EMA de curto período atravessa o EMA de longo período, gera um sinal de compra; Quando o EMA de curto período atravessa o EMA de longo período, gera um sinal de venda.
A estratégia é composta por:
Configure o comprimento do EMA de linha rápida e do EMA de linha lenta. Aqui, o comprimento do EMA de linha rápida é 12 e o comprimento do EMA de linha lenta é 26.
Calcule o EMA de linha rápida e o EMA de linha lenta. O EMA de linha rápida é mais rápido e o EMA de linha lenta é mais estável.
Quando a linha rápida atravessa a linha lenta na EMA, gera um sinal de compra; quando a linha rápida atravessa a linha lenta abaixo da EMA, gera um sinal de venda.
De acordo com o sinal de entrada. Ao fazer mais, se houver uma posição de curto prazo reversa, primeiro leve a posição de curto prazo e abra mais.
Configure um ponto de parada. Quando você faz mais, se o preço cair antes do ponto mais baixo, uma certa proporção será parada.
De acordo com o sinal de partida. Quando você atravessa a linha rápida da EMA sob a linha rápida da EMA, você elimina o cartão. Quando você atravessa a linha lenta da EMA na linha rápida da EMA, você elimina o cartão vazio.
A estratégia é simples e clara: a direção e a intensidade da tendência podem ser avaliadas através do cruzamento de duas linhas de EMA. A EMA de linha rápida é sensível às mudanças de preços de curto prazo e a EMA de linha lenta é mais estável na resposta à tendência de longo prazo. O cruzamento de duas linhas é um método mais clássico para determinar a mudança de tendência.
A estratégia tem as seguintes vantagens:
O conceito é simples, fácil de entender e implementar. EMA e cruzamento são indicadores e sinais técnicos reconhecidamente eficazes.
A ferramenta permite rastrear de forma eficaz as tendências médias e longas e capturar oportunidades de tendências em tempo hábil.
A configuração de EMA dupla evita a interferência do ruído do mercado de curto prazo.
Há regras claras para entrar, sair e parar, e não há situações em que as posições sejam mortas.
É necessário apenas um pequeno número de parâmetros, não é fácil de otimização excessiva. A adaptação de parâmetros é simples e adequada para aprendizagem de iniciantes.
Os resultados da retrospectiva são bons e têm valor de combate. Pode ser usado sozinho ou em combinação com outras estratégias.
A estratégia também apresenta alguns riscos:
O cruzamento duplo de EMA é propenso a erros de sinalização e cruzamento frequente. Os parâmetros devem ser adequadamente ajustados e os sinais inativos filtrados.
Não é possível lidar bem com os intervalos de choque e a reversão de tendência. Outros indicadores devem ser usados para confirmar.
A estratégia de dupla EMA é fácil de acompanhar a alta e a baixa. O tamanho da posição deve ser adequadamente controlado ou o stop loss deve ser configurado.
A curva de ressonância pode ter um certo grau de sobreajuste. Deve ser feito um teste de sensibilidade de parâmetros para avaliar a estabilidade.
A falta de um stop-loss atempado pode levar a um grande prejuízo. Deve-se estabelecer uma posição de stop-loss razoável.
As taxas de transação podem afetar os lucros reais. Os fatores de comissões de diferentes variedades devem ser considerados.
A estratégia pode ser melhorada em vários aspectos:
Optimizar os parâmetros do ciclo EMA para encontrar a combinação de parâmetros mais ótima. Pode ser introduzido o método de otimização por etapas e de aprendizagem de máquina.
Adicionar filtros de tendência, como indicadores como ADX, CCI e outros, para evitar transações erradas sob tendências incertas.
Aumentar os indicadores de volume, tais como volume de transação, fluxo de energia, etc., para garantir que haja um verdadeiro impulso de transação.
O mecanismo de stop loss dinâmico pode ser configurado para ajustar automaticamente a posição de stop loss de acordo com as flutuações do mercado.
Combinação com as variedades relevantes para ajuste de risco com a correlação das variedades.
Aumentar os algoritmos de aprendizagem de máquina, utilizando a IA para otimização de parâmetros, engenharia de características, filtragem de sinais, etc.
Considere os fatores de custo de transação, ajuste o ponto de parada e o tamanho da posição, reduzir a frequência de transação.
Parâmetros de projeto para diferentes variedades, para que a estratégia seja mais adaptável.
Desenvolver um quadro estratégico integrado, em combinação com outras estratégias, para aumentar a estabilidade.
Através dessas otimizações, as estratégias podem ser mais perfeitas e estáveis, obtendo lucros mais consistentes e estáveis nas negociações reais.
Esta estratégia utiliza duplo EMA cruzado para gerar sinais de negociação, que pode efetivamente acompanhar a tendência de linha média-longa. A vantagem da estratégia é a facilidade de uso, o bom desempenho de retrospectiva, e é adequado para o uso de aprendizagem novato. Mas também há um certo risco, que precisa ser cuidado.
/*backtest
start: 2022-10-23 00:00:00
end: 2023-10-29 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=2
strategy(title = "EMA Cross Strategy", shorttitle = "EMA Cross",calc_on_order_fills=true,calc_on_every_tick =true, initial_capital=21000,commission_value=.25,overlay = true,default_qty_type = strategy.percent_of_equity, default_qty_value = 100)
StartYear = input(2018, "Backtest Start Year")
StartMonth = input(1, "Backtest Start Month")
StartDay = input(1, "Backtest Start Day")
UseStopLoss = input(true,"UseStopLoss")
window() => time >= timestamp(StartYear, StartMonth, StartDay,00,00) ? true : false
stopLoss = input(20, title = "Stop loss percentage(0.1%)")
maFastSource = input(defval = open, title = "Fast MA Source")
maFastLength = input(defval = 12, title = "Fast MA Period", minval = 1)
// long ma
maSlowSource = input(defval = open, title = "Slow MA Source")
maSlowLength = input(defval = 26, title = "Slow MA Period", minval = 1)
maFast = ema(maFastSource, maFastLength)
maSlow = ema(maSlowSource, maSlowLength)
fast = plot(maFast, title = "Fast MA", color = #7a8598, linewidth = 2, style = line, transp = 50)
slow = plot(maSlow, title = "Slow MA", color = #e08937, linewidth = 2, style = line, transp = 50)
longEMA = crossover(maFast, maSlow)
exitLong = crossunder(maFast, maSlow)
shortEMA = crossover(maSlow, maFast)
exitShort = crossover(maFast, maSlow)
if (longEMA)
strategy.entry("LongId", strategy.long, when=window())
if (shortEMA)
strategy.entry("ShortId", strategy.short, when=window())
if (UseStopLoss)
strategy.exit("StopLoss", "LongId", loss = close * stopLoss / 1000 / syminfo.mintick)
strategy.exit("StopLoss", "ShortId", loss = close * stopLoss / 1000 / syminfo.mintick)