दोहरी चलती औसत रिवर्सल ट्रेडिंग रणनीति

लेखक:चाओझांग, दिनांक: 2023-10-16 15:50:35
टैगः

img

अवलोकन

दोहरी चलती औसत रिवर्स ट्रेडिंग रणनीति दो अलग-अलग अवधियों - अल्पकालिक और दीर्घकालिक के सरल चलती औसत की गणना करके ट्रेडिंग संकेत उत्पन्न करती है। यह लंबी अवधि के चलती औसत के ऊपर पार होने पर लंबी अवधि के चलती औसत के ऊपर जाता है, और लंबी अवधि के चलती औसत के नीचे पार होने पर छोटी अवधि के चलती औसत के नीचे जाता है। यह रणनीति प्रवृत्ति के बाद की रणनीति श्रेणी से संबंधित है।

रणनीति तर्क

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

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

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

लाभ विश्लेषण

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

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

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

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

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

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

सारांश

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


/*backtest
start: 2023-09-15 00:00:00
end: 2023-10-15 00:00:00
period: 4h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

// This source code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/
// © HPotter
//  Simple SMA strategy
//
// WARNING:
//      - For purpose educate only
//      - This script to change bars colors
//@version=4
timeinrange(res, sess) => not na(time(res, sess)) ? 1 : 0

strategy(title="Simple SMA Strategy Backtest", shorttitle="SMA Backtest", precision=6, overlay=true)
Resolution = input(title="Resolution", type=input.resolution, defval="D")
Source = input(title="Source", type=input.source, defval=close)
xSeries = security(syminfo.tickerid, Resolution, Source)
Length = input(title="Length", type=input.integer, defval=14, minval=2)
TriggerPrice = input(title="Trigger Price", type=input.source, defval=close)
TakeProfit = input(50, title="Take Profit", step=0.01)
StopLoss = input(20, title="Stop Loss", step=0.01)
UseTPSL = input(title="Use Take\Stop", type=input.bool, defval=false)
BarColors = input(title="Painting bars", type=input.bool, defval=true)
ShowLine = input(title="Show Line", type=input.bool, defval=true)
UseAlerts = input(title="Use Alerts", type=input.bool, defval=false)
timeframe = input(title="Time Frame", defval="15")
timerange = input(title="Time Range", defval="2300-0800")
reverse = input(title="Trade Reverse", type=input.bool, defval=false)
pos = 0
xSMA = sma(xSeries, Length)
pos := iff(TriggerPrice > xSMA, 1,
         iff(TriggerPrice < xSMA, -1, nz(pos[1], 0)))
nRes = ShowLine ? xSMA : na
alertcondition(UseAlerts == true and pos != pos[1] and pos == 1, title='Signal Buy', message='Strategy to change to BUY')
alertcondition(UseAlerts == true and pos != pos[1] and pos == -1, title='Signal Sell', message='Strategy to change to SELL')
alertcondition(UseAlerts == true and pos != pos[1] and pos == 0, title='FLAT', message='Strategy get out from position')
possig =iff(pos[1] != pos,
         iff(reverse and pos == 1, -1,
           iff(reverse and pos == -1, 1, pos)), 0)
if (possig == 1 and timeinrange(timeframe, timerange))
    strategy.entry("Long", strategy.long)
if (possig == -1 and timeinrange(timeframe, timerange))
    strategy.entry("Short", strategy.short)
if (timeinrange(timeframe, timerange) == 0) 
    strategy.close_all()

if (UseTPSL)    
    strategy.close("Long", when = high > strategy.position_avg_price + TakeProfit, comment = "close buy take profit")
    strategy.close("Long", when = low < strategy.position_avg_price - StopLoss, comment = "close buy stop loss")
    strategy.close("Short", when = low < strategy.position_avg_price - TakeProfit, comment = "close buy take profit")
    strategy.close("Short", when = high > strategy.position_avg_price + StopLoss, comment = "close buy stop loss")
nColor = BarColors ? strategy.position_avg_price != 0  and pos == 1 ? color.green :strategy.position_avg_price != 0 and pos == -1 ? color.red : color.blue : na
barcolor(nColor)
plot(nRes, title='SMA', color=#00ffaa, linewidth=2, style=plot.style_line)

अधिक