Membalikkan strategi persediaan melampau


Tarikh penciptaan: 2024-02-21 14:08:09 Akhirnya diubah suai: 2024-02-21 14:08:09
Salin: 0 Bilangan klik: 716
1
fokus pada
1617
Pengikut

Membalikkan strategi persediaan melampau

Gambaran keseluruhan

Strategi tetapan ekstrem terbalik adalah strategi yang menggunakan garis K terbalik. Ia akan membuat keputusan berdasarkan saiz entiti dan nilai purata garis K terkini, menghasilkan isyarat perdagangan apabila saiz entiti lebih besar daripada nilai purata dan berbalik.

Prinsip Strategi

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

Ia akan merekodkan saiz entiti satu baris K terkini (perbezaan antara harga pembukaan dan harga penutupan) dan saiz keseluruhan baris K (perbezaan antara harga tertinggi dan harga terendah).

Kemudian menggunakan purata purata julat sebenar (RMA) untuk mengira purata saiz entiti dan saiz K untuk 20 garis K terkini.

Apabila K line terkini terpasang dan saiz entiti lebih besar daripada saiz entiti purata, dan saiz K line keseluruhan juga lebih besar daripada saiz K line purata 2 kali ganda, menghasilkan sinyal ganda.

Sebaliknya, apabila K terbarunya turun dan saiz entiti juga memenuhi syarat di atas, isyarat shortcut dihasilkan.

Iaitu, apabila garis K melampau berbalik, keputusan nilai purata digunakan untuk menghasilkan isyarat perdagangan.

Analisis kelebihan

Kelebihan utama strategi ini ialah:

  1. Menggunakan ciri-ciri garis K yang melampau, mudah untuk berbalik
  2. Bandingkan saiz entiti dengan saiz garis K secara keseluruhan untuk mencari titik luar biasa
  3. Menggunakan RMA untuk mengira purata dinamik dan menyesuaikan diri dengan perubahan pasaran
  4. Gabungan dengan bentuk terbalik, isyarat lebih dipercayai

Analisis risiko

Strategi ini mempunyai beberapa risiko:

  1. Garis K yang melampau mungkin tidak akan berbalik, tetapi ia mungkin akan terus beroperasi
  2. Tetapan parameter yang tidak betul boleh menyebabkan terlalu sensitif atau lentur
  3. Ia memerlukan pergerakan pasaran yang mencukupi sebagai sokongan dan tidak sesuai untuk penyesuaian pasaran.
  4. Ia boleh menghasilkan isyarat dagangan yang kerap, meningkatkan kos dagangan dan risiko tergelincir.

Untuk mengurangkan risiko, parameter boleh diselaraskan dengan sewajarnya, atau masukkan stop loss untuk mengawal kerugian.

Arah pengoptimuman

Strategi ini boleh dioptimumkan dalam beberapa aspek:

  1. Meningkatkan penapisan untuk mengelakkan penembusan palsu
  2. Tetapan dinamik yang menggunakan parameter pengoptimuman indikator kadar turun naik
  3. Menggunakan Indeks Trend untuk Mengelakkan Kerosakan
  4. Meningkatkan kebarangkalian model pembelajaran mesin untuk menilai k-line reversal
  5. Menyertai mekanisme halangan kerugian

ringkaskan

Strategi tetapan ekstrem reversal menghasilkan isyarat dagangan apabila berlaku pembalikan. Ia mempunyai kelebihan menggunakan ciri-ciri garis K ekstrem yang luar biasa, tetapi juga mempunyai risiko tertentu. Prestasi strategi yang lebih baik boleh diperoleh melalui pengoptimuman parameter dan kaedah kawalan angin.

Kod sumber strategi
/*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)