
Strategi ini menggunakan indikator Brin Belt untuk menentukan arah tren saat ini, dan dikombinasikan dengan rata-rata bergerak indeks untuk manajemen stop loss dan stop loss untuk menangkap tren secara efektif.
Strategi ini pertama-tama menghitung garis tengah, garis atas dan garis bawah di Brin. Garis tengah adalah rata-rata bergerak sederhana dari harga penutupan n hari, dengan dua standar deviasi di atas dan di bawah garis tengah. Ketika harga penutupan lebih tinggi dari garis atas, menunjukkan bahwa pasar berada dalam tren bullish; Ketika harga penutupan lebih rendah dari garis bawah, menunjukkan bahwa pasar berada dalam tren bullish.
Strategi ini digunakan untuk menilai arah tren saat ini dengan membandingkan hubungan antara harga close-out dan Bollinger Bands up and down. Jika harga close-out menembus uptrend, lakukan over; jika harga close-out menembus downtrend, lakukan over.
Selain itu, strategi ini juga memperkenalkan Indeks Moving Average sebagai trailing stop untuk stop loss. Secara khusus, jika Anda melakukan lebih banyak, harga akan kembali ke bawah, dan stop loss akan bergerak di bawahnya, sehingga stop loss akan semakin ketat, dan maksimal mengunci keuntungan. Jika harga terus naik, stop loss juga akan bergerak ke atas, sehingga keuntungan terus berjalan.
Strategi ini menggabungkan arah tren yang ditentukan oleh Brin dan EMA untuk pengelolaan stop loss dan memiliki keuntungan sebagai berikut:
Dengan menggunakan Brinband, Anda dapat secara efektif menilai arah tren dan bereaksi cepat terhadap terobosan.
Stop loss yang didasarkan pada EMA, dapat mengunci keuntungan maksimal, mengendalikan risiko sambil menjamin keuntungan.
Strategi memiliki sedikit parameter, mudah diterapkan. Brin memiliki satu parameter, EMA satu parameter, sangat ringkas.
Dapat digunakan secara luas untuk berbagai varietas, memiliki kemampuan adaptasi yang sangat kuat.
Strategi ini juga memiliki beberapa risiko yang perlu diperhatikan:
Brin menambahkan bahwa downtrend tidak dapat sepenuhnya menghindari risiko false breakout.
Pengaturan parameter EMA perlu diuji dengan hati-hati sesuai dengan varietas tertentu. Periode EMA yang terlalu pendek dapat meningkatkan jumlah stop loss, dan terlalu lama mengurangi efek pelacakan.
Perhatian harus diberikan untuk menghindari overoptimisasi. Terlalu banyak kombinasi antara Brin dan EMA dapat menyebabkan overfit.
Untuk mengatasi dan mengoptimalkan risiko, pertimbangkan:
Meningkatkan volume transaksi atau indikator seperti MACD, memfilter sinyal palsu.
Untuk melakukan pengujian optimasi pada siklus EMA, pilih parameter yang lebih cocok untuk varietas tertentu.
Cobalah untuk menjaga parameter Brin dan EMA tetap stabil untuk menghindari risiko overfitting yang disebabkan oleh optimasi berlebihan.
Indikator seperti RSI dapat dipertimbangkan dalam jangka menengah tren untuk menentukan apakah posisi harus disesuaikan.
Strategi ini mengintegrasikan penilaian tren Brin dengan EMA untuk pengelolaan stop loss, membentuk sistem pelacakan tren yang lebih lengkap. Strategi ini dapat menangkap arah tren dengan cepat dan mengunci keuntungan dengan terus menyesuaikan garis stop loss. Secara keseluruhan, strategi ini sederhana dan praktis, kuat dalam adaptasi, layak untuk diuji dan dioptimalkan lebih lanjut.
/*backtest
start: 2022-11-10 00:00:00
end: 2023-11-16 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
// This source code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/
// © zxcv55602
//@version=4
strategy(shorttitle=" BB+EMA", title="Bollinger Bands", overlay=true)
date1 = input(title="Start Date", type=input.time, defval=timestamp("2020-01-01T00:00:00"))
date2 = input(title="Stop Date", type=input.time, defval=timestamp("2030-01-01T00:00:00"))
length = input(40, minval=1)
src = input(close, title="Source")
mult = input(2.0,title="StdDev",step=0.1)
basis = sma(src, length)
dev = mult * stdev(src, length)
upper = basis + dev
lower = basis - dev
//offset = input(0, "Offset", minval = -500, maxval = 500)
offset=0
stopcon=input(title="stopcon/lot", type=input.bool, defval=true)
lot1=input(title="lot",defval=1)
stoploss=input(title="stopcon",defval=1000)
emacon=input(title="emacon", type=input.bool, defval=true)
ema_value=input(title="value",defval=30, minval=2,step=1)
plot(basis, "Basis", color=#FF6D00, offset = offset)
p1 = plot(upper, "Upper", color=color.new(color.blue,50), offset = offset)
p2 = plot(lower, "Lower", color=color.new(color.blue,50), offset = offset)
ema1=ema(close,ema_value)
plot(ema1, "SMA", color=#2962FF)
period() => true
//-----------
if period()
if strategy.opentrades==0 and ema1<upper
if close>upper
lot_L=stoploss/((close-lower)/2)
strategy.entry("OP_L",strategy.long,qty=stopcon==true?lot_L:lot1,stop=emacon==true?max(basis,ema1):basis)
if strategy.opentrades==0 and ema1>lower
if close<lower
lot_S=stoploss/((upper-close)/2)
strategy.entry("OP_S",strategy.short,qty=stopcon==true?lot_S:lot1,stop=emacon==true?min(basis,ema1):basis)
if strategy.position_size>0
strategy.exit("OP_L",stop=emacon==true?max(basis,ema1):basis,comment="exit_L")
if strategy.position_size<0
strategy.exit("OP_S",stop=emacon==true?min(basis,ema1):basis,comment="exit_S")