Random Fisher Transform Temporary Stop Reverse STOCH Indikator Strategi Kuantitatif

Penulis:ChaoZhang, Tanggal: 2024-01-02 11:14:12
Tag:

img

Gambaran umum

Ide inti dari strategi ini adalah untuk menggabungkan Random Fisher Transform dan indikator STOCH Stop Reverse Temporary untuk membuat keputusan beli dan jual.

Prinsip Strategi

Strategi ini pertama-tama menghitung indikator STOCH standar, kemudian melakukan transformasi Fisher di atasnya untuk mendapatkan INVLine. Ketika INVLine melintasi di atas ambang bawah dl, sinyal beli dihasilkan. Ketika INVLine melintasi di bawah ambang atas ul, sinyal jual dihasilkan. Pada saat yang sama, strategi ini juga menetapkan mekanisme trailing stop untuk mengunci keuntungan dan mengurangi kerugian.

Secara khusus, logika inti dari strategi ini adalah:

  1. Menghitung indikator STOCH: Gunakan rumus standar untuk menghitung nilai STOCH cepat stok
  2. Fisher transform: Lakukan Fisher transform pada nilai STOCH untuk mendapatkan INVLine
  3. Menghasilkan sinyal perdagangan: Beli ketika INVLine melintasi di atas dl, jual ketika melintasi di bawah ul
  4. Trailing stop: Mengaktifkan mekanisme pelacakan stop sementara untuk stop loss yang tepat waktu

Analisis Keuntungan

Keuntungan utama dari strategi ini adalah:

  1. Transformasi Fisher secara efektif meningkatkan sensitivitas indikator STOCH dan dapat mendeteksi peluang pembalikan tren lebih awal
  2. Mekanisme berhenti sementara dapat secara efektif mengendalikan risiko dan mengunci keuntungan
  3. Ini cocok untuk operasi jangka menengah, terutama perdagangan kuantitatif frekuensi tinggi yang populer saat ini
  4. Ia berkinerja baik dalam kondisi pasar yang stabil dengan pengembalian yang stabil

Analisis Risiko

Strategi ini juga memiliki beberapa risiko:

  1. Indikator STOCH cenderung menghasilkan sinyal palsu yang dapat menyebabkan perdagangan yang tidak perlu
  2. Transformasi Fisher juga memperkuat kebisingan indikator STOCH, menghasilkan lebih banyak sinyal palsu
  3. Sangat mudah untuk menghentikan kerugian di pasar osilasi dan gagal membuat keuntungan yang berkelanjutan
  4. Periode penyimpanan yang relatif pendek diperlukan untuk mendapatkan Alpha.

Untuk mengurangi risiko ini, pertimbangkan untuk mengoptimalkan aspek berikut:

  1. Sesuaikan parameter STOCH untuk meluruskan kurva dan mengurangi kebisingan
  2. Mengoptimalkan posisi garis ambang untuk mengurangi kemungkinan perdagangan palsu
  3. Tambahkan kondisi filter untuk menghindari perdagangan di pasar berosilasi
  4. Sesuaikan panjang waktu tahan untuk sesuai dengan siklus operasi

Arahan Optimasi

Arah utama untuk mengoptimalkan strategi ini meliputi:

  1. Mengoptimalkan parameter Fisher mengubah ke kurva INVLine halus
  2. Mengoptimalkan panjang periode STOCH untuk menemukan kombinasi parameter optimal
  3. Mengoptimalkan parameter garis ambang untuk mengurangi kemungkinan perdagangan yang salah
  4. Tambahkan konfirmasi harga volume untuk menghindari trailing stop yang tidak perlu
  5. Tambahkan filter intraday breakout untuk mengurangi sinyal palsu di pasar osilasi
  6. Menggabungkan indikator tren untuk menghindari perdagangan kontra-tren

Kesimpulan

Strategi ini menggabungkan Random Fisher Transform dan indikator STOCH untuk menerapkan strategi kuantitatif jangka pendek yang sederhana dan praktis. Keuntungannya terletak pada frekuensi operasi yang tinggi, yang cocok untuk perdagangan kuantitatif frekuensi tinggi yang saat ini populer. Pada saat yang sama, strategi ini juga memiliki beberapa risiko strategi indikator teknis yang umum. Parameter dan kondisi filter perlu dioptimalkan untuk mengurangi risiko dan meningkatkan stabilitas. Secara umum, strategi ini memberikan ide yang baik untuk perdagangan kuantitatif sederhana dan layak untuk penelitian mendalam lebih lanjut.


/*backtest
start: 2022-12-26 00:00:00
end: 2024-01-01 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=3
strategy("IFT Stochastic + Trailing Stop", overlay=false, pyramiding = 0, calc_on_order_fills = false, commission_type =  strategy.commission.percent, commission_value = 0.0454, default_qty_type = strategy.percent_of_equity, default_qty_value = 100)

//INPUTS
stochlength=input(19, "STOCH Length")
wmalength=input(4, title="Smooth")
ul = input(0.64,step=0.01, title="UP line")
dl = input(-0.62,step=0.01, title="DOWN line")
uts = input(true, title="Use trailing stop")
tsi = input(title="trailing stop actiation pips",defval=245)                                                                       
tso = input(title="trailing stop offset pips",defval=20)

//CALCULATIONS
v1=0.1*(stoch(close, high, low, stochlength)-50)
v2=wma(v1, wmalength)
INVLine=(exp(2*v2)-1)/(exp(2*v2)+1)

//CONDITIONS
sell = crossunder(INVLine,ul)? 1 : 0
buy = crossover(INVLine,dl)? 1 : 0

//PLOTS
plot(INVLine, color=aqua, linewidth=1, title="STOCH")
hline(ul, color=red)
hline(dl, color=green)
bgcolor(sell==1? red : na, transp=30, title = "sell signal")
bgcolor(buy==1? lime : na, transp=30, title = "buy signal")
plotchar(buy==1, title="Buy Signal", char='B', location=location.bottom, color=white, transp=0, offset=0)
plotchar(sell==1, title="Sell Signal", char='S', location=location.top, color=white, transp=0, offset=0)

//STRATEGY
strategy.entry("BUY", strategy.long, when = buy==1)
strategy.entry("SELL", strategy.short, when = sell==1)

if  (uts)
    strategy.entry("BUY", strategy.long, when = buy)
    strategy.entry("SELL", strategy.short, when = sell)
    strategy.exit("Close BUY with TS","BUY", trail_points = tsi, trail_offset = tso)
    strategy.exit("Close SELL with TS","SELL", trail_points = tsi, trail_offset = tso)


Lebih banyak