Strategi Pengesanan Trend Berdasarkan Multi-Indikator

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

img

Ringkasan

Strategi ini mengenal pasti trend dengan menggabungkan beberapa penunjuk seperti RSI, MA, EMA dan Bollinger Bands untuk melaksanakan pengesanan trend. Apabila trend menurun yang relatif meningkat dikenal pasti, strategi akan menubuhkan kedudukan panjang. Sebaliknya, apabila trend naik yang relatif menurun dikenal pasti, strategi akan menubuhkan kedudukan pendek.

Prinsip

Logik teras strategi ini adalah untuk mengenal pasti trend harga dengan menggabungkan RSI, MA, EMA dan Bollinger Bands. Khususnya, ia secara serentak merangka dua garis MA, satu ditetapkan kepada 10 tempoh dan yang lain ditetapkan kepada 5 tempoh. Pada masa yang sama, dua garis EMA digambar dengan parameter masing-masing 30 dan 20. Parameter penunjuk RSI ditetapkan kepada 7.

Apabila harga penutupan menembusi di bawah garis MA 5 tempoh, garis EMA 20 tempoh dan rel bawah, sementara penunjuk RSI menembusi di bawah garis overbought 25, strategi menilai bahawa harga agak meningkat dan akan memasuki kedudukan panjang.

Sebaliknya, apabila harga penutupan memecahkan di atas garis MA 10 tempoh, garis EMA 30 tempoh dan rel atas, sementara penunjuk RSI memecahkan di atas garis oversold 75, strategi menilai bahawa harga agak menurun dan akan memasuki kedudukan pendek.

Seperti yang anda lihat, strategi ini mengenal pasti trend yang berpotensi dengan menggabungkan logik harga memecahkan purata bergerak dan pembalikan penunjuk RSI, dan kemudian mengesan trend itu.

Analisis Kelebihan

Kelebihan terbesar strategi ini adalah bahawa ia menggunakan beberapa penunjuk untuk mengenal pasti trend, yang dapat mengurangkan isyarat palsu dengan berkesan. Khususnya, harga mesti menembusi purata bergerak dan Bollinger Bands secara serentak untuk mencetuskan isyarat perdagangan, dan penunjuk RSI juga mesti menjalani perubahan Langarde, yang menapis banyak bunyi bising.

Di samping itu, strategi ini menjejaki trend yang agak jelas dan bukannya bunyi bising jangka pendek, yang juga meningkatkan kebarangkalian keuntungan. Secara umum, strategi ini mempunyai kelebihan seperti konfigurasi yang fleksibel, kesukaran menjadi arbitrase, dan kebarangkalian keuntungan yang tinggi.

Analisis Risiko

Perlu diperhatikan bahawa tidak ada strategi yang boleh menjadi 100% menguntungkan, dan strategi ini tidak terkecuali. Risiko utama adalah bahawa penilaian gabungan beberapa penunjuk salah, mengakibatkan perdagangan yang salah. Di samping itu, peristiwa tiba-tiba juga boleh membatalkan strategi.

Untuk mengurangkan risiko, parameter penunjuk boleh diselaraskan dengan sewajarnya untuk mengoptimumkan keuntungan. Di samping itu, menetapkan titik stop loss untuk mengawal kerugian tunggal juga sangat diperlukan. Sudah tentu, risiko sistem yang tidak dapat dielakkan memerlukan persediaan psikologi dari pelabur.

Pengoptimuman

Pengoptimuman utama untuk strategi ini adalah:

  1. Uji kombinasi lebih banyak jenis penunjuk untuk mencari kombinasi pelbagai penunjuk yang lebih baik;

  2. Mengoptimumkan parameter penunjuk untuk meningkatkan kestabilan strategi;

  3. Meningkatkan model pembelajaran mesin untuk membantu pertimbangan dan meningkatkan ketepatan;

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

  5. Pengoptimuman uji balik untuk meningkatkan kestabilan dan keuntungan.

Kesimpulan

Strategi ini direka satu set mekanisme penjejakan yang agak menaik berdasarkan RSI, MA, EMA dan Bollinger Bands, dan memasuki kedudukan arah selepas menilai trend harga dengan menggabungkan beberapa penunjuk. Integrasi beberapa penunjuk untuk menilai dapat mengurangkan kemungkinan salah menilai dan menapis bunyi bising dengan berkesan hingga tahap tertentu, mengesan trend yang agak jelas. Sudah tentu, pengurusan risiko juga memerlukan perhatian. Secara keseluruhan, strategi ini mempunyai ruang pengoptimuman 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 lanjut