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

लेखक:चाओझांग, दिनांकः 2024-02-27 15:15:07
टैगः

img

अवलोकन

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

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

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

लाभ विश्लेषण

  1. गतिशील चैनलों का उपयोग करके बाजार के रुझानों में परिवर्तन को जल्दी से पकड़ लिया जा सकता है
  2. मध्यवर्ती का प्रयोग मूल्य प्रवृत्तियों की दिशा का आकलन करने में सहायक होता है
  3. एन बार बैंडविड्थ सेटिंग चैनल रेंज को उचित बनाता है ताकि लगातार स्थिति समायोजन से बचा जा सके
  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")

अधिक