डबल मूविंग एवरेज रिवर्सल ट्रेडिंग रणनीति


निर्माण तिथि: 2023-10-16 15:50:35 अंत में संशोधित करें: 2023-10-16 15:50:35
कॉपी: 1 क्लिक्स: 671
1
ध्यान केंद्रित करना
1617
समर्थक

डबल मूविंग एवरेज रिवर्सल ट्रेडिंग रणनीति

अवलोकन

द्वि-समानता ट्रेडिंग रणनीति सरल चलती औसत की गणना करके दो अलग-अलग चक्रों के लिए, अल्पकालिक और दीर्घकालिक, और मूल्य के संबंध के आधार पर एक व्यापारिक संकेत उत्पन्न करती है। लंबी अवधि की औसत रेखा को पार करते समय अधिक करें; लंबी अवधि की औसत रेखा को पार करते समय कम करें। यह रणनीति ट्रेंड ट्रैकिंग रणनीति के अंतर्गत आती है।

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

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

विशेष रूप से, रणनीति sma () फ़ंक्शन के माध्यम से दो औसत रेखाओं की गणना करती है, और गणना के परिणामों को xSMA (slow line) और fast line को निर्दिष्ट करती है। रणनीति औसत रेखाओं की गणना करने के लिए close कीमत का उपयोग करती है। जब close कीमत xSMA को पार करती है, तो अधिक करें; जब close कीमत xSMA को पार करती है, तो खाली करें। रणनीति ट्रेडिंग समय सीमा भी सेट करती है, केवल निर्दिष्ट समय सीमा के भीतर ट्रेडिंग सिग्नल जारी करती है।

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

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

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

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

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

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

अनुकूलन दिशा

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

संक्षेप

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

रणनीति स्रोत कोड
/*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)