Strategi ini adalah sistem perdagangan kuantitatif yang didasarkan pada analisis teknis candlestick, terutama mengidentifikasi peluang perdagangan potensial dengan menganalisis panjang total lilin atas dan bawah lilin. Mekanisme inti membandingkan panjang total lilin yang dihitung secara real-time dengan rata-rata bergerak yang disesuaikan dengan offset, menghasilkan sinyal panjang ketika panjang lilin menembus rata-rata bergerak. Strategi ini mengintegrasikan beberapa jenis rata-rata bergerak, termasuk Rata-rata Gerak Sederhana (SMA), Rata-rata Gerak Eksponensial (EMA), Rata-rata Gerak Berat (WMA), dan Rata-rata Gerak Berat Volume (VWMA), memberikan pedagang pilihan pilihan parameter yang fleksibel.
Logika inti mencakup langkah-langkah kunci berikut:
Strategi ini menggabungkan indikator teknis klasik dari analisis lilin dengan metode perdagangan kuantitatif modern, menciptakan sistem perdagangan dengan logika yang jelas dan kepraktisan yang kuat. Keuntungan utamanya terletak pada fleksibilitas parameter dan kontrol risiko yang komprehensif, meskipun keterbatasan termasuk ketergantungan lingkungan pasar yang kuat dan sensitivitas parameter. Potensi peningkatan yang signifikan ada melalui integrasi indikator multi-dimensi dan pengoptimalan manajemen posisi. Secara keseluruhan, ini merupakan strategi perdagangan kuantitatif yang secara mendasar sehat dan koheren secara logis yang cocok untuk pengembangan dan pengoptimalan lebih lanjut.
/*backtest start: 2019-12-23 08:00:00 end: 2025-01-04 08:00:00 period: 1d basePeriod: 1d exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=6 strategy("Daytrading ES Wick Length Strategy", overlay=true) // Input parameters ma_length = input.int(20, title="Moving Average Length", minval=1) ma_type = input.string("VWMA", title="Type of Moving Average", options=["SMA", "EMA", "WMA", "VWMA"]) ma_offset = input.float(10, title="MA Offset (Points)", step=1) hold_periods = input.int(18, title="Holding Period (Bars)", minval=1) // Calculating upper and lower wick lengths upper_wick_length = high - math.max(close, open) lower_wick_length = math.min(close, open) - low // Total wick length (upper + lower) total_wick_length = upper_wick_length + lower_wick_length // Calculate the moving average based on the selected method ma = switch ma_type "SMA" => ta.sma(total_wick_length, ma_length) "EMA" => ta.ema(total_wick_length, ma_length) "WMA" => ta.wma(total_wick_length, ma_length) "VWMA" => ta.vwma(total_wick_length, ma_length) // Add the offset to the moving average ma_with_offset = ma + ma_offset // Entry condition: wick length exceeds MA with offset long_entry_condition = total_wick_length > ma_with_offset // Long entry if (long_entry_condition) strategy.entry("Long", strategy.long) // Automatic exit after holding period if strategy.position_size > 0 and bar_index - strategy.opentrades.entry_bar_index(strategy.opentrades - 1) >= hold_periods strategy.close("Long") // Plot the total wick length as a histogram plot(total_wick_length, color=color.blue, style=plot.style_histogram, linewidth=2, title="Total Wick Length") // Plot the moving average with offset plot(ma_with_offset, color=color.yellow, linewidth=2, title="MA of Wick Length (Offset)")