Dual Trendlines Breakout Golden Cross Death Cross Trend Following Strategy adalah strategi perdagangan kuantitatif yang memanfaatkan kedua garis tren support/resistance dan moving average sebagai sinyal alternatif untuk mengikuti tren. Strategi ini memperhitungkan tingkat harga pada kerangka waktu yang berbeda, menggabungkan sinyal breakout melalui level support dan resistance utama dengan sinyal golden cross dan death cross dari indikator tren, untuk membuka posisi selama perubahan tren awal untuk target keuntungan melacak tren jangka menengah hingga panjang.
Strategi ini terdiri dari empat komponen utama:
Secara khusus, strategi ini pertama-tama menggunakan fungsi permintaan Keamanan untuk mendapatkan tertinggi dan terendah tertinggi selama 30 hari dan 30 minggu terakhir masing-masing, memetakan garis dukungan dan resistensi dinamis. Kemudian menggabungkan sinyal salib emas dan salib kematian dari SMA 10 periode untuk menyaring peluang keluar. Sinyal panjang dihasilkan ketika harga melanggar di atas level dukungan 30 hari dan SMA 10 periode, sementara sinyal pendek dihasilkan ketika harga melanggar di bawah level resistensi 30 minggu dan SMA 10 periode.
Strategi ini mempertimbangkan tingkat support/resistance jangka menengah dan jangka panjang, yang memungkinkan untuk menangkap peluang tren yang lebih besar.
Keuntungan utama dari strategi ini meliputi:
Ada juga beberapa risiko yang harus diperhatikan untuk strategi ini:
Solusi:
Ada ruang untuk perbaikan lebih lanjut:
Strategy Breakout Dual Trendlines Golden Cross Death Cross Trend Following secara efektif menggabungkan indikator support/resistance jangka menengah hingga panjang dan moving average untuk menyaring sinyal menguntungkan selama tren utama, menjadikannya strategi trading kuantitatif yang relatif matang.
/*backtest start: 2024-01-22 00:00:00 end: 2024-02-21 00:00:00 period: 1h basePeriod: 15m exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ // This Pine Script™ code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/ // © neosaid //@version=5 strategy("Support and resistant Strategy", overlay=true) // Function to check for breakout f_breakoutCondition(closingPrice, highestHigh, lowestLow) => closingPrice > highestHigh or closingPrice < lowestLow // Step 1: 30 Days Trend Line (Lower Lows) low30Days = request.security(syminfo.tickerid, "D", low) // Step 2: 30 Weeks Upper Trend Line (Higher Highs) high30Weeks = request.security(syminfo.tickerid, "W", high) // Step 3: Trend Line for Lowest Low within the Last Month var float lowestLowLastMonth = na for i = 0 to 29 lowestLowLastMonth := na(lowestLowLastMonth) ? low[i] : math.min(lowestLowLastMonth, low[i]) lowestLowLastMonthValue = lowestLowLastMonth[1] // Breakout Strategy highestHighLast3Candles = request.security(syminfo.tickerid, "D", ta.highest(close, 3)) lowestLowLast3Candles = request.security(syminfo.tickerid, "D", ta.lowest(close, 3)) // Additional conditions to filter signals buyCondition = f_breakoutCondition(close, highestHighLast3Candles, lowestLowLast3Candles) and close > low30Days sellCondition = f_breakoutCondition(close, highestHighLast3Candles, lowestLowLast3Candles) and close < high30Weeks // Additional filters to reduce the number of orders buyFilter = ta.crossover(close, ta.sma(close, 10)) // Buy only when price crosses above a 10-period SMA sellFilter = ta.crossunder(close, ta.sma(close, 10)) // Sell only when price crosses below a 10-period SMA buyCondition := buyCondition and buyFilter sellCondition := sellCondition and sellFilter // Plot Buy and Sell signals on the chart plotshape(series=buyCondition, title="Buy Signal", color=color.green, style=shape.triangleup, location=location.belowbar) plotshape(series=sellCondition, title="Sell Signal", color=color.red, style=shape.triangledown, location=location.abovebar) // Strategy entries strategy.entry("Buy", strategy.long, when = buyCondition) strategy.entry("Sell", strategy.short, when = sellCondition)