
Ringkasan: Strategi ini adalah strategi untuk melakukan tindakan harga yang pecah dengan menggunakan saluran Brin, indikator KDJ, dan pelacakan tren. Ini dapat melakukan pembelian dan penjualan pada titik pecah, dan mengatur stop loss untuk mengendalikan risiko.
Prinsip-prinsip Strategi:
- Perhitungan rata-rata bergerak sederhana 15 dan 30 hari untuk menilai tren harga.
- Perhitungan tren naik dan turun Brin, dan kombinasi dengan entitas K-line yang menerobos tren naik dan turun Brin untuk menentukan waktu pembelian dan penjualan.
- Kombinasi dengan indikator acak RSI untuk menentukan apakah overbought atau oversold. RSI lebih besar dari 50 adalah sinyal overbought, RSI lebih kecil dari 50 adalah sinyal oversold.
- Sebuah sinyal beli dihasilkan ketika harga naik menerobos saluran Brin dan RSI lebih besar dari 50; Sebuah sinyal jual dihasilkan ketika harga turun menerobos saluran Brin dan RSI kurang dari 50.
- Atur Stop Loss ATR untuk mengendalikan risiko.
Analisis Keunggulan:
- Strategi ini mengintegrasikan beberapa indikator seperti saluran Brin, RSI, dan lain-lain untuk menentukan sinyal perdagangan, yang dapat secara efektif menghindari kesalahan sinyal perdagangan yang disebabkan oleh satu indikator.
- Dengan menggunakan penilaian tren, menghindari sinyal perdagangan yang salah dalam perhitungan dan pembalikan.
- Atur Stop Loss ATR untuk mengendalikan risiko setiap unit.
- Operasi strategi yang jelas dan sederhana, mudah dipahami dan diterapkan.
Risiko dan perbaikan:
- Bollinger Bands sebagai indikator garis besar, yang naik dan turun tidak mutlak dukungan dan resistance, harga mungkin terjadi setelah pecah naik dan turun di mana stop loss yang ditembus. Anda dapat mengatur titik stop loss yang lebih longgar, atau menggunakan strategi stop loss lainnya, seperti waktu stop loss.
- Indikator RSI mungkin tidak berlaku di beberapa pasar. Anda dapat mempertimbangkan untuk menggabungkannya dengan indikator lain seperti KDJ, MACD, dan lain-lain untuk membuat penilaian overbought dan oversold yang lebih andal.
- Dalam pasar reversal dan konsolidasi, mudah untuk menghasilkan sinyal yang salah. Anda dapat mempertimbangkan untuk menambahkan filter tren dan hanya terlibat dalam operasi jika tren jelas.
Saran untuk Optimasi:
- Uji dan optimalkan jumlah siklus dan parameter standar deviasi saluran Brin, sehingga lebih sesuai dengan karakteristik varietas yang berbeda.
- Uji dan optimalkan parameter siklus RSI.
- Uji strategi stop loss lainnya, seperti stop loss tracking, stop loss time, dan lain sebagainya.
- Dengan lebih banyak indikator penilaian tren dan indikator sinyal, model multi-faktor dibangun.
Kesimpulannya:
Strategi ini mengintegrasikan beberapa indikator, seperti saluran Brin, RSI, dan lain-lain untuk menentukan waktu pembelian dan penjualan, dan juga mengatur stop loss untuk mengendalikan risiko, sambil memastikan akurasi sinyal perdagangan tertentu. Namun, optimasi parameter untuk varietas tertentu masih diperlukan untuk membuat sinyal lebih akurat dan dapat diandalkan. Selain itu, Anda juga dapat mempertimbangkan untuk menambahkan lebih banyak faktor untuk membangun multifaktor.
Kode Sumber Strategi
/*backtest
start: 2023-12-01 00:00:00
end: 2023-12-31 23:59:59
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=4
strategy("Custom Strategy", overlay=true)
length = 14
mult = 0.75
atr = atr(length) * mult
// Moving averages
ma15 = sma(close, 15)
ma30 = sma(close, 30)
// Bullish Engulfing pattern
bullishEngulfing = close[1] < open[1] and close > open and close[1] < open and close > open[1]
// Bearish Engulfing pattern
bearishEngulfing = close[1] > open[1] and close < open and close[1] > open and close < open[1]
// RSI
rsi = rsi(close, length)
// Buy condition
if (bullishEngulfing and close[1] > ma15 and rsi > 50)
strategy.entry("Buy", strategy.long)
strategy.exit("Sell", "Buy", stop=close - atr)
// Sell condition
if (bearishEngulfing and close[1] < ma15 and rsi < 50)
strategy.entry("Sell", strategy.short)
strategy.exit("Cover", "Sell", stop=close + atr)
// Plotting
plotshape(series=strategy.position_size > 0, title="Buy", location=location.belowbar, color=color.green, style=shape.labelup, text="Buy")
plotshape(series=strategy.position_size < 0, title="Sell", location=location.abovebar, color=color.red, style=shape.labeldown, text="Sell")