कर्टन चैनल स्टॉप-लॉस रणनीति एक मात्रात्मक रणनीति है जो कर्टन चैनल विश्लेषण पद्धति के आधार पर व्यापार निर्णयों को अनुकूलित करने के लिए स्टॉप-लॉस नियमों को जोड़ती है। यह रणनीति चैनल के ऊपर और नीचे के संबंध पर नज़र रखती है, जब एक ब्रेकआउट होता है, तो अधिक और कम करने की दिशा में प्रवेश करती है, और इष्टतम स्टॉप-लॉस पॉइंट के अनुसार जोखिम और लाभ का संतुलन प्राप्त करती है।
कर्टन के माध्यम से मध्य, ऊपरी और निचले रेल की गणना करें।
जब कीमत ऊपर की ओर जाती है, तो अधिक अवसरों पर विचार करें; जब यह नीचे की ओर जाती है, तो कम अवसरों पर विचार करें।
जब कीमत ऊपर जाती है तो अधिक प्रवेश होता है; जब वह नीचे जाती है तो प्रवेश खाली होता है।
एक स्टॉप पॉइंट सेट करें जो प्रवेश मूल्य में वृद्धि के लिए एक निश्चित अनुपात है, और एक स्टॉप लॉस पॉइंट जो प्रवेश मूल्य में गिरावट के लिए एक निश्चित अनुपात है।
इस रणनीति का लाभ यह है कि स्टॉप-स्टॉप नियम को पेश किया गया है, जो कि तेजी से चल रहे नुकसान के दौरान समय पर बंद हो जाता है; लहर के अंत से पहले समय पर बंद हो जाता है। साथ ही यह फिर से प्रवेश करने का संकेत भी प्रदान करता है, जो कि प्रवृत्ति व्यापार में स्थायी भागीदारी है।
पैरामीटर को विभिन्न किस्मों के लिए अनुकूलित किया जा सकता है ताकि सर्वोत्तम जोखिम-लाभ संतुलन प्राप्त किया जा सके।
ट्रेंड को देखते हुए कट्टरपंथी चैनल
स्टॉप लॉस पॉइंट्स रिटर्न ऑप्टिमाइज़ेशन
स्लाइड आउट और इन, नकली ब्रेकआउट से बचें
नीति लचीला, पैरामीटर समायोज्य
अन्य संकेतकों के साथ संयोजन में इस्तेमाल किया जा सकता है
स्टॉप लॉस रेट को उचित रूप से बढ़ाने की आवश्यकता
अभी भी कुछ जोखिम हैं
नहरों को तोड़ने से नुकसान हो सकता है
बहुत कम स्टॉप लॉस के कारण अक्सर स्टॉप लॉस हो सकता है
कर्टन चैनल स्टॉप-स्टॉप-लॉस रणनीति पारंपरिक चैनल ट्रेडिंग के लिए अनुकूलित है, ट्रेंड को ट्रैक करते हुए ट्रेडिंग जोखिम को नियंत्रित करती है। बार-बार रीमेक और पैरामीटर समायोजन के माध्यम से, एक अच्छी रणनीति प्रभाव प्राप्त किया जा सकता है। यह रणनीति गहराई से अध्ययन और प्रयोगशाला सत्यापन के लायक है, जो धीरे-धीरे रणनीति की स्थिरता को बढ़ा सकती है।
/*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)