Peratusan Perubahan Bar Chart Backtest Strategi

Penulis:ChaoZhang, Tarikh: 2023-11-15 15:41:20
Tag:

img

Ringkasan

Strategi ini mengira perubahan peratusan harga penutupan bar semasa berbanding dengan harga penutupan N bar yang lalu, dan memaparkan bar histogram berwarna yang berbeza untuk menentukan trend.

Logika Strategi

  1. Tetapkan parameter strategi melalui input, termasuk lebar bar, perubahan harga paparan atau perubahan peratusan, tempoh melihat kembali, ambang beli / jual dll.

  2. Mengira perbezaan harga atau peratusan perbezaan antara harga penutupan bar semasa dan harga penutupan N bar yang lalu.

  3. Tetapkan garis ambang beli dan jual.

  4. Tampilkan bar histogram dalam warna yang berbeza berdasarkan perubahan peratusan.

  5. Tetapkan untuk panjang apabila perubahan peratusan lebih besar daripada ambang beli, dan tetapkan untuk pendek apabila lebih rendah daripada ambang jual.

  6. Warna bar histogram mengikut arah kedudukan.

  7. Masuk dan keluar berdasarkan arah kedudukan.

Kelebihan

  1. Penampilan intuitif mengenai trend perubahan harga untuk membuat keputusan.

  2. Isyarat masuk dan keluar yang jelas digabungkan dengan penunjuk trend.

  3. Parameter boleh dioptimumkan untuk produk dan jangka masa yang berbeza.

  4. Logik yang mudah dan jelas, mudah difahami dan diubah.

  5. Visualisasi yang baik untuk penilaian trend yang cepat.

Risiko

  1. Rendah kepada isyarat palsu, pilihan kemasukan yang tidak betul boleh membawa kepada kerugian.

  2. Parameter perlu diselaraskan untuk produk volatiliti tinggi, sebaliknya meningkatkan kebarangkalian kerugian.

  3. Tidak dicatat untuk peristiwa tiba-tiba seperti berita penurunan yang penting.

  4. Tempoh backtest yang pendek mungkin tidak dapat menentukan ketahanan parameter.

  5. Melewatkan peluang untuk berbalik tanpa berhenti.

Risiko boleh dikawal melalui pengoptimuman parameter, penapisan isyarat dengan penunjuk lain, stop loss, memperluaskan tempoh backtest dll.

Arahan pengoptimuman

  1. Pertimbangkan untuk menggabungkan dengan penunjuk lain seperti trend dan penunjuk turun naik untuk mengesahkan isyarat.

  2. Memperkenalkan algoritma pembelajaran mesin untuk mengoptimumkan tetapan parameter.

  3. Tetapkan stop loss dinamik untuk mengawal jumlah kerugian tunggal.

  4. Sertakan penunjuk sentimen dan berita untuk mengelakkan kesan peristiwa tiba-tiba.

  5. Tambah masa dagangan atau penapis sesi.

  6. Mengoptimumkan tempoh backtest dengan jangka masa yang lebih lama.

Ringkasan

Strategi ini memaparkan peratusan perubahan harga dalam masa nyata dengan bar histogram dan menggunakan trendline untuk membuat keputusan, membentuk isyarat perdagangan yang jelas. Logiknya mudah untuk operasi yang mudah. Tetapi risiko ada dan perlu dikawal melalui pengoptimuman, penapisan, stop loss dan lain-lain. Dengan pengoptimuman berterusan, ia boleh menjadi mudah untuk memahami dan praktikal trend berikut strategi.


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

//@version=2
////////////////////////////////////////////////////////////
//  Copyright by HPotter v3.0 27/07/2018
//
//  This histogram displays price or % change from previous bar. 
//
// You can change long to short in the Input Settings
// WARNING:
// - For purpose educate only
// - This script to change bars colors.
////////////////////////////////////////////////////////////
strategy(title="Percent change bar chart Backtest", precision = 2)
input_barwidth = input(4, title="Bar Width")
input_percentorprice = input(false, title="Price Change")
input_barsback = input(1, title="Look Back")
SellZone = input(-0.33, minval=0.01, step = 0.01)
BuyZone = input(0.33, minval=0.01, step = 0.01)
reverse = input(false, title="Trade reverse")
hline(0, color=blue, linestyle=line)
hline(BuyZone, color=green, linestyle=line)
hline(SellZone, color=red, linestyle=line)
xPrice = close
xPrice1 = iff(input_percentorprice, xPrice - xPrice[input_barsback], ((xPrice - xPrice[input_barsback]) * 100)/ xPrice[input_barsback])
colorg = iff(xPrice1 < 0, red, green)
pos = iff(xPrice1 > BuyZone, 1,
       iff(xPrice1 < SellZone, -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(xPrice1, color=colorg, style = histogram, linewidth = input_barwidth, title="Change")

Lebih lanjut