
Strategi ini adalah sistem perdagangan pelacakan tren yang menggabungkan indikator tren rata-rata ((ADX) dan indikator stop loss bergeser parallax ((SAR)). Sistem ini mengukur kekuatan tren melalui ADX, menggunakan SAR untuk mengkonfirmasi arah tren, sehingga menangkap peluang perdagangan di pasar tren yang kuat. Sistem ini menggunakan mekanisme konfirmasi ganda, baik untuk memastikan keberadaan tren, dan memverifikasi keandalan tren.
Logika inti dari strategi ini didasarkan pada beberapa komponen utama:
Kondisi pemicu sinyal perdagangan adalah sebagai berikut:
Saran pengendalian risiko:
Masukkan parameter penyesuaian indikator volatilitas
Pengoptimalan mekanisme pertandingan
Meningkatkan filter lingkungan pasar
Manajemen posisi yang lebih baik
Strategi ini, dengan menggabungkan indikator ADX dan SAR, membangun sistem pelacakan tren yang solid. Keuntungan utama dari strategi ini adalah mekanisme konfirmasi ganda dan pengaturan stop loss yang dinamis, tetapi mungkin tidak berkinerja baik di pasar yang bergoyang. Dengan pengoptimalan parameter yang masuk akal dan kontrol risiko, strategi ini dapat berkinerja baik di lingkungan pasar yang jelas tren.
/*backtest
start: 2019-12-23 08:00:00
end: 2024-12-10 08:00:00
period: 1d
basePeriod: 1d
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/
// © traderhub
//@version=5
strategy("Trend Following ADX + Parabolic SAR", overlay=true)
// Strategy parameters
adxLength = input(14, title="ADX Period")
adxThreshold = input(25, title="ADX Threshold")
adxSmoothing = input(14, title="ADX Smoothing")
sarStart = input(0.02, title="Parabolic SAR Start") // Starting acceleration factor
sarIncrement = input(0.02, title="Parabolic SAR Increment") // Increment step
sarMax = input(0.2, title="Parabolic SAR Max") // Maximum acceleration factor
// Calculate ADX, DI+, and DI-
[diPlus, diMinus, adx] = ta.dmi(adxLength, adxSmoothing)
// Parabolic SAR calculation
sar = ta.sar(sarStart, sarIncrement, sarMax)
// Conditions for a long position
longCondition = adx > adxThreshold and diPlus > diMinus and close > sar
// Conditions for a short position
shortCondition = adx > adxThreshold and diMinus > diPlus and close < sar
// Enter a long position
if (longCondition)
strategy.entry("Long", strategy.long)
// Enter a short position
if (shortCondition)
strategy.entry("Short", strategy.short)
// Close position on reverse signal
if (strategy.position_size > 0 and shortCondition)
strategy.close("Long")
if (strategy.position_size < 0 and longCondition)
strategy.close("Short")
// Plot indicators on the chart
plot(sar, color=color.blue, style=plot.style_circles, linewidth=2, title="Parabolic SAR")
plot(adx, color=color.red, title="ADX")
hline(adxThreshold, "ADX Threshold", color=color.green)