Strategi Dagangan Kuantitatif Berdasarkan Perbandingan Harga Penutupan Harian

Penulis:ChaoZhang, Tarikh: 2023-11-21 14:34:11
Tag:

img

Ringkasan

Strategi ini dipanggil Daily Close Price Comparison Strategy. Ia adalah strategi perdagangan kuantitatif yang membuat keputusan perdagangan berdasarkan harga penutupan harian. Strategi ini menghasilkan isyarat perdagangan dengan mengira perbezaan antara harga penutupan harian semasa dan harga penutupan harian sebelumnya. Apabila perbezaannya melebihi ambang yang ditetapkan, pesanan beli atau jual dilaksanakan.

Logika Strategi

Logik teras strategi ini adalah untuk membandingkan harga penutupan antara candlestick / bar semasa dan yang sebelumnya.

  1. Mengira perbezaan antara harga penutupan harian semasa dan harga penutupan harian sebelumnya (hari ini - semalam)
  2. Mengira nisbah antara perbezaan dan harga penutupan semalam (perbezaan / penutupan semalam)
  3. Jika nisbah lebih besar daripada ambang positif yang ditetapkan, isyarat beli dihasilkan. Jika nisbah kurang daripada ambang negatif yang ditetapkan, isyarat jual dihasilkan.
  4. Masukkan kedudukan panjang atau pendek mengikut isyarat

Strategi ini tidak menetapkan syarat stop loss atau mengambil keuntungan, dan bergantung pada isyarat yang dicetuskan ambang untuk masuk dan keluar.

Analisis Kelebihan

  • Logik yang mudah, mudah difahami, sesuai untuk pemula perdagangan kuant
  • Hanya bergantung pada harga penutupan harian, mengelakkan perdagangan yang terlalu kerap
  • Frekuensi dagangan boleh dikawal dengan menyesuaikan ambang

Analisis Risiko

  • Tiada stop loss, tidak dapat mengawal kerugian perdagangan tunggal
  • Boleh menghasilkan isyarat perdagangan berturut-turut yang mengakibatkan perdagangan berlebihan
  • Pengeluaran mungkin besar, tidak dapat mengawal kerugian keseluruhan dengan baik

Arahan pengoptimuman

  • Tambah logik stop loss untuk mengawal kerugian perdagangan tunggal
  • Jumlah terhad entri untuk mengelakkan perdagangan berlebihan
  • Mengoptimumkan parameter untuk mencari kekerapan perdagangan yang optimum

Kesimpulan

Strategi ini menghasilkan isyarat perdagangan dengan membandingkan harga penutupan harian. Logiknya mudah dan sesuai untuk pemula belajar. Tetapi ia mengandungi risiko tertentu dan memerlukan pengoptimuman lanjut untuk perdagangan langsung.


/*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=2
strategy("Daily Close Comparison Strategy (by ChartArt) correct results", shorttitle="CA_-_Daily_Close_Strat", overlay=false)

// ChartArt's Daily Close Comparison Strategy
//
// Version 1.0
// Idea by ChartArt on February 28, 2016.
//
// This strategy is equal to the very
// popular "ANN Strategy" coded by sirolf2009,
// but without the Artificial Neural Network (ANN).
//
// Main difference besides stripping out the ANN
// is that I use close prices instead of OHLC4 prices.
// And the default threshold is set to 0 instead of 0.0014
// with a step of 0.001 instead of 0.0001.
//
// This strategy goes long if the close of the current day
// is larger than the close price of the last day.
// If the inverse logic is true, the strategy
// goes short (last close larger current close).
//
// This simple strategy does not have any
// stop loss or take profit money management logic.
//
// List of my work: 
// https://www.tradingview.com/u/ChartArt/
// 
//  __             __  ___       __  ___ 
// /  ` |__|  /\  |__)  |   /\  |__)  |  
// \__, |  | /~~\ |  \  |  /~~\ |  \  |  
// 
// 

threshold = input(title="Price Difference Threshold correct results", type=float, defval=0, step=0.004)

getDiff() =>
    yesterday=request.security(syminfo.tickerid, 'D', close[1])
    today=close
    delta=today-yesterday
    percentage=delta/yesterday
    
closeDiff = getDiff()
 
buying = closeDiff > threshold ? true : closeDiff < -threshold ? false : buying[1]

hline(0, title="zero line")

bgcolor(buying ? green : red, transp=25)
plot(closeDiff, color=silver, style=area, transp=75)
plot(closeDiff, color=aqua, title="prediction")

longCondition = buying
if (longCondition)
    strategy.entry("Long", strategy.long)

shortCondition = buying != true
if (shortCondition)
    strategy.entry("Short", strategy.short)

Lebih lanjut