गतिशील चैनल चलती औसत ट्रेंड ट्रैकिंग रणनीति

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

img

अवलोकन

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

सिद्धांत

इस रणनीति के मुख्य सिद्धांत हैंः

  1. गतिशील मूल्य चैनल की गणना करें। चैनल मध्य रेखा उच्चतम मूल्य और सबसे कम मूल्य से गणना की जाती है। ऊपरी रेल मध्य रेखा + मूल्य अस्थिरता एमए है, और निचली रेल मध्य रेखा - मूल्य अस्थिरता एमए है।

  2. प्रवृत्ति की दिशा का न्याय करें. जब कीमत ऊपरी रेल के माध्यम से टूटती है, तो इसे तेजी के रूप में परिभाषित किया जाता है. जब कीमत निचली रेल के माध्यम से टूटती है, तो इसे मंदी के रूप में परिभाषित किया जाता है.

  3. शोर फ़िल्टर करें. शोर को यादृच्छिक मूल्य उतार-चढ़ाव से फ़िल्टर करने के लिए एक निश्चित अवधि के मूल्य अस्थिरता एमए का उपयोग करें।

  4. ट्रेडिंग सिग्नल उत्पन्न करें. जब तेजी होती है, तो एक खरीद संकेत तब उत्पन्न होता है जब उस अवधि में बंद कीमत खुली कीमत से कम होती है. जब मंदी होती है, तो एक बिक्री संकेत तब उत्पन्न होता है जब बंद कीमत खुली कीमत से अधिक होती है.

लाभ

इस रणनीति के लाभ इस प्रकार हैंः

  1. गतिशील चैनल वास्तविक समय में मूल्य प्रवृत्ति को पकड़ सकता है।
  2. एमए फिल्टर झूठे संकेतों को कम कर सकता है।
  3. ट्रेडिंग सिग्नल उत्पन्न करने के लिए ट्रेंड दिशा और के-लाइन इकाई दिशा का संयोजन करने से फंसने से बचा जाता है।

जोखिम

इस रणनीति के जोखिम इस प्रकार हैंः

  1. अनुचित पैराम चयन से ओवरफिट हो सकता है।
  2. साइडवेज अस्थिरता के दौरान गलत संकेत उत्पन्न करना आसान है।
  3. यह अत्यधिक मूल्य उतार-चढ़ाव की भविष्यवाणी नहीं कर सकता है।

समाधान:

  1. सख्त पैराम चयन और परीक्षण।
  2. पार्श्व को पहचानने के लिए फ़िल्टर स्थितियों को जोड़ें।
  3. जोखिमों को नियंत्रित करने के लिए स्टॉप लॉस/प्रॉफिट सेट करें।

अनुकूलन दिशाएँ

इस रणनीति को निम्नलिखित पहलुओं में अनुकूलित किया जा सकता हैः

  1. अलग-अलग अवधि के पैराम्स की परीक्षण स्थिरता।
  2. गति का आकलन करने के लिए वॉल्यूम या अस्थिरता संकेतक जोड़ें।
  3. प्रवेश और निकास निर्धारित करने के लिए बैंड, चैनल आदि को मिलाएं।

सारांश

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


/*backtest
start: 2024-01-01 00:00:00
end: 2024-01-31 23:59:59
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/


//@version=2
strategy("Noro's Bands Strategy v1.0", shorttitle = "NoroBands str 1.0", overlay=true, default_qty_type = strategy.percent_of_equity, default_qty_value=100.0, pyramiding=0)

//Settings
needlong = input(true, defval = true, title = "Long")
needshort = input(true, defval = true, title = "Short")
len = input(20, defval = 20, minval = 2, maxval = 200, title = "Period")
color = input(true, "Color")
needbb = input(false, defval = false, title = "Show Bands")
needbg = input(false, defval = false, title = "Show Background")
src = close

//PriceChannel 1
lasthigh = highest(src, len)
lastlow = lowest(src, len)
center = (lasthigh + lastlow) / 2

//dist
dist = abs(src - center)
distsma = sma(dist, len)
hd = center + distsma
ld = center - distsma

//Trend
trend = close < ld and high < hd ? -1 : close > hd and low > ld ? 1 : trend[1]

//Lines
colo = needbb == false ? na : black
plot(hd, color = colo, linewidth = 1, transp = 0, title = "High band")
plot(center, color = colo, linewidth = 1, transp = 0, title = "center")
plot(ld, color = colo, linewidth = 1, transp = 0, title = "Low band")

//Background
col = needbg == false ? na : trend == 1 ? lime : red
bgcolor(col, transp = 90)

//up =  and trend == 1 ? 1 : 0
//dn =  and trend == -1 ? 1 : 0 

up = close < hd and trend == 1 and (close < open or color == false) ? 1 : 0
dn = close > ld and trend == -1 and (close > open or color == false) ? 1 : 0 

longCondition = up == 1
if (longCondition)
    strategy.entry("Long", strategy.long, needlong == false ? 0 : na)

shortCondition = dn == 1
if (shortCondition)
    strategy.entry("Short", strategy.short, needshort == false ? 0 : na)

अधिक