Strategi Tetapan Pembalikan Ekstrem

Penulis:ChaoZhang, Tarikh: 2024-02-21 14:08:09
Tag:

img

Ringkasan

Strategi persediaan pembalikan melampau adalah strategi yang menggunakan pembalikan garis K yang melampau. Ia akan menilai berdasarkan saiz entiti K-line terkini dan nilai purata, dan menghasilkan isyarat perdagangan apabila saiz entiti lebih besar daripada nilai purata dan pembalikan berlaku.

Prinsip Strategi

Strategi ini terutamanya menilai saiz entiti K-line semasa dan saiz keseluruhan K-line.

Ia akan merekodkan saiz entiti (perbezaan antara terbuka dan ditutup) K-line terbaru dan saiz keseluruhan K-line (perbezaan antara tertinggi dan terendah).

Kemudian gunakan purata purata bergerak julat sebenar (RMA) untuk mengira saiz entiti purata dan saiz K-garis 20 K-garis terakhir.

Apabila K-line terakhir meningkat dan saiz entiti lebih besar daripada saiz entiti purata, dan keseluruhan saiz K-line juga lebih besar daripada 2 kali saiz K-line purata, isyarat panjang dihasilkan.

Sebaliknya, apabila garis K terakhir jatuh dan saiz entiti juga memenuhi syarat di atas, isyarat pendek dihasilkan.

Iaitu, isyarat perdagangan dihasilkan apabila garis K melampau terbalik, dengan menilai dengan nilai purata.

Analisis Kelebihan

Kelebihan utama strategi ini ialah:

  1. Gunakan ciri-ciri K-garis yang melampau untuk pembalikan mudah
  2. Bandingkan nilai melampau saiz entiti dan keseluruhan saiz K-line untuk mencari nilai luar biasa
  3. Menggunakan RMA untuk mengira purata dinamik yang dapat disesuaikan dengan perubahan pasaran
  4. Gabungkan dengan corak pembalikan untuk isyarat yang lebih boleh dipercayai

Analisis Risiko

Strategi ini juga mempunyai beberapa risiko:

  1. K-garis melampau tidak semestinya terbalik, boleh terus berjalan
  2. Tetapan parameter yang tidak betul boleh menyebabkan terlalu sensitif atau kusam
  3. Memerlukan turun naik pasaran yang mencukupi untuk menyokong, tidak sesuai untuk penyatuan
  4. Boleh menghasilkan isyarat perdagangan yang kerap, meningkatkan kos urus niaga dan risiko slippage

Untuk mengurangkan risiko, parameter boleh diselaraskan dengan sewajarnya, atau stop loss boleh ditambahkan ke kawalan kerugian.

Arahan pengoptimuman

Strategi ini boleh dioptimumkan dalam aspek berikut:

  1. Tambah penapis kelantangan untuk mengelakkan pecah palsu
  2. Gunakan penunjuk turun naik untuk mengoptimumkan tetapan parameter secara dinamik
  3. Gabungkan penunjuk trend untuk mengelakkan pembalikan panjang dan pendek
  4. Tambah model pembelajaran mesin untuk menilai kebarangkalian pembalikan garis K
  5. Tambahkan mekanisme stop loss

Ringkasan

Strategi penyesuaian pembalikan melampau menghasilkan isyarat perdagangan apabila pembalikan berlaku dengan menilai situasi melampau garis K terkini. Ia mempunyai kelebihan menggunakan ciri garis K yang melampau yang luar biasa, tetapi juga mempunyai beberapa risiko. Prestasi strategi yang lebih baik dapat diperoleh melalui pengoptimuman parameter dan langkah kawalan risiko.


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

//@version=4
strategy("Extreme Reversal Setup", overlay=true)

bodySize = input(defval=0.75)
barsBack = input(title="Lookback Period", type=input.integer, defval=20, minval=0)
bodyMultiplier = input(title="Bar ATR Multiplier", type=input.float, defval=2.0, minval=0)

myBodySize = abs(close - open)
averageBody = rma(myBodySize, barsBack)
myCandleSize = abs(high - low)
averageCandle = rma(myCandleSize, barsBack)

signal_long = open[1]-close[1] >= bodySize*(high[1]-low[1]) and 
   high[1]-low[1] > averageCandle*bodyMultiplier and 
   open[1]-close[1] > averageBody and close > open
signal_short = close[1]-open[1] >= bodySize*(high[1]-low[1]) and 
   high[1]-low[1] > averageCandle*bodyMultiplier and 
   close[1]-open[1] > averageBody and open > close

plotshape(signal_long, "LONG", shape.triangleup, location.belowbar, size=size.normal)
plotshape(signal_short, "SHORT", shape.triangledown, location.belowbar, size=size.normal)

strategy.entry("LONG", strategy.long, when=signal_long)
strategy.entry("SHORT", strategy.short, when=signal_short)

Lebih lanjut