
Strategi ini menggunakan indikator Brin Belt dan Random Indicator untuk mengenal pasti keadaan pasaran yang terlalu banyak membeli dan menjual, dan mencari peluang perdagangan di kawasan Brin Belt. Pada masa yang sama, menggunakan indikator purata jangkauan pergerakan yang benar untuk mengesan hentian, DYNAMIC TRAILING STOP menggunakan kaedah hentian dinamik yang dapat menyesuaikan kedudukan hentian secara fleksibel mengikut ketinggian turun naik pasaran, sehingga dapat mengelakkan penangguhan yang terlalu sensitif.
Strategi ini menggunakan panjang 20 dan standard deviasi 2 pada pita Brin untuk mengenal pasti sama ada harga menyentuh atas atau bawah. Mendekati bawah menunjukkan kemungkinan oversold, dan menyentuh atas mungkin overbought. Selain itu, strategi ini menggunakan rentang K dengan kitaran 14, D dengan kitaran rata 3 untuk menilai overbought dan oversold. Apabila harga penutupan berada di bawah pita Brin, dan nilai K acak adalah di bawah 20, ia menunjukkan oversold; apabila harga penutupan berada di atas pita Brin, dan nilai K acak adalah di atas 80, ia menunjukkan overbought dan oversold.
Selepas masuk, strategi ini menggunakan penunjuk julat pergerakan sebenar purata untuk mengesan hentian. Titik hentian adalah 1.5 kali ganda daripada ketinggian pergerakan sebenar purata, dan dapat menetapkan julat hentian mengikut tahap turun naik pasaran, untuk mengelakkan titik hentian terlalu dekat atau terlalu longgar.
Strategi ini mempunyai beberapa kelebihan:
Penggunaan gabungan Brinband dan penunjuk rawak untuk menilai keadaan overbought dan oversold, meningkatkan ketepatan menentukan masa perdagangan
Titik berhenti yang boleh disesuaikan secara dinamik untuk menetapkan jarak berhenti yang munasabah berdasarkan turun naik pasaran
Kaedah mengesan kemusnahan untuk mengelakkan kemusnahan terlalu dekat dan mudah
Peraturan strategi jelas, mudah difahami, dan mudah dilaksanakan
Strategi ini juga mempunyai risiko:
Brin Belt Up and Down Tracks tidak pasti 100 peratus bahawa harga akan berbalik, mungkin ada kemungkinan untuk terus beroperasi
Setting parameter penunjuk rawak yang tidak betul boleh menyebabkan isyarat yang salah
Penghentian pengesanan boleh menyebabkan jarak henti yang terlalu jauh dan melampaui jangkauan pergerakan pasaran yang munasabah.
addDynamic trailing stop mungkin lebih baik, dengan jarak trailing stop yang disesuaikan dengan turun naik pasaran
Strategi ini juga boleh dioptimumkan dengan cara berikut:
Uji kesan pelbagai parameter Brin pada hasil untuk mencari kombinasi parameter yang optimum
Uji parameter penunjuk rawak yang berbeza untuk meningkatkan prestasi penunjuk
Jarak hentian disesuaikan secara dinamik mengikut berapa kali hentian dipicu dan keuntungan
Menapis isyarat masuk ke dalam permainan, ditambah dengan petunjuk lain untuk meningkatkan kejayaan operasi
Menambah mekanisme kemasukan semula terhad untuk menangkap peluang trend pasaran
Strategi ini adalah berdasarkan kepada Brinband untuk mengenal pasti overbuy oversell, stochastic penunjuk untuk mengesahkan tambahan. Ia mempunyai kelebihan peraturan strategi yang jelas, cara menghentikan kerugian yang cukup fleksibel. Ia juga mempunyai risiko seperti kriteria penilaian yang tidak tepat, jarak berhenti yang tidak munasabah.
/*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)