
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.
O núcleo da estratégia é a combinação dos indicadores MACD e Supertrend para determinar a direção da tendência do mercado.
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.
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.
/*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-----------------////////////////