Strategi Pembalikan Gabungan Penunjuk RSI Purata Pergerakan Berganda


Tarikh penciptaan: 2023-11-10 18:01:09 Akhirnya diubah suai: 2023-11-10 18:01:09
Salin: 0 Bilangan klik: 773
1
fokus pada
1621
Pengikut

Strategi Pembalikan Gabungan Penunjuk RSI Purata Pergerakan Berganda

Gambaran keseluruhan

Strategi ini menggunakan gabungan garis rata-rata ganda, indikator kuat relatif ((RSI) dan indikator garis paralisis ((PSAR), untuk menilai titik perubahan harga, melakukan pembelian dan penjualan apabila titik perubahan berlaku, termasuk strategi perdagangan reversal.

Prinsip

Strategi ini digunakan untuk menentukan titik-titik perubahan harga berdasarkan indikator teknikal berikut:

  1. Garis rata ganda: mengira rata-rata bergerak cepat ((MA garis cepat) dan rata-rata bergerak perlahan ((MA garis perlahan)). Apabila melalui garisan perlahan pada garisan pantas, dinilai sebagai pasaran bertopeng, lakukan lebih banyak; apabila melalui garisan perlahan di bawah garisan pantas, dinilai sebagai pasaran kosong, lakukan kosong.

  2. RSI Indikator: RSI menilai keadaan overbought dan oversold dengan mengira purata kenaikan penutupan dan penurunan penutupan purata dalam jangka masa. RSI lebih besar daripada 70 adalah kawasan yang terlalu banyak dibeli dan lebih kecil daripada 30 adalah kawasan yang terlalu banyak dijual.

  3. Indeks PSAR: Indeks SAR garis paralisis menentukan arah trend. Di bawah titik SAR terdapat pasaran bertopeng, di atas terdapat pasaran kosong.

  4. Indikator ADX: ADX menilai kekuatan trend dengan mengira kekuatan arah perubahan harga. ADX lebih besar daripada 20 menunjukkan keadaan trend, dan kurang daripada 20 menunjukkan penyelesaian.

Logik pembelian dan penjualan berdasarkan indikator di atas adalah seperti berikut:

Isyarat beli: melalui garis perlahan pada garis cepat, RSI kurang daripada 30 (dalam kawasan oversold), titik SAR di atas harga, ADX lebih besar daripada 20, memberi isyarat beli.

Sinyal jual: RSI lebih besar daripada 70 (Zona Super Beli), titik SAR di bawah harga, ADX lebih besar daripada 20, memberi isyarat jual.

Apabila berlaku isyarat beli dan jual, masing-masing dengan 10% kedudukan binaan dan kedudukan kosong. Apabila isyarat pembalikan tidak berfungsi, hentikan kedudukan kosong tepat pada masanya.

Kelebihan

  • Menggunakan dua garis rata untuk menentukan arah trend besar, dan menambah petunjuk seperti RSI dan SAR untuk menghapuskan isyarat yang salah, anda boleh menentukan titik pembalikan dengan lebih tepat.

  • Menggunakan pelbagai kombinasi penilaian untuk mengelakkan isyarat salah yang disebabkan oleh satu petunjuk teknikal.

  • Tetapkan syarat-syarat berhenti kerugian untuk mengawal risiko dengan berkesan.

  • Operasi strategi mudah, jelas dan mudah dilaksanakan.

  • Strategi ini mempunyai pelbagai cara untuk menangani kejatuhan pasaran dan boleh digunakan dalam pelbagai situasi.

Risiko dan penyelesaian

  • Apabila dua garis rata menghasilkan isyarat kosong, keadaan mungkin berlaku palsu, perlu diadili dengan gabungan petunjuk lain. Anda boleh memanjangkan kitaran garis rata dengan sewajarnya, atau menambah petunjuk Brin untuk menilai keaslian penembusan.

  • Penunjuk RSI mungkin menghasilkan isyarat yang salah kerana parameter yang tidak betul. Parameter RSI harus diselaraskan dengan sewajarnya, sambil menambahkan indikator lain untuk mengesahkan isyarat RSI.

  • Apabila nilai ADX di bawah 20, perdagangan harus ditangguhkan untuk mengelakkan perdagangan berbalik di pasaran tanpa arah. Atau turunkan parameter kitaran ADX dengan sewajarnya.

  • SetStringry menetapkan titik berhenti yang terlalu kecil, yang boleh menyebabkan berhenti yang tidak perlu. Harus menetapkan titik berhenti yang munasabah berdasarkan tahap turun naik pasaran.

  • Frekuensi dagangan mungkin terlalu tinggi, boleh disesuaikan dengan baik untuk mengurangkan frekuensi dagangan.

Arah pengoptimuman

  • Uji kombinasi garis rata-rata untuk tempoh panjang yang berbeza untuk mencari parameter terbaik.

  • Uji set parameter RSI yang berbeza untuk mengoptimumkan penilaian overbought dan oversold.

  • Cuba tambahkan petunjuk lain seperti pita Brin, KDJ dan lain-lain untuk memperkaya logik penilaian isyarat jual beli.

  • Membuat mekanisme hentian kerugian dinamik mengikut varieti dan keadaan pasaran.

  • Menambah strategi untuk menguruskan kedudukan supaya keuntungan dapat mengikuti trend dengan lebih baik.

  • Uji parameter ADX yang berbeza untuk mencari nilai yang terbaik untuk menentukan kekuatan trend.

  • Tambahan Modul Penangguhan Otomatik untuk membolehkan strategi menghentikan kerugian secara automatik.

ringkaskan

Strategi ini menggunakan arah besar untuk menilai arah besar dengan menggunakan garis dua yang sama, menggabungkan RSI, SAR dan lain-lain penunjuk untuk menapis isyarat pembalikan, setelah parameter pengoptimuman ditetapkan, anda boleh menentukan titik pembalikan harga dengan berkesan, sehingga menangkap trend sebelum dan selepas pembalikan. Dalam saham, anda harus berhati-hati untuk mengawal risiko, menetapkan syarat-syarat henti rugi yang munasabah, dan terus mengoptimumkan parameter, menjadikan strategi lebih stabil dan keuntungan yang lebih tinggi. Secara keseluruhan, strategi ini digunakan bersama-sama dengan penunjuk silang, pemikiran yang jelas, mudah digunakan, merupakan strategi perdagangan pembalikan yang boleh dipercayai.

Kod sumber strategi
/*backtest
start: 2023-10-10 00:00:00
end: 2023-11-09 00:00:00
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=2
//Based on Senpai BO 3
strategy(title="Senpai_Strat_3", shorttitle="Senpai_Strat_3", overlay=false, default_qty_type=strategy.percent_of_equity, default_qty_value=100)
src = close

//psar
start = input(0.02)
increment = input(0.02)
maximum = input(0.2)
psar = sar(start, increment, maximum)


//ADX Init
adxlen = input(30, title="ADX Smoothing")	
dilen = input(30, title="DI Length")	
dirmov(len) =>	
	up = change(high)
	down = -change(low)
	truerange = rma(tr, len)
	plus = fixnan(100 * rma(up > down and up > 0 ? up : 0, len) / truerange)
	minus = fixnan(100 * rma(down > up and down > 0 ? down : 0, len) / truerange)
	[plus, minus]
	
adx(dilen, adxlen) => 	
	[plus, minus] = dirmov(dilen)
	sum = plus + minus
	adx = 100 * rma(abs(plus - minus) / (sum == 0 ? 1 : sum), adxlen)
	[adx, plus, minus]
	
[sig, up, down] = adx(dilen, adxlen)	


// BB Init
source = close
length = input(50, minval=1)
mult = input(0.5, title="Mult Factor", minval=0.001, maxval=50)
alertLevel=input(0.1)
impulseLevel=input(0.75)
showRange = input(false, type=bool)


//RSI CODE
up1 = rma(max(change(src), 0), 14)
down1 = rma(-min(change(src), 0), 14)
rsi = down1 == 0 ? 100 : up == 0 ? 0 : 100 - (100 / (1 + up1 / down1))


//BB CODE
basis = sma(source, length)
dev = mult * stdev(source, length)
upper = basis + dev
lower = basis - dev
bbr = source>upper?(((source-upper)/(upper-lower))/10): source<lower?(((source-lower)/(upper-lower))/10) : 0.05
bbi = bbr - nz(bbr[1]) 

//////////////////// Algo

//if (rsi>50 and n1>n2)
   //strategy.exit("Close", "Short")
  // strategy.entry("Long", strategy.long)
//if (rsi<50 and n2>n1)
   //strategy.exit("Close", "Long")
//   strategy.entry("Short", strategy.short)

//col = ma30 > ma50 > ma200 and rsi <=53?lime: ma50 < ma200  and rsi >= 60?red : silver
//short1 =  sig<18.5 and high>=upper and rsi>=70 and psar<close = 100%
//long1 = sig<18.5 and low<=lower and rsi<=30 and psar>close = 100%
short1 =  sig<18.5 and high>=upper and rsi>=70 and psar<close
long1 = sig<18.5 and low<=lower and rsi<=30 and psar>close

//Entry

long = long1[1] == 0 and long1 == 1
short = short1[1] == 0 and short1 == 1
longclose = long[3] == 1
shortclose = short[3] == 1
strategy.entry("short", strategy.short,qty = 10, when=short)
strategy.entry("long", strategy.long,qty=10, when=long)
strategy.close("long",when=longclose)
strategy.close("short",when=shortclose)



/////////////////////
///PLOT

plot(long,"long",color=green,linewidth=1)
plot(short,"short",color=red,linewidth=1)
plot(longclose,"close",color=blue,linewidth=1)
plot(shortclose,"close",color=orange,linewidth=1)


//plot(short,"short",color=red,linewidth=1)
//

//strategy.exit(id="long",qty = 100000,when=longclose)
//strategy.exit(id="short",qty = 100000,when=shortclose)

//strategy.exit(id="Stop", profit = 20, loss = 100)