CK Momentum Reversal Stop-Loss-Strategie


Erstellungsdatum: 2023-11-27 18:13:58 zuletzt geändert: 2023-11-27 18:13:58
Kopie: 1 Klicks: 674
1
konzentrieren Sie sich auf
1617
Anhänger

CK Momentum Reversal Stop-Loss-Strategie

Überblick

Die Strategie verwendet den CK-Kanal, um die Preisentwicklung zu bestimmen, und setzt eine dynamische Stop-Loss-Linie, um bei einer Preisumkehr rückwärts zu handeln. Sie gehört zu den Short-Line-Handelsstrategien.

Strategieprinzip

Die Strategie verwendet die CK-Kanal, um die Preisentwicklung und die Resistenz der Unterstützung zu bestimmen. Die Strategie berechnet die oberen und unteren Kanallinien und erzeugt ein Handelssignal, wenn der Preis die Kanallinie überschreitet. Darüber hinaus verfolgt die Strategie die Bewegung der Kanallinie und nimmt bei einer Umkehrung der Kanallinie eine umgekehrte Position ein.

Die Strategie basiert auf den Höchst- und Mindestpreisen und berechnet die Up-Down-Channel-Linie. Wenn die Up-Channel-Linie zu sinken beginnt und die Down-Channel-Linie zu steigen beginnt, wird dies als Preisumkehr beurteilt, um eine Position zu schließen. Umgekehrt, wenn die Down-Channel-Linie zu sinken beginnt und die Up-Channel-Linie zu steigen beginnt, wird dies als Preisumkehr beurteilt, um eine Position zu schließen.

Strategische Vorteile

  1. Die Verwendung von zwei Kanälen, um den Preiswendepunkt zu bestimmen, um genau die Umkehrung vorzunehmen
  2. Risikokontrolle mit dynamischer Stop-Loss-Methode, die den Verlust rechtzeitig stoppen kann
  3. Die Strategie ist klar und einfach zu verstehen.

Strategisches Risiko

  1. Die Stop-Loss-Linie kann durchbrochen werden, wenn die Marktpreise stark schwanken, was zu einem größeren Verlust führt.
  2. Mehr Transaktionen und höhere Kosten
  3. Die richtigen Parameter müssen ausgewählt werden, um die Stop-Line zu steuern und zu locker oder zu eng zu bleiben

Strategieoptimierung

  1. Optimierung der Stop-Line-Parameter, um sie vernünftiger und effektiver zu machen
  2. Vermeidung von Umkehrungen in einem Trend, um die Zuverlässigkeit von Umkehrsignalen in Kombination mit Trendindikatoren zu beurteilen
  3. Erhöhung der automatischen Transaktionen und der automatischen Stop-Loss-Module zur Senkung der Transaktionskosten

Zusammenfassen

Die Strategie ist klar und verständlich, verwendet zwei Kanäle, um zu entscheiden, ob der Preis umgekehrt ist, und umgekehrt handelt. Die Dynamik des Stop-Losses zur Risikokontrolle ist eine typische Short-Line-Handelsstrategie. Die Strategie kann weiter optimiert werden, hauptsächlich durch Anpassung der Stop-Loss-Parameter und Unterstützung anderer technischer Indikatoren, um die Zeit der Operation zu bestimmen.

Strategiequellcode
/*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 )