
Strategi ini merupakan sistem pelacakan tren yang menggabungkan indikator teknis dan metode pembelajaran mesin. Strategi ini mengintegrasikan indikator relatif kuat (RSI), indikator tren rata-rata (ADX) dan model prediksi regresi linier untuk menentukan tren pasar dan peluang perdagangan melalui analisis multi-dimensi.
Strategi ini menggunakan mekanisme penyaringan tiga tingkat untuk menentukan sinyal perdagangan:
Strategi ini dengan menggabungkan analisis teknis tradisional dan metode prediksi modern, membangun sistem perdagangan yang relatif lengkap. Keunggulan inti dari strategi ini adalah mekanisme konfirmasi sinyal multi-dimensi, yang dapat secara efektif mengurangi dampak sinyal palsu. Dengan memperbaiki model prediksi, mengoptimalkan mekanisme penyesuaian parameter dan meningkatkan manajemen risiko, strategi ini memiliki ruang optimasi yang lebih besar. Dalam aplikasi praktis, investor disarankan untuk menyesuaikan parameter strategi sesuai dengan karakteristik pasar tertentu dan toleransi risiko mereka sendiri.
/*backtest
start: 2025-01-20 00:00:00
end: 2025-02-19 08:00:00
period: 1h
basePeriod: 1h
exchanges: [{"eid":"Binance","currency":"SOL_USDT"}]
*/
//@version=5
strategy("RSI + ADX + ML-like Strategy (5min)", overlay=true)
// ———— 1. Inputs ————
rsiLength = input(14, "RSI Length")
adxLength = input(14, "ADX Length")
mlLookback = input(20, "ML Lookback (Bars)")
// ———— 2. Calculate Indicators ————
// RSI
rsi = ta.rsi(close, rsiLength)
// ADX
[diPlus, diMinus, adx] = ta.dmi(adxLength, adxLength)
// ———— 3. Simplified ML-like Component (Linear Regression) ————
var float predictedClose = na
sumX = math.sum(bar_index, mlLookback) // FIXED: Using math.sum()
sumY = math.sum(close, mlLookback) // FIXED: Using math.sum()
sumXY = math.sum(bar_index * close, mlLookback) // FIXED: Using math.sum()
sumX2 = math.sum(bar_index * bar_index, mlLookback)
slope = (mlLookback * sumXY - sumX * sumY) / (mlLookback * sumX2 - sumX * sumX)
intercept = (sumY - slope * sumX) / mlLookback
predictedClose := slope * bar_index + intercept
// ———— 4. Strategy Logic ————
mlBullish = predictedClose > close
mlBearish = predictedClose < close
enterLong = ta.crossover(rsi, 30) and adx > 25 and mlBullish
enterShort = ta.crossunder(rsi, 70) and adx > 25 and mlBearish
// ———— 5. Execute Orders ————
strategy.entry("Long", strategy.long, when=enterLong)
strategy.entry("Short", strategy.short, when=enterShort)
// ———— 6. Plotting ————
plot(predictedClose, "Predicted Close", color=color.purple)
plotshape(enterLong, "Buy", shape.triangleup, location.belowbar, color=color.green)
plotshape(enterShort, "Sell", shape.triangledown, location.abovebar, color=color.red)