Strategi ini adalah sistem perdagangan cerdas yang menggabungkan alat analisis teknis klasik termasuk crossover rata-rata bergerak dan pengenalan pola candlestick. Strategi ini mengidentifikasi titik balik pasar potensial dengan menganalisis hubungan antara bayangan candlestick dan tubuh, sambil menggabungkan sinyal crossover rata-rata bergerak ganda. Sistem ini tidak hanya berfokus pada tren harga tetapi juga menghitung rentang rata-rata untuk menyesuaikan parameter perdagangan secara dinamis untuk peningkatan kemampuan beradaptasi.
Logika inti terdiri dari dua komponen utama:
Modul pengenalan pola lilin mengidentifikasi sinyal pembalikan potensial dengan menghitung rasio antara bayangan dan tubuh. Sistem ini mencakup parameter yang dapat disesuaikan untuk shadow multiplier (wickMultiplier) dan body percentage (bodyPercentage) untuk mengoptimalkan kualitas sinyal.
Sistem crossover rata-rata bergerak ganda menggunakan rata-rata bergerak sederhana (SMA) 14 periode dan 28 periode sebagai indikator tren. Sinyal panjang dihasilkan ketika MA jangka pendek melintasi di atas MA jangka panjang, sementara sinyal pendek terjadi ketika MA jangka pendek melintasi di bawah MA jangka panjang.
Strategi ini membangun kerangka keputusan perdagangan yang relatif lengkap dengan menggabungkan pengenalan pola lilin dengan sistem crossover rata-rata bergerak. Kekuatannya terletak pada mekanisme penyaringan sinyal yang ketat dan kemampuan penyesuaian parameter yang fleksibel, sementara perhatian harus diberikan pada optimasi parameter dan kemampuan beradaptasi dengan lingkungan pasar. Melalui optimasi dan penyempurnaan terus-menerus, strategi menunjukkan potensi untuk mempertahankan kinerja yang stabil di berbagai kondisi pasar.
/*backtest start: 2024-10-28 00:00:00 end: 2024-11-27 00:00:00 period: 1h basePeriod: 1h exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=5 indicator("Wick Reversal Setup", overlay=true) // Input parameters wickMultiplier = input.float(3.5, title="Wick Multiplier", minval=0.5, maxval=20) bodyPercentage = input.float(0.25, title="Body Percentage", minval=0.1, maxval=1.0) // Calculate the average range over 50 periods avgRange = ta.sma(high - low, 50) // Define the lengths of wicks and bodies bodyLength = math.abs(close - open) upperWickLength = high - math.max(close, open) lowerWickLength = math.min(close, open) - low totalRange = high - low // Long signal conditions longSignal = (close > open and upperWickLength >= bodyLength * wickMultiplier and upperWickLength <= totalRange * bodyPercentage) or (close < open and lowerWickLength >= bodyLength * wickMultiplier and upperWickLength <= totalRange * bodyPercentage) or (close == open and close != high and upperWickLength >= bodyLength * wickMultiplier and upperWickLength <= totalRange * bodyPercentage) or (open == high and close == high and totalRange >= avgRange) // Short signal conditions shortSignal = (close < open and (high - open) >= bodyLength * wickMultiplier and lowerWickLength <= totalRange * bodyPercentage) or (close > open and (high - close) >= bodyLength * wickMultiplier and lowerWickLength <= totalRange * bodyPercentage) or (close == open and close != low and lowerWickLength >= bodyLength * wickMultiplier and lowerWickLength <= totalRange * bodyPercentage) or (open == low and close == low and totalRange >= avgRange) // Plot signals plotshape(series=longSignal, location=location.belowbar, color=color.green, style=shape.labelup, text="Long") plotshape(series=shortSignal, location=location.abovebar, color=color.red, style=shape.labeldown, text="Short") // This Pine Script™ code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/ // © Sahaj_Beriwal //@version=5 strategy("My strategy", overlay=true, margin_long=100, margin_short=100) longCondition = ta.crossover(ta.sma(close, 14), ta.sma(close, 28)) if (longCondition) strategy.entry("L", strategy.long) shortCondition = ta.crossunder(ta.sma(close, 14), ta.sma(close, 28)) if (shortCondition) strategy.entry("S", strategy.short)