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.
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.
Kelebihan utama strategi ini ialah:
Strategi ini juga mempunyai beberapa risiko:
Untuk mengurangkan risiko, parameter boleh diselaraskan dengan sewajarnya, atau stop loss boleh ditambahkan ke kawalan kerugian.
Strategi ini boleh dioptimumkan dalam aspek berikut:
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)