Ini adalah strategi perdagangan kuantitatif berdasarkan kaedah analisis Markttechnik (MT) yang digunakan secara meluas oleh institusi kewangan Jerman. Strategi ini menggabungkan pelbagai dimensi termasuk mengikuti trend SMA, pengenalan sokongan dan rintangan, analisis corak lilin pembalikan, dan saiz kedudukan piramid, mencapai perdagangan stabil melalui kawalan risiko yang ketat. Inti strategi terletak pada menentukan arah trend pasaran melalui sintesis isyarat berbilang dimensi dan memperluaskan keuntungan melalui ukuran kedudukan piramid apabila trend terbentuk.
Strategi ini menggunakan komponen utama berikut untuk membina sistem perdagangan: 1. Penentuan Trend: Menggunakan Purata Bergerak Sederhana (SMA) 10 tempoh sebagai penunjuk trend utama, dengan harga di atas SMA menunjukkan trend menaik dan sebaliknya. 2. Sokongan dan Rintangan: Menentukan zon sokongan dan rintangan jangka pendek menggunakan harga tinggi dan rendah 3 tempoh. 3. corak pembalikan: Menganalisis corak candlestick palu dan bintang jatuh sebagai penunjuk pembalikan yang penting. 4. Isyarat Dagangan: Memicu isyarat dagangan berdasarkan pengesahan arah trend digabungkan dengan tahap sokongan / rintangan dan corak pembalikan. 5. Pengurusan Kedudukan: Menggunakan strategi ukuran kedudukan piramid yang membolehkan pengumpulan kedudukan sehingga 2x. 6. Kawalan Risiko: Menetapkan had pengeluaran maksimum 5% dan menggunakan nisbah risiko-balasan 2.0 untuk tahap stop loss dan mengambil keuntungan.
Strategi ini membina sistem perdagangan yang lengkap melalui analisis isyarat berbilang dimensi dan kawalan risiko yang ketat. Kelebihan teras terletak pada kebolehpercayaan isyarat dan kawalan risiko, walaupun pengoptimuman parameter masih diperlukan untuk persekitaran pasaran yang berbeza. Melalui arah pengoptimuman yang dicadangkan, kestabilan dan keuntungan strategi dapat ditingkatkan lagi. Strategi ini sesuai untuk pasaran dengan trend yang jelas dan merupakan pertimbangan yang berbaloi bagi peniaga yang mencari pulangan 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)