गतिशील चैनल सफलता रणनीति पर आधारित


निर्माण तिथि: 2024-02-27 15:15:07 अंत में संशोधित करें: 2024-02-27 15:15:07
कॉपी: 0 क्लिक्स: 567
1
ध्यान केंद्रित करना
1617
समर्थक

गतिशील चैनल सफलता रणनीति पर आधारित

अवलोकन

यह रणनीति केल्टनर चैनल सूचकांक का उपयोग करती है, जो एक गतिशील ब्रेकआउट खरीदने और बेचने की कीमतों को निर्धारित करने के लिए एक चलती औसत के साथ संयुक्त है, जो कम खरीदने और बेचने के लिए एक ब्रेकआउट ऑपरेशन को सक्षम करता है। रणनीति स्वचालित रूप से चैनल ब्रेकआउट खरीदने और बेचने के अवसरों की पहचान करती है।

रणनीति सिद्धांत

  1. चैनल मध्यरेखा की गणना करेंः सूचकांक चलती औसत का उपयोग करके मूल्य मध्यरेखा की गणना करें
  2. चैनल बैंडविड्थ की गणना करेंः चैनल बैंडविड्थ की गणना वास्तविक तरंग दैर्ध्य या औसत वास्तविक तरंग दैर्ध्य या मूल्य वृद्धि का उपयोग करके की जाती है
  3. अप-ट्रैक और डाउन-ट्रैकः मध्य-ट्रैक की ±N गुना चैनल बैंडविड्थ
  4. प्रवेश अनुक्रमः जब कीमत ऊपर की पटरी को छूती है, तो एक ब्रेकआउट खरीदने की कीमत सेट करें, ब्रेकआउट की प्रतीक्षा करें; जब कीमत नीचे की पटरी को छूती है, तो एक ब्रेकआउट बेचने की कीमत सेट करें, ब्रेकआउट की प्रतीक्षा करें
  5. प्रस्थान क्रमः जब खरीद के बाद मध्य पट्टी पर वापस आ जाता है या जब उच्चतम मूल्य प्रवेश मूल्य से अधिक होता है तो बंद हो जाता है; जब बिक्री के बाद मध्य पट्टी पर वापस आ जाता है या जब प्रवेश मूल्य से कम होता है तो बंद हो जाता है

श्रेष्ठता विश्लेषण

  1. गतिशील चैनलों का उपयोग करके, बाजार के रुझान में बदलाव को जल्दी से पकड़ें
  2. मध्य रेखा का उपयोग मूल्य की दिशा निर्धारित करने में मदद करता है
  3. N गुना बैंडविड्थ सेटिंग्स उचित मार्गों की अनुमति देता है और लगातार स्थिति को समायोजित करने से बचाता है
  4. ट्रेंड थ्योरी के अनुसार, ब्रेकआउट तंत्र का उपयोग करें
  5. स्टॉप लॉस की शर्तें सेट करें और जोखिम को सख्ती से नियंत्रित करें

जोखिम विश्लेषण

  1. मध्यवर्ती रेखा गणना विधि का चयन चैनल सीमा और मूल्य मिलान प्रभाव को प्रभावित करता है
  2. एन गुणक को बहुत बड़ा या छोटा सेट करना रणनीति रिटर्न को प्रभावित करता है
  3. गलत संकेतों के लिए आसान है ब्रेकआउट, सख्ती से रोकना चाहिए

अनुकूलन दिशा

  1. विभिन्न मध्य-कक्षा रेखा गणना विधियों को आज़माएं और सबसे अच्छा पैरामीटर खोजें
  2. विभिन्न एन मानों का परीक्षण करें और इष्टतम गुणांक का पता लगाएं
  3. गलत संकेतों से बचने के लिए दरारें बढ़ाएं
  4. स्टॉप लॉजिक को अनुकूलित करें, एकल नुकसान को सख्ती से नियंत्रित करें

संक्षेप

इस रणनीति में समग्र रूप से विज्ञान का उचित उपयोग किया गया है, गतिशील चैनल संकेतक के माध्यम से मूल्य आंदोलन और दिशा का आकलन करने के लिए, उचित पैरामीटर सेट करें, ब्रेक सिग्नल को पकड़ें, कम खरीदें और बेचें, और फिर अतिरिक्त लाभ प्राप्त करें। साथ ही रणनीति के जोखिम का निरंतर अनुकूलन करें, जिससे यह कई प्रकार के बाजारों में स्थिर रूप से संचालित हो सके।

रणनीति स्रोत कोड
/*backtest
start: 2024-01-27 00:00:00
end: 2024-02-26 00:00:00
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=5
strategy(title="Keltner Strategy", overlay=true)
length = input.int(20, minval=1)
mult = input.float(2.0, "Multiplier")
src = input(close, title="Source")
exp = input(true, "Use Exponential MA")
BandsStyle = input.string("Average True Range", options = ["Average True Range", "True Range", "Range"], title="Bands Style")
atrlength = input(10, "ATR Length")
esma(source, length)=>
	s = ta.sma(source, length)
	e = ta.ema(source, length)
	exp ? e : s
ma = esma(src, length)
rangema = BandsStyle == "True Range" ? ta.tr(true) : BandsStyle == "Average True Range" ? ta.atr(atrlength) : ta.rma(high - low, length)
upper = ma + rangema * mult
lower = ma - rangema * mult
crossUpper = ta.crossover(src, upper)
crossLower = ta.crossunder(src, lower)
bprice = 0.0
bprice := crossUpper ? high+syminfo.mintick : nz(bprice[1])
sprice = 0.0
sprice := crossLower ? low -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="KltChLE")
if (cancelScond)
	strategy.cancel("KltChSE")
if (crossLower)
	strategy.entry("KltChSE", strategy.short, stop=sprice, comment="KltChSE")