Diese Strategie kombiniert den SuperTrend-Indikator und den MACD-Indikator, um kleine Trends für den Gewinn zu erfassen. Sie verwendet den SuperTrend-Indikator, um den aktuellen Markttrend und den MACD-Indikator als Hilfsbedingung für den Ein- und Ausstieg zu bestimmen.
Durch die Kombination des SuperTrend-Indikators und des MACD-Indikators erfasst diese Strategie kleine Trends und berücksichtigt gleichzeitig die Trendkontinuität, was sie zu einer relativ umfassenden und ausgewogenen Strategie macht. Die Stärken der Strategie liegen in ihrer klaren Logik, der Einfachheit des Verständnisses und der Umsetzung und der Verwendung eines längeren Zeitrahmens MACD-Indikators als Hilfsbedingung, um falsche Signale effektiv auszufiltern. Die Strategie birgt jedoch auch einige Risiken, wie das Potenzial für häufigen Handel in unbeständigen Märkten, Empfindlichkeit gegenüber Parameter-Einstellungen und Mangel an Stop-Loss-Maßnahmen. Um diese Risiken zu beheben, können Verbesserungen durch Hinzufügen von mehr Filterbedingungen, Optimierung von Parametern, Einbeziehung von Stop-Losses usw. vorgenommen werden. Insgesamt kann diese Strategie als grundlegender Strategierahmen dienen, der mit kontinuierlicher Optimierung und Verbesserung das Potenzial hat, eine konsequent prof
/*backtest start: 2024-02-01 00:00:00 end: 2024-02-29 23:59:59 period: 1h basePeriod: 15m exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=5 strategy("Samsuga supertrend", overlay=true, default_qty_type=strategy.percent_of_equity, default_qty_value=100) atrPeriod = input.int(7, "ATR Length", minval = 1) factor = input.float(1.0, "Factor", minval = 0.01, step = 0.01) [supertrend, direction] = ta.supertrend(factor, atrPeriod) 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 = 3 macdp2=10 macdp3=6 [macdLine, signalLine, histLine] =request.security(symbol = syminfo.tickerid, timeframe = "30",expression = ta.macd(close,macdp1,macdp2,macdp3),lookahead=barmerge.lookahead_on) // 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-----------------//////////////// // log.info(str.tostring(syminfo.tickerid)+str.tostring(histLine[0])) if(longcondition) if(histLine[0] > 0) strategy.close("Short",comment = "E-S", alert_message = "E-S",disable_alert = true) strategy.entry(id= "Long", direction=strategy.long, comment = "L",alert_message = "L") else if(shortCondition) if(histLine[0] < 0) strategy.close("Long",comment = "E-L",alert_message = "E-L",disable_alert = true) strategy.entry(id= "Short", direction=strategy.short, comment = "S",alert_message = "S")