
Strategi jangka masa berbilang jangka masa yang berlawanan dengan rata-rata RSI Fischer adalah strategi perdagangan kuantitatif yang cuba mencari titik-titik perubahan yang mungkin berlaku di pasaran dengan mengira purata bergerak RSI yang disesuaikan secara terbalik pada jangka masa yang lebih tinggi.
Strategi ini mula mengira RSI umum dengan parameter RSI_pm mewakili jangka masa untuk mengira RSI. Kemudian, RSI asal disesuaikan secara terbalik dengan fungsi matematik IF, dengan formula IF ((input) => ((exp)) 2*input)-1)/(exp(2*input) + 1) ◦ RSI yang disesuaikan dihantar ke IF_RSI。
Untuk menyaring bunyi bising yang berlebihan, strategi ini digunakan di IF_RSI dan kemudian dihitung semula pada RSI_ps purata bergerak kitaran, yang akan menjadi penunjuk akhir untuk menentukan titik jual beli wma_RSI. Indeks ini dipetakan semula ke dalam julat 0-100
Akhirnya, strategi menggambar indikator pada bingkai masa yang lebih tinggi dan menetapkan garis had 0.8 dan -0.8. Apabila garis indikator melangkaui tahap 0.8 dari bawah ke atas, ia menghasilkan isyarat beli; apabila garis indikator melangkaui tahap -0.8 dari atas ke bawah, ia menghasilkan isyarat jual.
Strategi ini menangani pergerakan RSI dengan cara penyejukan ganda, yang dapat menyaring kebisingan yang berlebihan dan mengunci isyarat pembalikan yang lebih jelas. Penyelesaian ganda digunakan pada RSI asal dan RSI selepas penyesuaian nilai mutlak. Kaedah ini dapat meningkatkan ciri-ciri pulangan purata indikator dan menghasilkan isyarat perdagangan yang lebih dipercayai.
Selain itu, strategi ini menggunakan kaedah analisis pelbagai kerangka masa untuk mengenal pasti penembusan penunjuk pada kerangka masa yang lebih tinggi, yang dapat mengunci peluang pembalikan pada garis panjang dan mengelakkan gangguan oleh bunyi pasaran jangka pendek yang berlebihan.
Strategi ini bergantung kepada penunjuk garis rata untuk menentukan titik jual beli, terdapat sedikit ketinggalan. Dalam pasaran lembu jangka panjang, ruang untuk naik mungkin terhad selepas penyesuaian penunjuk dan tidak dapat menangkap peluang trend sepenuhnya.
Sebaliknya, penyesuaian penunjuk juga mungkin kehilangan peluang untuk bangkit selepas penyesuaian garis pendek. Jika parameter penunjuk tidak dioptimumkan dengan betul, anda mungkin menghadapi risiko strategi tertentu.
Anda boleh cuba menyesuaikan parameter penunjuk dengan betul agar ia lebih sesuai dengan keadaan pasaran. Contohnya, anda boleh menguji kitaran pengiraan RSI yang berbeza, parameter kitaran lancar, mencari kombinasi parameter terbaik.
Anda juga boleh mempertimbangkan untuk menggabungkan dengan petunjuk lain untuk mengesahkan isyarat, meningkatkan kestabilan strategi. Contohnya, anda boleh memasukkan petunjuk jumlah transaksi, garis Brin dan lain-lain untuk menilai kekuatan isyarat trend.
Strategi jangka masa berbilang jangka masa yang lebih luas untuk membalikkan rata-rata RSI Fischer adalah lebih kukuh secara keseluruhan, tetapi masih perlu dioptimumkan untuk menyesuaikan diri dengan keadaan pasaran yang lebih luas. Ia layak untuk diuji dan diperbaiki lebih lanjut untuk menjadikannya strategi perdagangan kuantitatif yang boleh dipercayai.
/*backtest
start: 2022-11-14 00:00:00
end: 2023-11-20 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=4
strategy(title = "Inverse Fisher RSI-MTF2", shorttitle="INRSIM2",overlay=true)
//Inputs
RSI_pm = input(5, title="RSI Main Period",minval=2)
RSI_ps = input(1, title="RSI Smooth Period",minval=0)
//Functions
IF(input)=>(exp(2*input)-1)/(exp(2*input)+1)
//RSI Calculation
raw_RSI=0.1*(rsi(close,RSI_pm)-50)
wma_RSI=wma(raw_RSI,RSI_ps)*100
IF_RSI = IF(wma_RSI)
resCustom = input(title="Timeframe", defval="1440" )
v=request.security(syminfo.tickerid, resCustom,IF_RSI)
a=v>0.8
b=v<-0.8
z=0.8
buy = crossover(v,z)
sell=crossunder(v,b)
plotshape(sell, title="sell", style=shape.triangledown,location=location.abovebar, color=red, transp=0, size=size.small)
plotshape(buy, title="buy", style=shape.triangleup,location=location.belowbar, color=green, transp=0, size=size.small)
//Strategy
golong = crossover(v,z)
goshort = crossunder(v,b)
strategy.entry("Buy",strategy.long,when = golong)
strategy.entry("Sell",strategy.short,when = goshort)