Strategi Pelacakan Tren Berdasarkan Multi-Indikator

Penulis:ChaoZhang, Tanggal: 2023-11-23 15:43:02
Tag:

img

Gambaran umum

Strategi ini mengidentifikasi tren dengan menggabungkan beberapa indikator seperti RSI, MA, EMA dan Bollinger Bands untuk menerapkan pelacakan tren.

Prinsip

Logika inti dari strategi ini adalah untuk mengidentifikasi tren harga dengan menggabungkan RSI, MA, EMA dan Bollinger Bands. Secara khusus, secara bersamaan memetakan dua garis MA, yang satu ditetapkan menjadi 10 periode dan yang lainnya ditetapkan menjadi 5 periode. Pada saat yang sama, dua garis EMA digambar dengan parameter masing-masing 30 dan 20. Parameter indikator RSI ditetapkan menjadi 7.

Ketika harga penutupan menembus di bawah garis MA 5 periode, garis EMA 20 periode dan rel bawah, sementara indikator RSI menembus di bawah garis 25 overbought, strategi menilai bahwa harga relatif naik dan akan memasuki posisi panjang.

Sebaliknya, ketika harga penutupan melanggar di atas garis MA 10 periode, garis EMA 30 periode dan rel atas, sementara indikator RSI melanggar di atas garis oversold 75, strategi menilai bahwa harga relatif menurun dan akan memasuki posisi pendek.

Seperti yang Anda lihat, strategi ini mengidentifikasi tren potensial dengan menggabungkan logika harga melanggar rata-rata bergerak dan pembalikan indikator RSI, dan kemudian melacak tren itu.

Analisis Keuntungan

Keuntungan terbesar dari strategi ini adalah bahwa ia menggunakan beberapa indikator untuk mengidentifikasi tren, yang dapat secara efektif mengurangi sinyal palsu. Secara khusus, harga harus menembus rata-rata bergerak dan Bollinger Bands secara bersamaan untuk memicu sinyal perdagangan, dan indikator RSI juga harus mengalami pergantian Langarde, yang menyaring banyak kebisingan.

Selain itu, strategi ini melacak tren yang relatif jelas daripada kebisingan jangka pendek, yang juga meningkatkan probabilitas keuntungan. Secara umum, strategi ini memiliki keuntungan seperti konfigurasi yang fleksibel, kesulitan menjadi arbitrase, dan probabilitas keuntungan yang tinggi.

Analisis Risiko

Perlu dicatat bahwa tidak ada strategi yang bisa 100% menguntungkan, dan strategi ini bukan pengecualian. Risiko utama adalah bahwa penilaian gabungan dari beberapa indikator salah, menghasilkan perdagangan yang salah. Selain itu, peristiwa mendadak juga dapat membatalkan strategi.

Untuk mengurangi risiko, parameter indikator dapat disesuaikan dengan tepat untuk mengoptimalkan profitabilitas. Selain itu, menetapkan titik stop loss untuk mengendalikan kerugian tunggal juga sangat diperlukan. Tentu saja, risiko sistemik yang tak terelakkan membutuhkan persiapan psikologis dari investor.

Optimalisasi

Optimalisasi utama untuk strategi ini adalah:

  1. Uji kombinasi dari lebih banyak jenis indikator untuk menemukan kombinasi multi-indikator yang lebih baik;

  2. Mengoptimalkan parameter indikator untuk meningkatkan stabilitas strategi;

  3. Meningkatkan model pembelajaran mesin untuk membantu penilaian dan meningkatkan akurasi;

  4. Meningkatkan mekanisme stop-loss adaptif untuk mengendalikan risiko;

  5. Optimasi backtest untuk meningkatkan stabilitas dan profitabilitas.

Kesimpulan

Strategi ini dirancang seperangkat mekanisme pelacakan yang relatif naik berdasarkan RSI, MA, EMA dan Bollinger Bands, dan memasuki posisi arah setelah menilai tren harga dengan menggabungkan beberapa indikator. Integrasi beberapa indikator untuk menilai dapat secara efektif mengurangi kemungkinan penilaian yang salah dan menyaring kebisingan sampai batas tertentu, melacak tren yang relatif jelas. Tentu saja, manajemen risiko juga membutuhkan perhatian. Secara keseluruhan, strategi ini memiliki ruang optimasi yang besar, dan dapat mencapai hasil yang lebih baik dengan pembelajaran mesin dan cara lain.


/*backtest
start: 2022-11-16 00:00:00
end: 2023-11-22 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/
// © lepstick-TC
//@version=4
strategy("1", overlay=true)
length = input(5, minval=1)
src = input(close, title="Source")
mult = input(1.5, minval=0.001, maxval=50)
basis = sma(src, length)
dev = mult * stdev(src, length)
upper = basis + dev
lower = basis - dev
plot(basis, color=color.red)
p1 = plot(upper, color=color.blue)
p2 = plot(lower, color=color.blue)
fill(p1, p2)
rsicok=input(75,minval=0,title="Rsi yüksek")
rsiaz=input(25,maxval=50,title="Rsi düşük")
rsizaman=input(7,minval=0,title="Rsi zaman")
smadeger=input(10,minval=0,title="Ma üst")
smadeger2=input(5,minval=0,title="Ma alt")
emadeger=input(30,minval=0,title="Ema üst")
emadeger2=input(20,minval=0,title="Ema alt")
myrsi=rsi(close,rsizaman)
myrsi2=rsi(close,rsiaz)
myrsi3=rsi(close,rsicok)
myma=sma(close,smadeger)
myma2=sma(close,smadeger2)
myema=ema(close,emadeger)
myema2=ema(close,emadeger2)
mycond =myrsi >rsicok and close> myma and close>myema
mycond2=myrsi<rsiaz and close<myma2 and close<myema2
barcolor(mycond? #2196F3: na)
barcolor(mycond2? #FF9800: na)
plot(myma,title="Ma yüksek",color=color.black,linewidth=0)
plot(myma2,title="Ma düşük",color=color.blue,linewidth=0)
plot(myema,title="Ema yüksek",color=color.yellow,linewidth=0)
plot(myema2,title="Ema düşük",color=color.gray,linewidth=0)
idunno =close< sma(close,smadeger2) and close < sma(close,smadeger) and close<ema(close,emadeger)and close<ema(close,emadeger2)and crossunder(close,lower)and crossunder(myrsi,myrsi2)and crossunder(close,basis) 
plotchar(idunno,char="A",color=#808000 ,location=location.belowbar) 
idunno2 =close> sma(close,smadeger2) and close> sma(close,smadeger) and close>ema(close,emadeger)and close>ema(close,emadeger2)and crossover(close,upper)and crossover(myrsi,myrsi3)and crossover(close,basis)
plotchar(idunno2,char="S",color=#787B86 ,location=location.abovebar)
strategy.entry("Al",true,when =idunno)
strategy.entry("Sat",false,when = idunno2)
strategy.close("Al",when=ema(close,emadeger)and crossover(open,upper))
strategy.close("Sat",when=sma(close,smadeger2)and crossunder(open,lower))
//strategy.exit("Al çıkış","Al",limit=upper)
//strategy.exit("Sat çıkış","Sat",limit=lower)
//strategy.exit("Al çıkış","Al",trail_points=close*0.1/syminfo.mintick,trail_offset=close*0.005/syminfo.mintick)
//strategy.exit("Sat çıkış","Sat",trail_points=close*0.1/syminfo.mintick,trail_offset=close*0.005/syminfo.mintick)


Lebih banyak