Pivot Point Forecast Oscillator Backtesting Strategi

Penulis:ChaoZhang, Tarikh: 2023-12-20 13:44:26
Tag:

img

Ringkasan

Strategi ini menguji semula Pivot Point Forecast Oscillator yang dibangunkan oleh Tushar Chande. Oscillator mengira peratusan perbezaan antara harga penutupan dan harga ramalan regresi linear n-periode. Ia melintasi di atas 0 apabila harga ramalan lebih besar daripada harga penutupan dan melintasi di bawah 0 apabila kurang. Ini boleh digunakan untuk mengenal pasti titik balik di pasaran.

Logika Strategi

Strategi ini menggunakan Pivot Point Forecast Oscillator untuk menentukan arah pasaran. Khususnya, ia mengira peratusan perbezaan antara harga ramalan regresi linear n-periode dan harga penutupan sebenar. Apabila peratusan perbezaan melintasi di atas 0, ia pergi panjang. Apabila peratusan perbezaan melintasi di bawah 0, ia pergi pendek. Logik perdagangan lengkap adalah seperti berikut:

  1. Mengira harga ramalan regresi linear n-periode xLG
  2. Mengira peratusan perbezaan antara harga penutupan dan harga ramalan xCFO
  3. Menentukan hubungan antara xCFO dan 0 kepada isyarat output possig
    1. xCFO > 0 dan panjang dibenarkan, possig = 1
    2. xCFO < 0 dan pendek dibenarkan, possig = -1
    3. Jika tidak, possig = 0
  4. Pergi panjang atau pendek berdasarkan isyarat possig

Strategi ini mudah dan mudah, membandingkan harga sebenar dengan harga ramalan untuk menentukan sama ada pasaran terlalu dinilai atau terlalu dinilai, dengan itu menghasilkan isyarat perdagangan.

Analisis Kelebihan

Strategi ini mempunyai kelebihan berikut:

  1. Logik yang jelas, mudah difahami dan dilaksanakan.
  2. Beberapa parameter, mudah disesuaikan.
  3. Fleksibel dalam memilih jangka masa, dapat disesuaikan dengan pasaran yang berbeza.
  4. Mudah untuk menukar antara panjang dan pendek.
  5. Indikator visual membentuk isyarat perdagangan yang jelas.

Analisis Risiko

Strategi ini juga mempunyai beberapa risiko:

  1. Ramalan regresi linear mempunyai ketepatan masa, mungkin tidak mengekalkan keberkesanan.
  2. Pilihan parameter yang tidak betul boleh menyebabkan perdagangan berlebihan.
  3. Kejadian Black Swan boleh menyebabkan isyarat yang salah.

Tindakan balas:

  1. Gabungkan dengan penunjuk lain untuk memastikan kesahihan ramalan regresi linear.
  2. Mengoptimumkan parameter untuk mengurangkan kekerapan perdagangan.
  3. Tambah stop loss untuk mengawal kerugian perdagangan tunggal.

Arahan pengoptimuman

Strategi ini boleh ditingkatkan dalam aspek berikut:

  1. Gabungkan dengan MA dan penunjuk lain untuk memperkaya isyarat perdagangan.
  2. Tambah stop loss untuk mengelakkan kerugian besar.
  3. Mengoptimumkan parameter untuk mencari kombinasi terbaik.
  4. Tambah keuntungan automatik.
  5. Pertimbangkan kos dagangan, tetapkan stop loss yang munasabah dan ambil keuntungan.

Kesimpulan

Pivot Point Forecast Oscillator adalah strategi perdagangan kuant yang menggunakan harga ramalan regresi linear. Strategi ini mempunyai logika mudah dan parameter fleksibel, menghasilkan isyarat perdagangan yang jelas. Terdapat ruang untuk penambahbaikan lanjut dalam mengoptimumkan stop loss, pemilihan parameter, menggabungkan isyarat penunjuk lain dan lain-lain, untuk mencapai prestasi perdagangan yang lebih baik.


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

//@version=2
////////////////////////////////////////////////////////////
//  Copyright by HPotter v1.0 19/03/2018
// The Chande Forecast Oscillator developed by Tushar Chande The Forecast 
// Oscillator plots the percentage difference between the closing price and 
// the n-period linear regression forecasted price. The oscillator is above 
// zero when the forecast price is greater than the closing price and less 
// than zero if it is below.
//
// You can change long to short in the Input Settings
// WARNING:
//  - For purpose educate only
//  - This script to change bars colors.
////////////////////////////////////////////////////////////
strategy(title="Chande Forecast Oscillator Backtest", shorttitle="CFO")
Length = input(14, minval=1)
Offset = input(0)
reverse = input(false, title="Trade reverse")
hline(0, color=black, linestyle=line)
xLG = linreg(close, Length, Offset)
xCFO = ((close -xLG) * 100) / close
pos = iff(xCFO > 0, 1,
       iff(xCFO < 0, -1, nz(pos[1], 0))) 
possig = iff(reverse and pos == 1, -1,
          iff(reverse and pos == -1, 1, pos))	   
if (possig == 1) 
    strategy.entry("Long", strategy.long)
if (possig == -1)
    strategy.entry("Short", strategy.short)	   	    
barcolor(possig == -1 ? red: possig == 1 ? green : blue ) 
plot(xCFO, color=red, title="CFO")

Lebih lanjut