Strategi ini disebut
Dalam strategi ini, kami menghitung garis SMA (Simple Moving Average) 50 periode dan 200 periode. Secara tradisional, ketika SMA 50 hari melintasi di bawah SMA 200 hari, itu disebut
Logika trading adalah hanya untuk mengambil posisi berdasarkan sinyal ini - shorting di death cross dan pergi panjang di golden cross.
Selain itu, strategi menyediakan rentang tanggal yang dapat disesuaikan untuk backtest. sehingga kita dapat memeriksa efektivitas sebenarnya dari sinyal silang ini selama periode yang berbeda.
Untuk mengatasi risiko, kita dapat mengoptimalkan parameter, menambahkan filter, mengelola risiko, perdagangan kertas strategi dll untuk meminimalkan risiko.
Cara utama untuk mengoptimalkan strategi ini meliputi:
Dengan memeriksa dampak parameter, kita dapat menemukan sistem crossover rata-rata bergerak yang lebih baik.
Strategi ini memanfaatkan indikator teknis klasik penyeberangan rata-rata bergerak untuk menangkap titik infleksi utama di pasar. Dengan logika sederhana dan fitur backtest yang nyaman, ini dapat membantu dalam melacak tren sebagai bagian dari sistem yang lebih luas.
/*backtest start: 2024-01-14 00:00:00 end: 2024-01-21 00:00:00 period: 15m basePeriod: 5m exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=5 strategy("[S_R__9] - Death and Golden Cross", overlay=true) // Specific Time Date Range For Backtest startDate = input.int(title='Start Date', defval=1, minval=1, maxval=31, group='DATE CONFIG') startMonth = input.int(title='Start Month', defval=1, minval=1, maxval=12, group='DATE CONFIG') startYear = input.int(title='Start Year', defval=2023, minval=1800, maxval=2100, group='DATE CONFIG') endDate = input.int(title='End Date', defval=31, minval=1, maxval=31, group='DATE CONFIG') endMonth = input.int(title='End Month', defval=12, minval=1, maxval=12, group='DATE CONFIG') endYear = input.int(title='End Year', defval=2023, minval=1800, maxval=2100, group='DATE CONFIG') SPECIFIC_DATE = input.bool(title='USE SPECIFIC DATE ?', defval=false, group='DATE CONFIG') inDateRange = SPECIFIC_DATE ? time >= timestamp(syminfo.timezone, startYear, startMonth, startDate, 0, 0) and time < timestamp(syminfo.timezone, endYear, endMonth, endDate, 0, 0) : true // Calculate 50 SMA and 200 SMA sma50 = ta.sma(close, 50) sma200 = ta.sma(close, 200) // Detect a Death Cross (50 SMA crossing below 200 SMA) deathCross = ta.crossunder(sma50, sma200) // Detect a Golden Cross (50 SMA crossing above 200 SMA) goldenCross = ta.crossover(sma50, sma200) // Strategy Execution if (inDateRange) if (deathCross) strategy.entry("Death Cross long", strategy.short) if (goldenCross) strategy.entry("Golden Cross short", strategy.long) // Plot SMAs plot(sma50, color=color.red, title="50 SMA") plot(sma200, color=color.blue, title="200 SMA") // Plotting Death Cross signal plotshape(series=deathCross and inDateRange, title="Death Cross Signal", location=location.belowbar, color=color.red, style=shape.labeldown, text="DEATH CROSS") // Plotting Golden Cross signal plotshape(series=goldenCross and inDateRange, title="Golden Cross Signal", location=location.abovebar, color=color.green, style=shape.labelup, text="GOLDEN CROSS")