Ini adalah strategi perdagangan kuantitatif berdasarkan metode analisis Markttechnik (MT) yang banyak digunakan oleh lembaga keuangan Jerman. Strategi ini menggabungkan beberapa dimensi termasuk mengikuti tren SMA, identifikasi dukungan dan resistensi, analisis pola lilin pembalikan, dan ukuran posisi piramida, mencapai perdagangan yang stabil melalui kontrol risiko yang ketat. Inti dari strategi ini terletak pada menentukan arah tren pasar melalui sintesis sinyal multi-dimensi dan memperluas keuntungan melalui ukuran posisi piramida ketika tren terbentuk.
Strategi ini menggunakan komponen kunci berikut untuk membangun sistem perdagangan: 1. Penentuan Tren: Menggunakan 10-periode Simple Moving Average (SMA) sebagai indikator tren utama, dengan harga di atas SMA menunjukkan uptrend dan sebaliknya. 2. Dukungan dan Resistensi: Menentukan zona dukungan dan resistensi jangka pendek menggunakan harga tinggi dan rendah 3 periode. 3. Pola Reversal: Menganalisis pola lilin palu dan bintang jatuh sebagai indikator pembalikan yang penting. 4. Sinyal perdagangan: Memicu sinyal perdagangan berdasarkan konfirmasi arah tren yang dikombinasikan dengan level support/resistance dan pola pembalikan. 5. Manajemen Posisi: Menggunakan strategi ukuran posisi piramida yang memungkinkan akumulasi posisi hingga 2x. 6. Pengendalian Risiko: Menetapkan batas maksimum penarikan 5% dan menggunakan rasio risiko-imbalan 2.0 untuk tingkat stop loss dan take profit.
Strategi ini membangun sistem perdagangan yang lengkap melalui analisis sinyal multi-dimensi dan kontrol risiko yang ketat. Keuntungan inti terletak pada keandalan sinyal dan kontrol risiko, meskipun optimasi parameter masih diperlukan untuk lingkungan pasar yang berbeda. Melalui arah optimasi yang disarankan, stabilitas strategi dan profitabilitas dapat ditingkatkan lebih lanjut. Strategi ini cocok untuk pasar dengan tren yang jelas dan merupakan pertimbangan yang berharga bagi pedagang yang mencari pengembalian yang stabil.
/*backtest start: 2025-01-02 00:00:00 end: 2025-01-09 00:00:00 period: 30m basePeriod: 30m exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT","balance":49999}] */ //@version=6 strategy("Markttechnik Strategie mit Pyramiding und Drawdown-Limit", overlay=true, pyramiding=2) // Eingabewerte lengthSupport = input.int(3, title="Unterstützungs-/Widerstandsfenster", minval=1) lengthSMA = input.int(10, title="SMA Länge für Trends", minval=1) riskRewardRatio = input.float(2.0, title="Risk-Reward-Ratio", minval=0.1, step=0.1) maxDrawdown = input.float(5.0, title="Maximaler Drawdown (%)", minval=0.1, step=0.1) // Unterstützungs- und Widerstandszonen berechnen support = ta.lowest(low, lengthSupport) resistance = ta.highest(high, lengthSupport) // Trendindikator (SMA-basierter Trend) sma = ta.sma(close, lengthSMA) trendUp = close > sma trendDown = close < sma // Umkehrstäbe erkennen isHammer = close > open and (low < open) and ((open - low) > 2 * (close - open)) isShootingStar = open > close and (high > open) and ((high - open) > 2 * (open - close)) // Kauf- und Verkaufssignale buySignal = isHammer and close > support and trendUp sellSignal = isShootingStar and close < resistance and trendDown // Strategiefunktionen: Pyramiding und Drawdown equityPeak = na(strategy.equity[1]) or strategy.equity > strategy.equity[1] ? strategy.equity : strategy.equity[1] // Höchster Kontostand drawdown = equityPeak > 0 ? (strategy.equity - equityPeak) / equityPeak * 100 : 0 // Drawdown in Prozent if buySignal and drawdown > -maxDrawdown strategy.entry("Buy", strategy.long) strategy.exit("Sell", "Buy", stop=low - (high - low) * riskRewardRatio, limit=close + (close - low) * riskRewardRatio) if sellSignal and drawdown > -maxDrawdown strategy.entry("Sell", strategy.short) strategy.exit("Cover", "Sell", stop=high + (high - low) * riskRewardRatio, limit=close - (high - close) * riskRewardRatio) // Unterstützungs- und Widerstandslinien zeichnen plot(support, color=color.new(color.green, 80), linewidth=1, title="Unterstützungszone") plot(resistance, color=color.new(color.red, 80), linewidth=1, title="Widerstandszone") // Trendlinie (SMA) plot(sma, color=color.blue, linewidth=2, title="SMA-Trend") // Umkehrstäbe hervorheben bgcolor(buySignal ? color.new(color.green, 90) : na, title="Kaufsignal Hintergrund") bgcolor(sellSignal ? color.new(color.red, 90) : na, title="Verkaufssignal Hintergrund") // Debugging: Drawdown anzeigen plot(drawdown, title="Drawdown (%)", color=color.purple, linewidth=2, style=plot.style_line)