Strategi ADX Pengesanan RSI

Penulis:ChaoZhang, Tarikh: 2023-10-10 10:32:48
Tag:

Ringkasan

Strategi RSI Tracking ADX adalah strategi trend berikut yang menggabungkan penunjuk RSI dan penunjuk ADX. Ia menggunakan penunjuk RSI untuk menentukan keadaan overbought dan oversold, dan penunjuk ADX untuk mengukur kekuatan trend, membolehkan entri semasa trend menaik apabila tidak overbought dan keluar apabila trend melemah atau menjadi overbought.

Logika Strategi

Strategi ini terutamanya menggunakan gabungan penunjuk RSI dan penunjuk ADX untuk menentukan kemasukan dan keluar.

Syarat kemasukan:

  1. SMA 20 hari meningkat;

  2. ADX meningkat lebih daripada 0.2 daripada hari sebelumnya, menunjukkan trend penguatan;

  3. RSI di bawah 85 untuk mengelakkan keadaan overbought;

Atau:

  1. SMA 20 hari meningkat;

  2. ADX meningkat tetapi kurang daripada 0.2, menunjukkan trend ringan;

  3. RSI di bawah 50, ruang untuk rebound.

Syarat keluar:

  1. RSI di atas 75, keadaan overbought;

  2. ADX kenaikan ringan, trend lemah;

Atau:

  1. RSI di atas 75, keadaan overbought;

  2. ADX meningkat tajam, trend yang kuat;

Atau:

SMA 20 hari menurun.

Strategi ini menggunakan RSI untuk overbought/oversold dan ADX untuk trend untuk memasuki semasa trend menaik apabila tidak overbought dan keluar apabila overbought atau trend melemah.

Kelebihan

Kelebihan utama strategi ini ialah:

  1. Menggabungkan RSI dan ADX membolehkan trend yang lebih tepat dan bacaan overbought / oversold untuk kemasukan dan keluar yang lebih baik.

  2. ADX mengukur kekuatan trend untuk mengelakkan keluar whipsaw semasa penyatuan.

  3. RSI menggunakan parameter longgar untuk mengikuti trend jangka sederhana hingga panjang dan mengurangkan perdagangan berlebihan.

  4. Logik yang mudah dan pelaksanaan mudah, sesuai untuk pegangan jangka panjang.

  5. Parameter yang boleh dikonfigurasikan membolehkan fleksibiliti.

Risiko

Risiko utama ialah:

  1. Lag ADX mungkin terlepas titik perubahan trend yang membawa kepada kerugian yang lebih besar.

  2. Stop loss boleh mencetuskan lewat semasa penurunan harga seperti tebing, memperbesar kerugian.

  3. Parameter RSI yang terlalu longgar boleh menyebabkan pegangan terlalu lama.

  4. Parameter ADX yang terlalu sensitif boleh salah mencetuskan keluar semasa trend lemah.

  5. Stok boleh berperilaku tidak normal semasa perubahan rejim pasaran.

Pengurusan Risiko:

  1. Gunakan tempoh ADX yang lebih pendek untuk kepekaan.

  2. Stop loss yang lebih ketat untuk mengehadkan kerugian.

  3. Memendekkan tempoh RSI untuk mengelakkan pegangan yang terlalu banyak dibeli.

  4. Elakkan parameter ADX yang terlalu sensitif.

  5. Menghapuskan secara manual semasa perubahan pasaran yang signifikan.

Peningkatan

Strategi ini boleh dioptimumkan dengan:

  1. Ujian tempoh RSI untuk parameter yang lebih baik.

  2. Mengoptimumkan tempoh ADX untuk keupayaan menangkap trend.

  3. Menambah penunjuk lain seperti MACD untuk pengesahan.

  4. Ujian gabungan purata bergerak untuk meningkatkan entri.

  5. Menambah mengambil keuntungan dan menghentikan kerugian untuk meningkatkan nisbah risiko-balasan.

  6. Menghakimi sistem pasaran untuk secara manual mengesampingkan pada titik perubahan.

Kesimpulan

RSI Tracking ADX adalah strategi yang berkesan namun mudah mengikut trend. Ia menggabungkan kekuatan RSI dan ADX untuk analisis trend dan overbought / oversold yang tepat. Logiknya mudah dan mudah dilaksanakan dengan fleksibiliti pengoptimuman.


/*backtest
start: 2022-10-03 00:00:00
end: 2023-10-09 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//Copyright by Reed Asset Management registered in Shanghai, China
//该策略为上海蘆田资产管理有限公司制
//@version=2
strategy("[蘆田策略]ADX+RSI", overlay=true)

//ADX
adxlen = input(14, title="ADX Smoothing")
dilen = input(14, 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)

sig = adx(dilen, adxlen)

plot(sig, color=red, title="ADX")

//ADX+RSI Strategy Long Entry
longEntry1 = sma(close, 20) > sma(close, 20)[1] //check if the ADX is rising
longEntry2 = (adx(14, 14) - adx(14, 14)[1]) > 0.2
longEntry3 = rsi(close, 14) < 85
longEntry4 = (adx(14, 14) - adx(14, 14)[1]) > 0
longEntry5 = (adx(14, 14) - adx(14, 14)[1] ) < 0.2
longEntry6 = rsi(close, 14) < 50

longCondition1 = longEntry1 and longEntry2 and longEntry3
longCondition2 = longEntry1 and longEntry4 and longEntry5 and longEntry6
if(longCondition1 or longCondition2)
    strategy.entry("long", strategy.long)

//ADX+RSI Strategy Long Exit
longExit1 = rsi(close, 9) > 75
longExit2 = (adx(14, 14) - adx(14, 14)[1]) > 0
longExit3 = (adx(14, 14) - adx(14, 14)[1] ) < 0.2
longExit4 = (adx(14, 14) - adx(14, 14)[1]) > 0.2
longExit5 = sma(close, 20) < sma(close,20)[1]

longExitCondition1 = longExit1 and longExit2 and longExit3
longExitCondition2 = longExit1 and longExit4
longStop1 = strategy.position_avg_price + 4 * tr
longExitCondition3 = longExit5
longStop2 = sma(close, 20)

strategy.close_all(when = longExitCondition1)
if (longExitCondition2)
    strategy.exit("exit", "long", stop = longStop1)
if (longExitCondition3)
    strategy.exit("exit", "long", stop = longStop2)
    

//Strategy


Lebih lanjut