Die Dynamic Intraday Long-Short Balancing Strategy Combining Moving Average and Supertrend ist eine quantitative Handelsstrategie, die in Pine ScriptTM 5 geschrieben wurde. Die Strategie nutzt den MACD-Indikator und den Supertrend-Indikator, um Trendchancen auf dem Markt zu erfassen und gleichzeitig das Risiko durch dynamische Long-Short-Switching und Stop-Loss/Take-Profit zu kontrollieren.
Der Kern dieser Strategie besteht darin, den MACD-Indikator und den Supertrend-Indikator zu kombinieren, um die Trendrichtung des Marktes zu bestimmen.
Durch dynamisches Long-Short-Switching kann sich die Strategie an Marktveränderungen anpassen und Trendchancen erfassen.
Die Dynamic Intraday Long-Short Balancing Strategy Combining Moving Average and Supertrend ist eine Handelsstrategie, die auf Trendverfolgung und Momentumbeurteilung basiert. Durch die Kombination des Supertrend-Indikators und des MACD-Indikators und die dynamische Anpassung der Positionsrichtung kann sich die Strategie an Veränderungen auf dem Markt anpassen und Trendchancen erfassen. Gleichzeitig hilft das Design von Schließpositionen zu einem festen Zeitpunkt auch, das Übernachtrisiko zu kontrollieren.
Die Strategie hat jedoch auch einige Risiken und Mängel, wie z. B. das Risiko eines Ausfalls der Indikatoren, das Risiko der Optimierung von Parametern, das Stop-Loss-Risiko usw. Um die Strategie weiter zu verbessern, kann man erwägen, Stop-Loss-Logik hinzuzufügen, Parameter zu optimieren, mehr Signalfilterbedingungen hinzuzufügen und in mehreren Märkten zu testen.
Insgesamt bietet die Dynamic Intraday Long-Short Balancing Strategy, die Moving Average und Supertrend kombiniert, eine Denkweise für die Trendverfolgung und Risikokontrolle. In der Praxis sollten Händler die Strategie entsprechend ihren eigenen Risikopräferenzen und Marktmerkmalen anpassen und optimieren und sie vorsichtig verwenden. Quantitative Handelsstrategien können Handelsideen liefern, aber der Markt verändert sich ständig, und keine Strategie kann Gewinne garantieren. Anleger müssen die Prinzipien und Risiken der Strategie verstehen, Positionen vernünftigerweise kontrollieren, Verluste strikt stoppen und immer wachsam bleiben, um langfristig auf dem Markt zu überleben.
/*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-----------------////////////////