La stratégie de stop-loss de la chaîne de Kertner est une stratégie quantitative pour optimiser les décisions de négociation basée sur la méthode d’analyse de la chaîne de Kertner, en ajoutant des règles de stop-loss. La stratégie surveille la relation entre les prix et le décollage de la chaîne, entre dans la direction de la plus-value en cas de rupture et réalise un équilibre entre les risques et les gains en fonction du point de stop-loss optimal.
Calculer la voie centrale, la voie supérieure et la voie inférieure du passage du cratère.
Lorsque le prix touche la trajectoire supérieure, considérez les opportunités de multiplication; lorsque le prix touche la trajectoire inférieure, considérez les opportunités de blanchiment.
L’entrée est plus importante lorsque le prix dépasse la barre supérieure; elle est vide lorsque le prix dépasse la barre inférieure.
Le stop-loss est une mesure de la hausse du prix d’entrée et le stop-loss est une mesure de la baisse.
La stratégie présente l’avantage d’introduire une règle de stop-loss, qui arrête en temps opportun les pertes trop importantes en cours de progression; arrête en temps opportun avant la fin de la vague. Elle fournit également un signal de réentrée et une participation durable au trading de tendance.
Les paramètres peuvent être optimisés pour les différentes variétés afin d’atteindre le meilleur équilibre risque/bénéfice.
Le canal de Kettner détermine la tendance
Stop loss point pour optimiser les gains
Les deux équipes se sont affrontées à l’extérieur.
La stratégie est flexible et les paramètres sont ajustables
Peut être utilisé avec d’autres indices
Il est nécessaire d’augmenter de manière appropriée le stop loss ratio.
Il y a encore un risque de rupture.
Le canal pourrait être percé et entraîner des pertes
Une perte d’arrêt trop faible peut entraîner des pannes fréquentes
La stratégie de stop-loss de la chaîne de Kertner est optimisée pour les transactions de la chaîne traditionnelle, afin de contrôler les risques de négociation tout en suivant la tendance. Grâce à des mesures répétées et à des ajustements de paramètres, de bons effets stratégiques peuvent être obtenus.
/*backtest
start: 2023-08-15 00:00:00
end: 2023-08-23 00:00:00
period: 2h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=4
strategy(title="Optimized Keltner Channels Strategy for BTC", overlay=true)
length = input(9, minval=1)
mult = input(1.0, "Multiplier")
src = input(close, title="Source")
exp = input(true, "Use Exponential MA")
BandsStyle = input("Average True Range", options = ["Average True Range", "True Range", "Range"], title="Bands Style")
atrlength = input(18, "ATR Length")
sl = input(defval=22, minval=0, title="Stop Loss (%)")
tp = input(defval=21, minval=0, title="Take Profit (%)")
esma(source, length)=>
s = sma(source, length)
e = ema(source, length)
exp ? e : s
ma = esma(src, length)
rangema = BandsStyle == "True Range" ? rma(tr(true), length) : BandsStyle == "Average True Range" ? atr(atrlength) : rma(high - low, length)
upper = ma + rangema * mult
lower = ma - rangema * mult
c = color.blue
u = plot(upper, color=color.green, title="Upper")
plot(ma, color=#0094FF, title="Basis")
l = plot(lower, color=color.red, title="Lower")
fill(u, l, color=#0094FF, transp=95, title="Background")
crossUpper = crossover(src, upper)
crossLower = crossunder(src, lower)
bprice = 0.0
bprice := crossUpper ? close+syminfo.mintick : nz(bprice[1])
sprice = 0.0
sprice := crossLower ? close-syminfo.mintick : nz(sprice[1])
crossBcond = false
crossBcond := crossUpper ? true
: na(crossBcond[1]) ? false : crossBcond[1]
crossScond = false
crossScond := crossLower ? true
: na(crossScond[1]) ? false : crossScond[1]
cancelBcond = crossBcond and (src < ma or high >= bprice )
cancelScond = crossScond and (src > ma or low <= sprice )
if (cancelBcond)
strategy.cancel("KltChLE")
if (crossUpper)
strategy.entry("KltChLE", strategy.long, stop=bprice, comment="Long")
if (cancelScond)
strategy.cancel("KltChSE")
if (crossLower)
strategy.entry("KltChSE", strategy.short, stop=sprice, comment="Short")
strategy.exit("long exit", "KltChLE", profit = close * tp * 0.01 / syminfo.mintick, loss = close * sl * 0.01 / syminfo.mintick)
strategy.exit("Short exit", "KltChSE", profit = close * tp * 0.01 / syminfo.mintick, loss = close * sl * 0.01 / syminfo.mintick)
plot(bprice, color=color.green)
plot(sprice, color=color.red)