Strategi Stop Loss Pembalikan Momentum CK


Tanggal Pembuatan: 2023-11-27 18:13:58 Akhirnya memodifikasi: 2023-11-27 18:13:58
menyalin: 1 Jumlah klik: 674
1
fokus pada
1617
Pengikut

Strategi Stop Loss Pembalikan Momentum CK

Ringkasan

Strategi ini menggunakan saluran CK untuk menentukan tren harga dan menetapkan garis stop loss dinamis, melakukan operasi reversal ketika terjadi pembalikan harga, termasuk dalam strategi perdagangan garis pendek.

Prinsip Strategi

Strategi menggunakan saluran CK untuk menentukan tren harga dan resistensi dukungan. Menghitung saluran atas dan saluran bawah, menghasilkan sinyal perdagangan ketika harga menembus saluran. Selain itu, strategi juga melacak pergerakan saluran, mengambil posisi terbalik ketika saluran berbalik, termasuk strategi perdagangan reversal.

Secara khusus, strategi ini didasarkan pada harga tertinggi dan terendah untuk menghitung saluran atas ke bawah. Jika saluran atas mulai turun dan saluran bawah mulai naik, maka harga akan berbalik dan posisi kosong akan dibuat. Sebaliknya, jika saluran bawah mulai turun dan saluran atas mulai naik, maka harga akan berbalik dan posisi kosong akan dibuat.

Keunggulan Strategis

  1. Menggunakan dua saluran untuk menentukan titik balik harga dan melakukan operasi reversal dengan tepat
  2. Menggunakan Stop Loss Dinamis untuk Mengontrol Risiko dan Mempercepat Stop Loss
  3. Strategi logis sederhana dan jelas, mudah dipahami dan diterapkan

Risiko Strategis

  1. Saat harga pasar berfluktuasi tajam, stop loss line dapat ditembus, yang menyebabkan kerugian meningkat.
  2. Jumlah transaksi mungkin lebih banyak, biaya transaksi meningkat
  3. Parameter yang tepat harus dipilih untuk mengontrol stop-loss line dan menghindari terlalu longgar atau terlalu ketat

Optimasi Strategi

  1. Mengoptimalkan parameter stop loss agar lebih masuk akal dan efektif
  2. Kombinasi indikator tren untuk menilai keandalan sinyal pembalikan, menghindari operasi terbalik dalam tren
  3. Menambahkan modul perdagangan otomatis dan stop loss otomatis untuk mengurangi biaya transaksi

Meringkaskan

Strategi ini secara keseluruhan jelas dan mudah dimengerti, menggunakan dua saluran untuk menilai harga berbalik, mengambil tindakan berbalik; dan mengatur stop loss dinamis untuk mengendalikan risiko, merupakan strategi perdagangan garis pendek yang khas. Efek strategi juga dapat dioptimalkan lebih lanjut, terutama dengan menyesuaikan parameter stop loss, dan membantu indikator teknis lainnya untuk menilai waktu operasi.

Kode Sumber Strategi
/*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 )