
Strategi ini disebut strategi cross-golden cross-death cross, dan ide utamanya adalah menggunakan dua sinyal indikator teknis yang kuat, yaitu moving average cross-golden cross dan cross-death cross, untuk menangkap pembalikan tren pasar dan mencapai efek jual beli rendah.
Dalam strategi ini, kami menghitung rata-rata bergerak sederhana (SMA) selama 50 dan 200 periode. Menurut pemahaman tradisional, ketika garis 50 hari jatuh dari arah atas melewati garis 200 hari, disebut tanda penurunan. Ketika garis 50 hari dari arah bawah melewati garis 200 hari, disebut tanda kenaikan.
Logika trading dari strategi ini adalah untuk membangun posisi berdasarkan munculnya kedua sinyal tersebut. Secara khusus, strategi ini akan melakukan shorting pada saat terjadi crossover yang mematikan, dan melakukan over pada saat terjadi crossover yang mematikan. Dengan demikian, Anda bisa mendapatkan keuntungan di dekat titik perubahan tren pasar.
Selain itu, strategi juga menyediakan fitur jangka waktu pengukuran yang dapat disesuaikan. Ini memungkinkan kita untuk menguji kinerja strategi dalam rentang waktu yang berbeda dan menemukan efek sebenarnya dari sinyal silang ini.
Untuk risiko, kita dapat menyesuaikan parameter garis rata-rata, digabungkan dengan sinyal filter indikator lainnya, melakukan manajemen dana yang baik, strategi verifikasi di lapangan, untuk mengurangi risiko aktual.
Strategi ini dapat dioptimalkan dalam beberapa hal:
Dengan menguji dampak dari berbagai parameter terhadap kinerja strategi, kita dapat menemukan solusi perdagangan lintas linier yang lebih baik.
Strategi ini menggunakan sinyal indikator teknis klasik yang melintasi rata-rata bergerak untuk menangkap titik-titik perubahan pasar yang penting. Logika strategi sederhana dan jelas, tetapi juga menyediakan fitur pengembalian yang mudah.
/*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")