Impulso MACD inverso emaranhado com a estratégia de scalping de curto prazo da DMI Breakout

Autora:ChaoZhang, Data: 2023-11-13 17:42:23
Tags:

img

Resumo

Esta estratégia centra-se no shorting durante as condições de mercado de baixa utilizando dois indicadores baseados na força para fornecer confluência que o início de uma tendência de baixa de curto prazo ocorreu - capturando a oportunidade de shorting o mais rápido possível.

A estratégia funciona bem em moedas que você planeja investir a longo prazo e tem um desempenho especialmente bom ao usar um bot de negociação automatizado que pode executar negociações para você. Ele permite que você proteja seu investimento alocando uma porcentagem de suas moedas para negociar, sem arriscar toda a sua posse. Isso mitiga as perdas não realizadas do investimento, pois fornece dinheiro adicional dos lucros obtidos. Você pode então optar por investir esse dinheiro ou usá-lo para reinvestir quando o mercado atingir níveis de compra atraentes.

Em alternativa, pode utilizar este método quando negociar contratos em mercados de futuros onde não é necessário já possuir o activo subjacente antes de colocá-lo em curto.

Estratégia lógica

O sistema de negociação usa o indicador de Divergência de Convergência Média de Momento (MACD) e o indicador de Movimento Direcional (DMI) para confirmar quando é o melhor momento para vender.

O MACD é um indicador de tendência seguindo o momento e fornece a identificação da direção da tendência de curto prazo.

O DMI indica a direção da tendência do preço e compara os mínimos e máximos anteriores com duas linhas desenhadas entre cada uma - a linha de movimento direcional positivo (+DI) e a linha de movimento direcional negativo (-DI). A tendência pode ser interpretada comparando as duas linhas e qual linha é maior.

O sistema entrará em negociações quando duas condições estiverem preenchidas:

  1. O histograma do MACD vira-se para baixa.

  2. Quando o DMI negativo for superior ao DMI positivo.

A estratégia vem com um lucro fixo combinado com uma parada de volatilidade, que atua como uma parada de trail para se adaptar à força da tendência.

A posição é encerrada quando:

Saída de lucro: diminuição do preço de entrada de +8%.

OU

Exit Stop-Loss: O preço cruza acima da parada de volatilidade.

Em geral, esta abordagem é adequada para estratégias de médio e longo prazo. O backtesting para esta estratégia começa em 1 de abril de 2022 a 18 de julho de 2022 a fim de demonstrar seus resultados em um mercado de baixa.

Os pares que produzem resultados muito fortes incluem SOLUSDT no período de 45m, MATICUSDT no período de 2h e AVAUSDT no período de 1h.

Uma taxa de negociação de 0,1% também é levada em conta e alinhada à taxa de base aplicada na Binance.

Análise das vantagens

As vantagens desta estratégia incluem:

  • Utiliza os pontos fortes dos indicadores MACD e DMI para melhorar a precisão dos sinais de entrada e evitar falhas.

  • Emprega uma combinação de mecanismos fixos de stop exit de take profit e de volatilidade para garantir lucros mais elevados de take profit, controlando o risco.

  • Adequado para tendências de baixa do mercado de baixa para capturar lucros substanciais de scalping a curto prazo.

  • Pode ser usado para cobrir posições longas para ganhar renda adicional ou contratos futuros curtos para scalping.

  • Forte resultados dos backtests, especialmente em prazos de 1h e 45m adequados para negociação de alta frequência.

Análise de riscos

Os riscos desta estratégia incluem:

  • DMI e MACD como indicadores de atraso têm uma maior probabilidade de gerar sinais errôneos em torno dos pontos de virada da tendência, exigindo monitoramento de stop loss.

  • As configurações de lucro fixado incorretas podem resultar em lucros muito pequenos ou muito grandes. Recomenda-se ajustes com base na volatilidade diferente da moeda.

  • A volatilidade pode ser interrompida durante os períodos de oscilações violentas, exigindo combinação com um stop loss adicional.

  • A selecção inadequada do período de ensaio posterior pode conduzir a resultados excessivamente otimistas.

  • O desempenho do mundo real será afectado por taxas de negociação, deslizamento de ordens de mercado, etc., levando a desvios do backtest.

Orientações de otimização

Esta estratégia pode ser melhorada nos seguintes aspectos:

  • Utilize o aprendizado de máquina para otimizar automaticamente as combinações de parâmetros MACD e DMI, adaptadas a diferentes prazos e moedas.

  • Adicionar os lucros baseados na volatilidade dinâmica, ajustando a faixa de lucros baseada na volatilidade do mercado.

  • Incorporar indicadores adicionais, formando um modelo multifator para melhorar a filtragem, tais como BVN e OBV.

  • Adicionar modelos de aprendizado de máquina para ajudar MACD e DMI na sinalização.

  • Usar ordens de limite em vez de ordens de mercado para reduzir o impacto do deslizamento.

  • Teste em moedas individuais para encontrar parâmetros de prazo ideais.

Conclusão

Em resumo, esta estratégia de scalping de urso de curto prazo fornece lucros quantitativos substanciais identificando momentos de curto-circuito ideais através da poderosa combinação MACD e DMI. Pode ser usada para cobrir posições longas e contratos de futuros curtos diretamente. Otimizar paradas e parâmetros de ajuste pode melhorar ainda mais a taxa de ganho. A estratégia merece aplicação ativa e otimização por comerciantes de mercado de urso.


/*backtest
start: 2023-10-13 00:00:00
end: 2023-11-12 00:00:00
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=5
strategy("Inverse MACD + DMI Scalping with Volatility Stop (Shorting) (By Coinrule)",

         overlay=true,
         initial_capital=10000,
         process_orders_on_close=true,
         default_qty_type=strategy.percent_of_equity,
         default_qty_value=100,
         commission_type=strategy.commission.percent,
         commission_value=0.1)

showDate = input(defval=true, title='Show Date Range')
timePeriod = time >= timestamp(syminfo.timezone, 2022, 4, 1, 0, 0)
notInTrade = strategy.position_size <= 0

// DMI and MACD inputs and calculations
[pos_dm, neg_dm, avg_dm] = ta.dmi(14, 14)
[macd, macd_signal, macd_histogram] = ta.macd(close, 12, 26, 9)

Take_profit = input(3) / 100
longTakeProfit = strategy.position_avg_price * (1 + Take_profit)

length = input.int(20, 'Length', minval=2)
src = input(close, 'Source')
factor = input.float(2.0, 'vStop Multiplier', minval=0.25, step=0.25)
volStop(src, atrlen, atrfactor) =>
    var max = src
    var min = src
    var uptrend = true
    var stop = 0.0
    atrM = nz(ta.atr(atrlen) * atrfactor, ta.tr)
    max := math.max(max, src)
    min := math.min(min, src)
    stop := nz(uptrend ? math.max(stop, max - atrM) : math.min(stop, min + atrM), src)
    uptrend := src - stop >= 0.0
    if uptrend != nz(uptrend[1], true)
        max := src
        min := src
        stop := uptrend ? max - atrM : min + atrM
        stop
    [stop, uptrend]
    
[vStop, uptrend] = volStop(src, length, factor)

closeShort = close > longTakeProfit or ta.crossunder(close, vStop)

//Entry
strategy.entry(id='short', direction=strategy.short, when=ta.crossover(macd_signal, macd) and pos_dm < neg_dm and timePeriod)

//Exit
strategy.close('short', when=closeShort and timePeriod)


Mais.