Strategi Volatiliti ATR Terobosan Momentum

Penulis:ChaoZhang, Tarikh: 2024-01-12 13:50:44
Tag:

img

Ringkasan

Strategi ini menggunakan gabungan strategi purata bergerak ganda yang mudah, ditambah dengan indeks turun naik ATR untuk menentukan turun naik pasaran. Apabila garis purata jangka pendek melintasi di atas garis purata jangka panjang, ia ditentukan sebagai pasaran lembu dan kedudukan panjang diambil. Apabila garis purata jangka pendek melintasi di bawah garis purata jangka panjang, ia ditentukan sebagai pasaran beruang dan kedudukan pendek diambil. Pada masa yang sama, kebolehpercayaan isyarat purata bergerak dinilai dengan menggabungkan harga purata bertimbang volum VWAP. Di samping itu, penunjuk RSI dimasukkan untuk mengelakkan pembalikan. Indeks turun naik ATR digunakan untuk menentukan turun naik pasaran untuk memilih perdagangan semasa tempoh turun naik yang lebih rendah.

Prinsip Strategi

Strategi purata bergerak berganda biasanya memilih purata bergerak jangka pendek dan purata bergerak jangka panjang, seperti purata bergerak 50 hari dan purata bergerak 200 hari. Isyarat beli dihasilkan apabila purata bergerak jangka pendek melintasi di atas purata bergerak jangka panjang. Isyarat jual dihasilkan apabila purata bergerak jangka pendek melintasi di bawah purata bergerak jangka panjang. Strategi purata bergerak berganda menilai perubahan dalam trend pasaran jangka panjang dan jangka pendek, dan menggunakan terobosan purata bergerak untuk menangkap titik perubahan trend.

Strategi ini memilih purata bergerak 50 hari sebagai purata bergerak jangka pendek dan purata bergerak 200 hari sebagai purata bergerak jangka panjang. Digabungkan dengan harga purata berwajaran volum VWAP untuk menentukan kebolehpercayaan isyarat purata bergerak.

Di samping itu, penunjuk RSI dimasukkan untuk mengelakkan overbuy dan overselling.

Akhirnya, amplitudo turun naik purata penunjuk ATR digunakan untuk menentukan turun naik dan tahap risiko pasaran. Apabila nilai ATR lebih besar daripada 1.18, ia ditakrifkan sebagai turun naik yang tinggi. Pada ketika ini, dengan mengubah warna latar belakang, risiko yang lebih tinggi diminta dan perdagangan dapat dielakkan sementara sehingga turun naik menurun.

Analisis Kelebihan

Kelebihan utama strategi ini tercermin dalam tiga aspek:

  1. Purata bergerak berganda menangkap titik perubahan trend jangka menengah dan panjang di pasaran, dan menggunakan perdagangan trend untuk memperoleh keuntungan yang agak besar.

  2. Menggabungkan VWAP untuk menapis isyarat palsu dan meningkatkan kebolehpercayaan isyarat.

  3. Pengenalan penunjuk RSI untuk mengelakkan perdagangan terhadap pasaran, yang boleh mengurangkan kerugian.

  4. Penggunaan indeks turun naik ATR untuk menentukan keadaan risiko pasaran mengelakkan tempoh turun naik yang tinggi, yang boleh mengurangkan kerugian.

  5. Gabungan pelbagai penunjuk adalah mudah dan mudah difahami dan dilaksanakan, sesuai untuk kemasukan perdagangan kuantitatif.

Analisis Risiko

Strategi ini juga mempunyai beberapa risiko:

  1. Apabila purata bergerak menghasilkan isyarat, harga mungkin telah berubah dengan ketara, menimbulkan risiko overtrading.

  2. VWAP mungkin mempunyai kesilapan, mengakibatkan penapisan isyarat perdagangan yang betul.

  3. Pada akhir trend, RSI boleh kekal di kawasan overbought/oversold untuk masa yang lama, terlepas titik perubahan pembalikan trend.

  4. ATR mungkin ketinggalan ketika menilai turun naik pasaran. Penyelesaian adalah untuk menggabungkan harga tertinggi, harga terendah, dan lain-lain untuk menentukan turun naik pasaran.

  5. Pengembalian mungkin tidak memenuhi jangkaan dan parameter perlu diselaraskan.

Arah pengoptimuman

Masih ada ruang yang besar untuk pengoptimuman dalam strategi ini:

  1. Uji lebih banyak kombinasi purata bergerak untuk mencari parameter optimum.

  2. Tambah lebih banyak penunjuk tambahan kepada isyarat penapis seperti MACD, KDJ dan sebagainya.

  3. Mengoptimumkan parameter stop loss dan mengambil keuntungan untuk mengurangkan kerugian dan meningkatkan keuntungan.

  4. Menilai perbezaan dalam strategi perdagangan antara saham yang kuat dan saham yang lemah untuk pemodelan klasifikasi.

  5. Menggabungkan algoritma pembelajaran mesin seperti RNN untuk mengoptimumkan parameter secara automatik dan menilai strategi.

  6. Membangunkan sistem perdagangan automatik dan menyambung kepada perdagangan langsung untuk backtesting.

Ringkasan

Secara keseluruhan, strategi ini adalah strategi penjejakan trend yang agak mudah. Inti menggunakan purata bergerak berganda untuk menentukan trend jangka panjang dan jangka pendek. Gabungkan VWAP dan RSI untuk memproses isyarat dan menerapkan ATR untuk menilai risiko. Idea strategi adalah mudah dan mudah difahami dan dioperasikan. Melalui beberapa ruang pengoptimuman, pulangan yang baik dapat diperoleh. Sebagai pilihan untuk kemasukan perdagangan kuantitatif, ia sangat sesuai.


/*backtest
start: 2024-01-04 00:00:00
end: 2024-01-11 00:00:00
period: 1m
basePeriod: 1m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=5
strategy("Simple Moving Averages", overlay=true)

sma50 = ta.sma(close, 50)
sma200 = ta.sma(close, 200)
vwap = ta.vwap(close)
rsi = ta.rsi(close, 14)
[diPlus, diMinus, adx_val] = ta.dmi(14, 14)
atr_val = ta.atr(14)

plot(sma50, color=color.new(color.green, 0))
plot(sma200, color=color.new(color.red, 0))
plot(vwap)

longCondition = ta.crossover(sma50, sma200) and vwap > close
shortCondition = ta.crossunder(sma50, sma200) and vwap < close

if (longCondition)
    strategy.entry("Long", strategy.long)
    
if (shortCondition)
    strategy.entry("Short", strategy.short)

barcolor = sma50 > sma200 ? (vwap < close ? (rsi < 70 ? color.green : color.blue) : color.yellow) : (sma50 < sma200 ? (vwap > close ? (rsi > 30 ? color.red : color.orange) : color.yellow) : na)
barcolor(barcolor)
bgcolor(adx_val > 25 and atr_val > 1.18 ? color.new(color.gray, 50) : color.new(color.black, 50), transp=90)

// ADX and ATR Label Box
// label.new(bar_index, high, "ADX: " + str.tostring(adx_val, "#.##") + "\nATR: " + str.tostring(atr_val, "#.##"), color=color.new(color.white, 0), textcolor=color.new(color.black, 0), style=label.style_labeldown, yloc=yloc.price, xloc=xloc.bar_index, size=size.small, textalign=text.align_left)

// Exit conditions (optional)
strategy.close("Long", when = ta.crossunder(sma50, sma200))
strategy.close("Short", when = ta.crossover(sma50, sma200))

// Take Profit and Stop Loss
takeProfitPercentage = 5
stopLossPercentage = 3

strategy.exit("Take Profit / Stop Loss", "Long", profit = takeProfitPercentage, loss = stopLossPercentage)
strategy.exit("Take Profit / Stop Loss", "Short", profit = takeProfitPercentage, loss = stopLossPercentage)

Lebih lanjut