Estratégia de negociação de média móvel de cruz de ouro cruz da morte

Autora:ChaoZhang, Data: 2023-10-30 14:42:09
Tags:

img

A estratégia é baseada em três médias móveis com períodos diferentes. Ela vai longo quando o período curto MA cruza acima do longo período MA, e vai curto quando o curto período MA cruza abaixo do longo período MA. A direção da tendência é determinada pela linha de tendência MA.

Estratégia lógica:

  1. Definir três MA - MA de curto prazo, MA de longo prazo e MA de tendência. Os períodos são 20, 200 e 50, respectivamente.

  2. Um sinal de compra é gerado quando o MA de curto período cruza acima do MA de longo período. Um sinal de venda é gerado quando o MA de curto período cruza abaixo do MA de longo período.

  3. Verifique se os MAs curto e longo estão acima do MA da tendência.

  4. Configure stop loss e take profit como uma porcentagem do preço de entrada.

  5. Traçar os pontos de cruzamento MA para visualizar os sinais de entrada.

Vantagens:

  1. Lógica estratégica simples e intuitiva, fácil de entender e implementar.

  2. Pode capturar efetivamente as tendências de médio prazo e negociar com o ímpeto.

  3. Filtragem com tendência MA evita negociação contra a tendência.

  4. Os períodos de autorização de importação podem ser ajustados às diferentes condições do mercado.

  5. Stop loss e take profit personalizáveis para controlar os riscos.

Riscos:

  1. Os movimentos voláteis acentuados podem desencadear o stop loss.

  2. Perdas maiores quando a tendência se inverte.

  3. O ajustamento inadequado dos parâmetros pode conduzir ao excesso de negociação ou à perda de oportunidades.

  4. Os custos de transacção devem ser tidos em conta.

Melhorias:

  1. Adicione um filtro de volatilidade como o ATR para evitar sinais falsos.

  2. Usar machine learning para otimizar dinamicamente parâmetros.

  3. Adicione mais indicadores como o MACD para determinar a tendência.

  4. Implementar stop loss para bloquear os lucros.

  5. Backtest para encontrar níveis de stop loss e take profit ideais.

Conclusão:

A estratégia captura as tendências de forma eficaz com lógica clara e execução fácil. Controlar os riscos com filtro de tendência, stop loss e take profit. O ajuste de parâmetros requer otimização para as condições do mercado. Mais indicadores podem melhorar o desempenho. Adequado para negociação de tendências de médio prazo.


/*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=5
strategy("XAU M15", overlay=true)

// Define input parameters
long_length = input.int(64, title="Long MA Length")
short_length = input.int(1, title="Short MA Length")
trend_length = input.int(200, title="Trend MA Length")

// Calculate moving averages
long_ma = ta.sma(close, long_length)
short_ma = ta.sma(close, short_length)
trend_ma = ta.sma(close, trend_length)

// Plot moving averages on chart
plot(long_ma, color=color.blue, title="Long MA")
plot(short_ma, color=color.red, title="Short MA")
plot(trend_ma, color=color.green, title="Trend MA")

// Entry conditions
enterLong = ta.crossover(long_ma, short_ma) and long_ma > trend_ma and short_ma > trend_ma
enterShort = ta.crossunder(long_ma, short_ma) and long_ma < trend_ma and short_ma < trend_ma

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

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

// Exit conditions
exitLong = ta.crossunder(long_ma, short_ma)
exitShort = ta.crossover(long_ma, short_ma)

if (exitLong)
    strategy.close("Long")

if (exitShort)
    strategy.close("Short")

// Set stop loss and take profit levels
long_stop_loss_percentage = input(1, title="Long Stop Loss (%)") / 100
long_take_profit_percentage = input(3, title="Long Take Profit (%)") / 100

short_stop_loss_percentage = input(1, title="Short Stop Loss (%)") / 100
short_take_profit_percentage = input(3, title="Short Take Profit (%)") / 100

strategy.exit("Take Profit/Stop Loss", "Long", stop=close * (1 - long_stop_loss_percentage), limit=close * (1 + long_take_profit_percentage))
strategy.exit("Take Profit/Stop Loss", "Short", stop=close * (1 + short_stop_loss_percentage), limit=close * (1 - short_take_profit_percentage))

plotshape(series=enterLong, title="Buy Entry", location=location.belowbar, color=color.green, style=shape.triangleup, size=size.tiny)
plotshape(series=enterShort, title="Sell Entry", location=location.abovebar, color=color.red, style=shape.triangledown, size=size.tiny)


Mais.