CK Momentum Reversal Stop Loss Strategi

Penulis:ChaoZhang, Tanggal: 2023-11-27 18:13:58
Tag:

img

Gambaran umum

Strategi ini menggunakan saluran CK untuk menentukan tren harga dan menetapkan garis stop loss dinamis untuk melakukan operasi terbalik ketika pembalikan harga terjadi.

Prinsip Strategi

Strategi ini menggunakan saluran CK untuk menentukan tren harga dan support/resistance. Ini menghitung garis saluran atas dan bawah. Ketika harga menembus garis saluran, sinyal perdagangan dihasilkan. Selain itu, strategi ini juga melacak pergerakan garis saluran dan mengambil posisi terbalik ketika garis saluran terbalik, yang merupakan strategi perdagangan pembalikan.

Secara khusus, strategi menghitung garis saluran atas dan bawah berdasarkan harga tertinggi dan terendah. Jika garis saluran atas mulai turun dan garis saluran bawah mulai naik, itu ditentukan sebagai pembalikan harga untuk pergi pendek. Sebaliknya, jika garis saluran bawah mulai turun dan garis saluran atas mulai naik, itu ditentukan sebagai pembalikan harga untuk pergi panjang.

Keuntungan dari Strategi

  1. Gunakan saluran ganda untuk menentukan titik pembalikan harga untuk operasi pembalikan yang akurat
  2. Mengadopsi stop loss dinamis untuk mengendalikan risiko dan mewujudkan stop loss yang tepat waktu
  3. Logika strategi sederhana dan jelas, mudah dimengerti dan diterapkan

Risiko dari Strategi

  1. Ketika harga pasar berfluktuasi dengan keras, garis stop loss dapat rusak, yang menyebabkan kerugian yang lebih besar
  2. Perdagangan yang lebih sering dapat meningkatkan biaya transaksi
  3. Perlu memilih parameter yang tepat untuk mengontrol garis stop loss, menghindari terlalu longgar atau terlalu ketat

Optimalisasi Strategi

  1. Mengoptimalkan parameter garis stop loss untuk membuatnya lebih masuk akal dan efektif
  2. Menggabungkan indikator tren untuk menilai keandalan sinyal pembalikan, menghindari operasi pembalikan selama tren
  3. Meningkatkan perdagangan otomatis dan modul stop loss otomatis untuk mengurangi biaya transaksi

Ringkasan

Ide keseluruhan strategi ini jelas dan mudah dipahami. Ini menggunakan saluran ganda untuk menentukan pembalikan harga dan melakukan operasi terbalik. Dan menetapkan stop loss dinamis untuk mengendalikan risiko. Ini termasuk strategi perdagangan jangka pendek yang khas. Efek strategi dapat lebih dioptimalkan, terutama dengan menyesuaikan parameter stop loss dan membantu indikator teknis lainnya untuk menentukan waktu masuk dan keluar.


/*backtest
start: 2023-10-27 00:00:00
end: 2023-11-26 00:00:00
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=4
//

//study(title="Chande Kroll Stop", shorttitle="CK Stop", overlay=true)
strategy(title="Chande Kroll Stop", shorttitle="Chande Kroll Stop回測", overlay=true, initial_capital=100000, calc_on_every_tick=true,default_qty_type=strategy.percent_of_equity, default_qty_value=10)
br_red = #e91e63,Red = #f41818,n_green = #91dc16,dk_green = #004d40,lt_green = #16dc78,lt_blue = #0dbdd8,dk_blue = #0a3577,Blue = #034fed,br_orange = #f57c00,dk_orange = #e65100,dk_gray = #434651,dk_pink = #7c1df0,lt_pink = #e743f5,Purple = #5b32f3,lt_purple = #6b5797

hiP = input(9, "",inline="h")
hix = input(1,"" ,inline="h", step=0.1)
hiQ = input(7,"" ,inline="h")
loP = input(9,"" ,inline="h1")
lox = input(1,"" ,inline="h1", step=0.1)
loQ = input(5,"" ,inline="h1")
Xr=input(false,"反向操作:買/賣",inline="T"),
first_high_stop = highest(high, hiP) - hix * atr(hiP)
first_low_stop = lowest(high, loP) + lox * atr(loP)

stop_short = highest(first_high_stop, hiQ)
stop_long = lowest(first_low_stop, loQ)

cklow = stop_short
ckhigh = stop_long


Xdn = cklow < cklow[1] and ckhigh < ckhigh[1]
Xup = cklow > cklow[1] and ckhigh > ckhigh[1]
longcol = Xup ? lt_green : Xdn ? br_red : #2a2e39
shortcol = Xup? lt_green : Xdn ? br_red : #2a2e39
plot(stop_long, color=longcol)
plot(stop_short, color=shortcol)


plotshape(Xup and not Xup[1] , title="CK Stop Buy", text='CK', style=shape.triangleup, size=size.tiny, location=location.belowbar, color=lt_green, textcolor=lt_green,display=display.none)
plotshape(Xdn and not Xdn[1], title="CK Stop Sell", text='CK', style=shape.triangledown, size=size.tiny, location=location.abovebar, color=br_red, textcolor=br_red,display=display.none)

//       , default_qty_type=strategy.percent_of_equity, default_qty_value=10, calc_on_every_tick=true)

tl=input(true,"Sig",inline="T"), sbg=input(true,"Bgtrend",inline="T"), vbuild="FIREHORSE XRPUSDT"
Xp = 0.0, Xp:=Xdn? -1 : Xup? 1 : Xp[1], Xdf = Xr? Xup and Xp[1] == -1 : Xdn and Xp[1] == 1 ,Xuf = Xr?  Xdn and Xp[1] == 1: Xup and Xp[1] == -1 
FY=input(2021,"年",inline="btf"),FM=input(9,"月",inline="btf"),FD=input(01,"日",inline="btf"),
TY = input(2032,"年",inline="to"),TM=input(01,"月",inline="to"),TDy=input(01,"日",inline="to"), 
testTF = time>=timestamp(FY,FM,FD,00,00) and time <= timestamp(TY,TM,TDy,23,59)?  true:false


plotchar(tl? Xuf:na,vbuild+" 生門","△",location.bottom, #14e540,10,0," " ,#14e540,1,size.tiny)// ︽  ︾
plotchar(tl? Xdf:na,vbuild+" 傷門","▽",location.top,  #9b0842,10,0," ", #9b0842,1,size.tiny)  
bgcolor(sbg ? Xp==1 ? #0d47a1 :na: na, transp=90),
alertcondition(Xuf,vbuild+ "Buy", "Long 💹 \n"+vbuild),  alertcondition(Xdf, vbuild+ " Sell","Short 🈹\n"+vbuild)

if Xuf
    alert("Long " + tostring(close)+"\nLong "+input("My Long  Msg","Long Alert Msg")+vbuild, alert.freq_once_per_bar) 
if Xdf
    alert("Short " + tostring(close)+"\nShort"+input("My Short Msg","Short Alert Msg")+vbuild, alert.freq_once_per_bar) 


if testTF
    strategy.entry("Long ", strategy.long,  comment=" Long ",when=Xuf), strategy.entry("Short", strategy.short, comment=" Short",when=Xdf )



Lebih banyak