Strategi ini adalah sistem mengikuti tren berdasarkan kombinasi beberapa moving average, terutama memanfaatkan hubungan silang dan posisi antara Weekly EMA20, Daily SMA100, Daily SMA50, dan Daily EMA20 untuk menangkap peluang investasi jangka menengah hingga panjang. Strategi mengidentifikasi titik masuk panjang potensial dengan mengamati hubungan antara harga dan moving average, dikombinasikan dengan persyaratan durasi.
Logika inti dari strategi ini didasarkan pada kondisi kunci berikut: 1. Menggunakan 20-periode mingguan eksponensial Moving Average (EMA1W20) sebagai indikator tren utama 2. Dikombinasikan dengan 100 hari Simple Moving Average (SMA1D100) untuk konfirmasi tren sekunder Menggunakan 50-hari Simple Moving Average (SMA1D50) sebagai referensi tren jangka menengah 4. Menggunakan 20-hari Eksponensial Moving Average (EMA1D20) untuk konfirmasi tren jangka pendek Sistem ini menghasilkan sinyal panjang ketika harga mempertahankan di atas EMA1W20 dan SMA1D100 selama 14 hari berturut-turut dan kemudian turun di bawah SMA1D50.
Strategi ini menetapkan tren yang relatif komprehensif mengikuti sistem melalui beberapa kombinasi rata-rata bergerak, yang cocok untuk investor jangka menengah hingga panjang. Meskipun memiliki risiko lag dan sensitivitas parameter tertentu, strategi ini memiliki nilai praktis melalui kontrol risiko yang tepat dan optimalisasi terus-menerus.
/*backtest start: 2024-11-12 00:00:00 end: 2024-12-11 08:00:00 period: 1h basePeriod: 1h 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/ // © petitepupu //@version=5 ema20wTemp = ta.ema(close, 20) ema20w = request.security(syminfo.tickerid, "1W", ema20wTemp, barmerge.gaps_on, barmerge.lookahead_off) sma100d = ta.sma(close, 100) sma50d = ta.sma(close, 50) ema20d = ta.ema(close, 20) daysAbove = input.int(14, title="Days", minval=1) plot(ema20w, color=color.blue) plot(sma100d, color=color.yellow) plot(sma50d, color=color.red) plot(ema20d, color=color.green) longCondition = true clean = true for i = 0 to daysAbove if close[i] < ema20w or close[i] < sma100d or close > sma50d longCondition := false clean := false break //TODO: if clean != true longCondition := true for i = 0 to daysAbove if close[i] > ema20w or close[i] > sma100d or close >= ema20d or -100 * (close - ema20d)/ema20d < 5.9 longCondition := false break // plotshape(series=longCondition, location=location.belowbar, color=color.green, style=shape.triangleup, title="Buy Signal", size = size.small) if (longCondition) strategy.entry("Long", strategy.long) strategy(title="LT Strategy", overlay=true, default_qty_type=strategy.percent_of_equity, default_qty_value=800)