
La estrategia de equilibrio dinámico intradiario multi-espacio combinada con la línea media y la tendencia súper es una estrategia de negociación cuantitativa basada en Pine Script TM 5. La estrategia utiliza el indicador MACD y el indicador de tendencia súper para capturar oportunidades de tendencia en el mercado, mientras que controla el riesgo mediante el cambio dinámico multi-espacio y la parada de pérdida.
El núcleo de esta estrategia es la combinación de los indicadores MACD y los indicadores de tendencias súper para determinar la dirección de la tendencia del mercado. En concreto:
La estrategia puede adaptarse a los cambios en el mercado y capturar oportunidades de tendencia a través de un cambio dinámico de varios espacios. Al mismo tiempo, el diseño de posiciones cerradas a tiempo fijo también ayuda a controlar el riesgo.
La estrategia de equilibrio dinámico de la línea media y la super tendencia es una estrategia de negociación basada en el seguimiento de la tendencia y el juicio de la dinámica. Al combinar el indicador de la super tendencia con el indicador MACD, la estrategia puede ajustar dinámicamente la dirección de la posición para adaptarse a los cambios en el mercado y capturar oportunidades de tendencia.
Sin embargo, la estrategia también presenta algunos riesgos y deficiencias, como el riesgo de falla de indicadores, el riesgo de optimización de parámetros, el riesgo de parada, etc. Para perfeccionar aún más la estrategia, se puede considerar agregar lógica de parada, optimizar parámetros, agregar más condiciones de filtración de señales y probar en varios mercados, etc.
En general, la estrategia de equilibrio dinámico multi-espacio diaria combinada con la línea de mediano y la tendencia súper ofrece una forma de seguir la tendencia y controlar el riesgo. En la aplicación práctica, los comerciantes deben combinar sus propias preferencias de riesgo y las características del mercado para ajustar y optimizar la estrategia de manera adecuada y usarla con prudencia.
/*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-----------------////////////////