Diese Strategie ist ein Trend-Following-System, das auf mehreren gleitenden Durchschnitten basiert und Mechanismen zur Bestätigung der Trendstärke und zur Erfassung der Volatilität kombiniert. Es nutzt ein dreifaches gleitendes Durchschnittssystem von 5, 25 und 75 Perioden als Kern, filtert starke Trends durch den ADX-Indikator und integriert ein schnelles Volatilitätsüberwachungssystem zur zeitnahen Gewinnentnahme. Dieser mehrschichtige Handelsmechanismus identifiziert effektiv Markttrends und führt Trades zu geeigneten Zeiten aus.
Die Strategie beruht auf drei Kernmechanismen:
Besondere Handelsregeln:
Einführung von Adaptivparametern:
Erweiterte Trendbestätigung:
Optimieren Sie die Gewinn-/Verlustrechnung:
Klassifizierung des Marktumfelds:
Die Strategie baut ein komplettes Handelssystem durch mehrere gleitende Durchschnitte, Trendstärke Bestätigung und Volatilitätsüberwachung Dimensionen. Seine Hauptvorteile liegen in seinem mehrstufigen Bestätigungsmechanismus und flexiblen Risikokontrollsystem. Durch die bereitgestellten Optimierungsvorschläge kann die Strategie ihre Anpassungsfähigkeit und Stabilität weiter verbessern. In der praktischen Anwendung werden Händler geraten, Parameter nach spezifischen Marktmerkmalen zu optimieren und mit angemessenen Geldmanagementstrategien zu kombinieren.
/*backtest start: 2024-10-01 00:00:00 end: 2024-10-31 23:59:59 period: 2h basePeriod: 2h exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=5 strategy("5SMA-25SMA Crossover Strategy with ADX Filter and Sudden Move Profit Taking", overlay=true) // パラメータの設定 sma5 = ta.sma(close, 5) sma25 = ta.sma(close, 25) sma75 = ta.sma(close, 75) // ADXの計算 length = 14 tr = ta.tr(true) plus_dm = ta.rma(math.max(ta.change(high), 0), length) minus_dm = ta.rma(math.max(-ta.change(low), 0), length) tr_sum = ta.rma(tr, length) plus_di = 100 * plus_dm / tr_sum minus_di = 100 * minus_dm / tr_sum dx = 100 * math.abs(plus_di - minus_di) / (plus_di + minus_di) adx = ta.rma(dx, length) // ロングとショートのエントリー条件 longCondition = ta.crossover(sma5, sma25) and close > sma75 and adx > 20 shortCondition = ta.crossunder(sma5, sma25) and close < sma75 and adx > 20 // 急激な変動を検知する条件(ここでは、前のローソク足に比べて0.6%以上の値動きがあった場合) suddenMove = math.abs(ta.change(close)) > close[1] * 0.006 // ポジション管理 if (longCondition) strategy.entry("Long", strategy.long) if (shortCondition) strategy.entry("Short", strategy.short) // 急激な変動があった場合、ポジションを利益確定(クローズ)する if (strategy.position_size > 0 and suddenMove) strategy.close("Long") if (strategy.position_size < 0 and suddenMove) strategy.close("Short") // エグジット条件 if (strategy.position_size > 0 and shortCondition) strategy.close("Long") if (strategy.position_size < 0 and longCondition) strategy.close("Short") // SMAとADXのプロット plot(sma5, color=color.blue, title="5SMA") plot(sma25, color=color.red, title="25SMA") plot(sma75, color=color.green, title="75SMA") plot(adx, color=color.orange, title="ADX") hline(20, "ADX Threshold", color=color.gray, linestyle=hline.style_dotted)