Strategi ini menggunakan indikator Brin Belt dan Random Indicator untuk mengidentifikasi pasar overbought dan oversold, dan menemukan peluang perdagangan di sekitar Brin Belt. Selain itu, menggunakan indikator rata-rata real range untuk melacak stop loss, DYNAMIC TRAILING STOP menggunakan metode stop loss dinamis yang dapat menyesuaikan posisi stop loss secara fleksibel sesuai dengan volatilitas pasar, sehingga menghindari stop loss yang terlalu sensitif, sambil menjamin efek stop loss.
Strategi ini menggunakan panjang 20 dan standar deviasi 2 Bollinger Bands untuk mengidentifikasi apakah harga menyentuh uptrend atau downtrend. Menyentuh downtrend menunjukkan kemungkinan oversold, dan menyentuh uptrend mungkin overbought. Selain itu, strategi ini menggunakan indikator acak untuk menilai overbought dan oversold dengan siklus K-line 14, dan siklus D-value smoothing dengan siklus 3.
Setelah masuk, strategi ini melacak stop loss dengan menggunakan indikator rentang rata-rata fluktuasi riil. Stop loss adalah 1,5 kali lipat dari rentang fluktuasi riil rata-rata, dan dapat mengatur stop loss sesuai dengan tingkat fluktuasi pasar, menghindari stop loss terlalu dekat atau terlalu longgar.
Strategi ini memiliki beberapa keuntungan:
Penggunaan kombinasi pita Brin dan indikator acak untuk menilai overbought dan oversold, meningkatkan akurasi penentuan waktu transaksi
Stop loss yang dapat disesuaikan secara dinamis, dapat mengatur jarak stop loss yang wajar sesuai dengan tingkat fluktuasi pasar
Metode pelacakan stop loss agar stop loss tidak terlalu dekat dan tidak terlalu mudah terhenti
Peraturan kebijakan yang jelas, sederhana, dan mudah dipahami
Strategi ini juga memiliki beberapa risiko:
Brin Band Up & Down Tracks tidak bisa memastikan 100% bahwa harga akan berbalik, mungkin ada kemungkinan untuk melanjutkan operasinya.
Setting parameter indikator acak yang salah dapat menyebabkan sinyal yang salah
Penghentian pelacakan dapat menyebabkan stop loss yang terlalu jauh, di luar batas fluktuasi pasar yang wajar
addDynamic trailing stop mungkin lebih baik, dengan stop loss yang disesuaikan dengan pergerakan pasar
Strategi ini juga dapat dioptimalkan dari beberapa arah:
Uji pengaruh dari berbagai parameter Brin pada hasil, mencari kombinasi parameter yang optimal
Uji parameter indikator acak yang berbeda untuk meningkatkan efektivitas indikator
Stop loss yang diaktifkan secara dinamis sesuai dengan jumlah stop loss yang diaktifkan dan keuntungan yang diperoleh
Kombinasi dengan indikator lain untuk memfilter sinyal masuk, meningkatkan tingkat keberhasilan operasi
Menambahkan mekanisme re-entry stop loss untuk menangkap peluang tren pasar
Strategi ini didasarkan pada identifikasi overbought dan oversold dalam Brinband, dan dikonfirmasi oleh indikator stokastik. Strategi ini memiliki aturan yang jelas dan fleksibilitas yang wajar dalam cara menghentikan kerugian. Namun, ada risiko bahwa kriteria penilaian tidak akurat dan jarak berhenti yang tidak masuk akal.
/*backtest
start: 2024-01-01 00:00:00
end: 2024-01-31 23:59:59
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=5
strategy("Bollinger y Estocástico con Trailing Stop", overlay=true)
// Parámetros de entrada
lengthBB = input(20, title="Longitud BB")
stdDevBB = input(2, title="Desviación Estándar BB")
kLength = input(14, title="Longitud K Estocástico")
dLength = input(3, title="Longitud D Estocástico")
smooth = input(3, title="Suavizado Estocástico")
atrLength = input(14, title="Longitud ATR")
trailStopATRMultiple = input(1.5, title="Multiplicador ATR para Trailing Stop")
// Cálculos
[upperBB, basisBB, lowerBB] = ta.bb(close, lengthBB, stdDevBB)
stochK = ta.sma(ta.stoch(close, high, low, kLength), smooth)
atr = ta.atr(atrLength)
// Condiciones de trading
longCondition = close < lowerBB and stochK < 20
shortCondition = close > upperBB and stochK > 80
// Ejecutar operaciones
if (longCondition)
strategy.entry("Long", strategy.long)
if (shortCondition)
strategy.entry("Short", strategy.short)
// Trailing Stop
strategy.exit("Exit Long", from_entry="Long", trail_points=atr * trailStopATRMultiple, trail_offset=atr * trailStopATRMultiple)
strategy.exit("Exit Short", from_entry="Short", trail_points=atr * trailStopATRMultiple, trail_offset=atr * trailStopATRMultiple)