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

लेखक:चाओझांग, दिनांक: 2023-11-15 17:45:13
टैगः

img

अवलोकन

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

रणनीति तर्क

इस रणनीति का मूल हेकेन आशी बंद मूल्य गतिशील चलती औसत के परिवर्तन की गणना करना है। विशेष रूप से, यह वर्तमान बार के एमए और पिछले दो बार के एमए के बीच अंतर की गणना करता है, फिर इसे सटीक एमए परिवर्तन मूल्य प्राप्त करने के लिए संवेदनशीलता गुणांक से गुणा करता है।

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

इसके अतिरिक्त, इस रणनीति में एक आरएसआई फ़िल्टर है जो केवल लंबे संकेतों की अनुमति देता है जब आरएसआई एक सीमा से अधिक होता है, जिससे प्रवृत्ति उलटने के जोखिम से बचा जाता है।

लाभ

  • प्रवृत्ति परिवर्तनों को प्रभावी ढंग से ट्रैक करने के लिए गतिशील एमए
  • बीबी एक गतिशील संकेतक के रूप में एक बेहतर प्रवृत्ति विस्फोट पहचान के लिए एमए के साथ संयुक्त
  • आरएसआई फ़िल्टर कम रिबाउंड से झूठे संकेतों से बचता है
  • लंबी केवल लगातार तेजी वाले बाजार के लिए उपयुक्त है
  • विभिन्न उत्पादों और समय सीमाओं के लिए लचीले समायोज्य मापदंड

जोखिम

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

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

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

आगे के अनुकूलन के लिए कुछ जगह हैः

  • बेहतर चिकनाई के लिए बंद, चलती औसत आदि जैसे विभिन्न मूल्य स्रोतों का प्रयास करें

  • विभिन्न उत्पादों में अनुकूलन के लिए एमए और बीबी अवधि पैरामीटर समायोजित करें

  • अधिक सहज सूचक मूल्य के लिए संवेदनशीलता गुणांक के बजाय अनुपात संबंध का प्रयास करें

  • संकेत की गुणवत्ता में सुधार के लिए ट्रेंडलाइन, वॉल्यूम आदि जैसे अन्य फ़िल्टर जोड़ें

  • संकेतक पैटर्न के आधार पर संक्षिप्त रणनीति विकसित करें

  • जोखिम नियंत्रण में सुधार के लिए स्टॉप लॉस तंत्र शामिल करें

निष्कर्ष

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


/*backtest
start: 2022-11-08 00:00:00
end: 2023-11-14 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=5

///////////Original Script Courtesy of Lazy_Bear.... Absolute Legend\\\\\\\\\\\\\\\

strategy('SmoothedWaddah', overlay=false, initial_capital=1)
sensitivity = input(150, title='Sensitivity')
fastLength = input(20, title='MacD FastEMA Length')
slowLength = input(40, title='MacD SlowEMA Length')
channelLength = input(20, title='BB Channel Length')
mult = input(1.5, title='BB Stdev Multiplier')
RSI14filter = input(40, title='RSI Value trade filter')

////////////MacD Calculation of price//////////////////////////////
calc_macd(source, fastLength, slowLength) =>
    fastMA = ta.ema(source, fastLength)
    slowMA = ta.ema(source, slowLength)
    fastMA - slowMA

/////////BolingerBand Calculation of Price///////////////////////
calc_BBUpper(source, length, mult) =>
    basis = ta.sma(source, length)
    dev = mult * ta.stdev(source, length)
    basis + dev

calc_BBLower(source, length, mult) =>
    basis = ta.sma(source, length)
    dev = mult * ta.stdev(source, length)
    basis - dev

//////heinkenashi chart call for closing price "smoothing mechanism"\\\\\\\\\\\\\\\\\\\\\\\\\\\
point = request.security(ticker.heikinashi(syminfo.tickerid), timeframe.period, close)

////////////////////T1 is change in MacD current  candle from previous candle Sensitivy amplifies calculation/////////////////////
t1 = (calc_macd(point, fastLength, slowLength) - calc_macd(point[1], fastLength, slowLength)) * sensitivity
//////////////////////T2 is  T1 from two candles prior\\\\\\\\\\\\\\\\\\\\\\\\\\\
t2 = (calc_macd(point[2], fastLength, slowLength) - calc_macd(point[3], fastLength, slowLength)) * sensitivity

////////////////E1 is difference in bolinger band upper and lower...E2 is E1 from one candle prior not needed//////////////
e1 = calc_BBUpper(ohlc4, channelLength, mult) - calc_BBLower(ohlc4, channelLength, mult)
//e2 = (calc_BBUpper(close[1], channelLength, mult) - calc_BBLower(close[1], channelLength, mult))

//////signal bar printing.. Up if MacD positive .. Down if MacD negative//////////
trendUp = t1 >= 0 ? t1 : 0
trendDown = t1 < 0 ? -1 * t1 : 0

///////plots difference in macD*Sensitivity, color change if increasing or decreasing. 
//////color is green/lime if explosion is up \ color is red/orange if explosion is down/////////
plot(trendUp, style=plot.style_columns, linewidth=1, color=trendUp < trendUp[1] ? color.new(color.lime,45) : color.new(color.green,45), title='UpTrend')
plot(trendDown, style=plot.style_columns, linewidth=1, color=trendDown < trendDown[1] ? color.new(color.orange,45) : color.new(color.red,45), title='DownTrend')
plot(e1, style=plot.style_line, linewidth=2, color=color.new(#A0522D, 0), title='ExplosionLine')


////////////Entry conditions and Concept/////////////////////
////////////Long Only System. T1 is measuring the distance between MACD EMA's. This is Multiplied
////////////by the sensitivity so that it can be compared to the difference between BollingerBand. 
/////////////{this could have been a ratio maybe i will work with that in a different script.} 
/////////////I found that 135-175 sensitivy allows for values to be compared on most charts.....
////////////If the (difference between the EMA)*(Sensitivity) is greater than (BB upper line- BB lower line)
////////////it is considered an explosion in either the downside or the upside.The indicator will print
///////////a bar higher than the trigger line either green or red (up or down respectively)//////////////////

longCondition = trendUp > e1 and ta.rsi(close, 14) > RSI14filter
if longCondition
    strategy.entry('up', strategy.long)

strategy.close('up', trendDown > e1)



अधिक