Estratégia curta do mercado de baixa MACD

Autora:ChaoZhang, Data: 14 de setembro de 2023 18:04:28
Tags:

Estratégia lógica

Esta estratégia de curto prazo concentra-se em movimentos de baixa durante os mercados de baixa, assegurando simultaneamente que as transações de ativos se realizam dentro de uma tendência de baixa a longo prazo, saindo após uma nova baixa.

A lógica é:

  1. Cálculo das linhas curtas, longas e do histograma do MACD

  2. O cruzamento MACD de baixa sinaliza uma tendência de baixa potencial

  3. Preço abaixo da MA de 450 dias confirma tendência de baixa a longo prazo

  4. Entrar em curto prazo quando ambas as condições estiverem preenchidas

  5. Obtenção de lucro fixada a 8% abaixo do preço de entrada

  6. Previsão de prejuízo de 4% acima do preço de entrada

Utiliza o MACD para curvas de curto prazo e MA longa para evitar curto blind.

Vantagens

  • MACD sinaliza potencial de baixa a curto prazo

  • O filtro MA longo evita reversões de curto prazo

  • O rácio 2: 1 lucro/perda controla o risco

Riscos

  • Requer ajuste do parâmetro MACD

  • MA longa propensa a sinais com atraso

  • O curto só perde oportunidades longas.

Resumo

Esta estratégia capta movimentos descendentes de curto prazo quando se tem a certeza de uma tendência de baixa.


/*backtest
start: 2023-08-14 00:00:00
end: 2023-09-13 00:00:00
period: 2h
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/
// © Coinrule

//@version=5
strategy("Shorting Bearish MACD Cross with Price Below EMA 450 (By Coinrule)", overlay=true, initial_capital = 10000, default_qty_value = 30, default_qty_type = strategy.percent_of_equity, commission_type=strategy.commission.percent, commission_value=0.1)

// EMAs 
slowEMA = ta.ema(close, 450)

// MACD
[macdLine, signalLine, histogramLine] = ta.macd(close, 11, 26, 9)

// Conditions
goShortCondition1 = ta.crossunder(macdLine, signalLine)
goShortCondition2 = slowEMA > close

timePeriod = time >= timestamp(syminfo.timezone, 2021, 12, 1, 0, 0)
notInTrade = strategy.position_size <= 0
strategyDirection = strategy.direction.short

if (goShortCondition1 and goShortCondition2 and timePeriod and notInTrade)
    stopLoss = high * 1.04
    takeProfit = low * 0.92
    strategy.entry("Short", strategy.short)
    strategy.exit("exit","Short", stop=stopLoss, limit=takeProfit)
    
plot(slowEMA, color=color.green)


Mais.