Die Dynamic Balance Strategy in Kombination mit dem Hypertrend ist eine quantitative Handelsstrategie, die auf der Basis von Pine ScriptTM 5 geschrieben wurde. Die Strategie nutzt MACD und Hypertrend, um Trendchancen zu erfassen und Risiken durch dynamische Hypertrends und Stop-Loss-Schaltungen zu kontrollieren.
Im Mittelpunkt der Strategie steht die Kombination von MACD und Supertrendindikatoren, um die Trendrichtung des Marktes zu bestimmen.
Durch dynamische Multi-Space-Switching kann die Strategie sich an Marktveränderungen anpassen und Trendchancen erfassen. Gleichzeitig hilft die Konzeption von Festzeit-Platzierungen, Risiken zu kontrollieren.
Die dynamische Balance-Strategie mit einem hypertrendigen Kurs ist eine Handelsstrategie, die auf Trendverfolgung und Dynamikentscheidung basiert. Durch die Kombination von hypertrendigen und MACD-Indikatoren kann die Strategie die Position dynamisch anpassen, um sich an Marktveränderungen anzupassen und Trendchancen zu erfassen.
Allerdings bestehen auch Risiken und Unzulänglichkeiten, wie z. B. Risiko von Indikatorfehlern, Risiko von Parameteroptimierung, Risiko von Stoppverlusten usw. Eine weitere Verbesserung der Strategie besteht darin, die Stoppverlustlogik, die Optimierung von Parametern, die Einführung von mehr Signalfilterbedingungen und die Prüfung in mehreren Märkten zu verbessern.
Im Allgemeinen bietet die dynamische Gleichgewichtsstrategie mit einer Kombination aus dem Gleichgewicht und dem Supertrend eine Idee zur Trendverfolgung und zur Risikokontrolle. In der Praxis sollten Trader ihre Risikopräferenzen und die Merkmale des Marktes kombinieren, die Strategie angemessen anpassen und optimieren und mit Bedacht anwenden.
/*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-----------------////////////////