Estratégia de equilíbrio dinâmico longo-curto intradiário combinando média móvel e super tendência


Data de criação: 2024-03-11 11:33:47 última modificação: 2024-03-11 11:33:47
cópia: 0 Cliques: 692
1
focar em
1617
Seguidores

Estratégia de equilíbrio dinâmico longo-curto intradiário combinando média móvel e super tendência

Visão geral da estratégia

A estratégia de equilíbrio dinâmico multi-espaço diurno combinado com a linha média e a tendência super é uma estratégia de negociação quantitativa baseada em Pine Script TM 5. A estratégia utiliza o indicador MACD e o indicador de tendência super para capturar oportunidades de tendência no mercado, enquanto controla o risco por meio de trocas multi-espaço dinâmicas e paradas de perda.

Princípio da estratégia

O núcleo da estratégia é a combinação dos indicadores MACD e Supertrend para determinar a direção da tendência do mercado.

  1. Usar o indicador de super tendência para determinar a direção da tendência atual. Quando o indicador de super tendência muda, indica que a tendência se reverteu.
  2. Utilize um gráfico de coluna do MACD para avaliar a variação de movimento. Quando o gráfico de coluna do MACD é invertido negativamente, indica aumento da energia de oscilação ascendente; quando o gráfico de coluna do MACD é invertido positivamente, indica aumento da energia de oscilação descendente.
  3. Quando o indicador de super-tendência e o indicador MACD emitem sinais de fazer mais ao mesmo tempo, abra mais posições; Quando o indicador de super-tendência e o indicador MACD emitem sinais de fazer menos ao mesmo tempo, abra posições vazias.
  4. Apague todas as posições em um horário fixo de cada dia de negociação (por exemplo, às 15:15), evitando o risco de noite.
  5. No novo dia de negociação (por exemplo, 9:30), reabrir posições de acordo com as instruções do indicador de tendências super e do indicador MACD.

A estratégia é capaz de se adaptar às mudanças do mercado e de capturar oportunidades de tendência através de uma troca dinâmica de múltiplos espaços. Ao mesmo tempo, a concepção de posições de liquidação de tempo fixo também ajuda a controlar o risco.

Vantagens estratégicas

  1. Seguimento de tendências: Combinando o indicador de super tendências com o indicador MACD, a estratégia é capaz de capturar eficazmente as oportunidades de tendências no mercado.
  2. Mudança de posição dinâmica: a estratégia de ajustar a direção da posição de acordo com a dinâmica das mudanças nos indicadores, adaptando-se às mudanças no mercado.
  3. Controle de Risco: A estratégia permite um melhor controle de risco através de posições em aberto de tempo fixo e comutação dinâmica multi-espaço.
  4. Parâmetros flexíveis: os parâmetros da estratégia (como o ciclo ATR, os fatores, etc.) podem ser ajustados de acordo com as características do mercado e as preferências pessoais, com uma certa flexibilidade.

Risco estratégico

  1. Risco de falha do indicador: em alguns cenários de mercado, os indicadores MACD e os indicadores de super tendências podem emitir sinais errados, levando ao fracasso da estratégia.
  2. Risco de otimização de parâmetros: o desempenho da estratégia depende da escolha de parâmetros, e os parâmetros inadequados podem levar ao fraco desempenho da estratégia.
  3. Risco de parada: a estratégia não tem uma lógica de parada clara, o que pode levar a maiores perdas em condições de mercado extremas.
  4. Risco de overnight: Embora a estratégia tenha sido aplicada para fechar posições durante o dia, o risco de uma brecha de overnight é possível quando a posição é aberta durante a noite.

Direção de otimização

  1. Aumentar a lógica de stop-loss: adicionar uma lógica de stop-loss definida na estratégia, como stop-loss de porcentagem fixa ou stop-loss ATR, para controlar ainda mais o risco.
  2. Optimização de parâmetros: os parâmetros-chave da estratégia, como o ciclo ATR, o fator, o parâmetro MACD, etc., são otimizados para melhorar a estabilidade e a rentabilidade da estratégia.
  3. Filtragem de sinais: adicionar mais condições de filtragem de sinais, como breakouts de preço, volume de transação, etc., para aumentar a confiabilidade do sinal.
  4. Teste de mercado múltiplos: teste a estratégia em diferentes mercados e variedades para avaliar a sua aplicabilidade e estabilidade.

Resumir

A estratégia de equilíbrio dinâmico multi-espaço diurno combinado com a linha média e a tendência super é uma estratégia de negociação baseada no acompanhamento da tendência e no julgamento da dinâmica. Ao combinar o indicador de tendência super com o indicador MACD, a estratégia pode ajustar dinamicamente a direção da posição para se adaptar às mudanças no mercado e capturar oportunidades de tendência.

No entanto, a estratégia também apresenta alguns riscos e deficiências, como risco de falha do indicador, risco de otimização de parâmetros, risco de parada, etc. Para aperfeiçoar ainda mais a estratégia, pode-se considerar a adição de lógica de parada, parâmetros de otimização, adição de mais condições de filtragem de sinal e testes em vários mercados, etc.

Em geral, a estratégia de equilíbrio dinâmico multi-espaço diário, combinada com a tendência de equilíbrio e a super tendência, fornece uma forma de pensar para acompanhar a tendência e controlar o risco. Na aplicação prática, o comerciante deve combinar suas preferências de risco e características do mercado, para ajustar e otimizar adequadamente a estratégia, e usá-la com prudência. Embora a estratégia de negociação quantitativa possa fornecer uma forma de pensar, o mercado é instável e instável, e nenhuma estratégia pode garantir lucro.

Código-fonte da estratégia
/*backtest
start: 2023-03-05 00:00:00
end: 2024-03-10 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/
// © smj31071995

//@version=5
strategy("EQ - INTRA - Samsuga supertrend prod", overlay=true, default_qty_type=strategy.percent_of_equity, default_qty_value=100, calc_on_every_tick = false)


atrPeriod = input.int(7,    "ATR Length", minval = 1)
factor =    input.float(1.0, "Factor",     minval = 0.01, step = 0.01)
st_tf = "3"
macd_tf="30"

[supertrend, direction] =request.security(symbol = syminfo.tickerid, timeframe = st_tf,expression =  ta.supertrend(factor, atrPeriod),lookahead=barmerge.lookahead_on)

supertrend := barstate.isfirst ? na : supertrend
upTrend =    plot(direction <= 0 ? supertrend : na, "Up Trend",   color = color.green, style = plot.style_linebr)
downTrend =  plot(direction <= 0 ? na : supertrend, "Down Trend", color = color.red,   style = plot.style_linebr)
bodyMiddle = plot(barstate.isfirst ? na : (open + close) / 2, "Body Middle",display = display.none)
longcondition = direction[1] > direction 
shortCondition = direction[1] < direction 

macdp1 = 2
macdp2=8
macdp3=4

[macdLine, signalLine, histLine] =request.security(symbol = syminfo.tickerid, timeframe = macd_tf,expression = ta.macd(close,macdp1,macdp2,macdp3),lookahead=barmerge.lookahead_on)
// log.info(str.tostring(syminfo.tickerid)+str.tostring(histLine[0]))
timezone_input = input("Asia/Kolkata", title="Timezone")
// log.info(timezone_input)
if(hour==15 and minute==15)
    strategy.close_all(comment = "DAY EXIT",alert_message = "X-D")
else if(hour==9 and minute==30)
    if(longcondition or histLine[1]>0)
        strategy.entry(id= "Long", direction=strategy.long,  comment = "DL",alert_message = "L")
    else if(shortCondition or histLine[1]<0) 
        strategy.entry(id= "Short", direction=strategy.short,  comment = "DS",alert_message = "S")
else
    if(longcondition)
        strategy.close("Short",comment = "X-S", alert_message = "X-S")
        if(histLine[1]>0)    
            strategy.entry(id= "Long", direction=strategy.long,  comment = "L",alert_message = "L")
    else if(shortCondition) 
        strategy.close("Long",comment = "X-L",alert_message = "X-L")
        if(histLine[1]<0)    
            strategy.entry(id= "Short", direction=strategy.short,  comment = "S",alert_message = "S")


// plot(macdLine,   title = "MACD",   color = #2962FF)
// plot(signalLine, title = "Signal", color = #FF6D00)
// 8, 21, 5
// 8,13,9
// 12,26,9
//  1--> 3, 17, 5
// 3, 10, 16
// log.info(str.tostring(syminfo.tickerid)+str.tostring(histLine[0]))
//  /////////----------------METHOD 1-----------------////////////////
// if(longcondition)
//     if(strategy.opentrades>0)
//         strategy.close("Long","Prev Exit", immediately = true)
//     if( histLine[0] > 0.1)
//         strategy.entry(id= "Long", direction=strategy.long,  comment = "update long")

    
// else if(shortCondition and strategy.openprofit<=0.1) 
//     strategy.close("Long",comment = "Close",immediately = true)
//  /////////----------------METHOD 2-----------------////////////////
// if(longcondition)
//     if(histLine[0] > 0)
//         strategy.entry(id= "Long", direction=strategy.long,  comment = "update long" )
//         strategy.exit("Long", loss = close*0.2)


    
// else if(shortCondition ) 
//     strategy.close("Long",comment = "Close",immediately = true)
//  /////////----------------METHOD 3-----------------////////////////