MACD पर आधारित समग्र मात्रात्मक ट्रेडिंग रणनीति


निर्माण तिथि: 2023-12-13 16:44:46 अंत में संशोधित करें: 2023-12-13 16:44:46
कॉपी: 0 क्लिक्स: 921
1
ध्यान केंद्रित करना
1621
समर्थक

MACD पर आधारित समग्र मात्रात्मक ट्रेडिंग रणनीति

अवलोकन

यह रणनीति MACD सूचकांक पर आधारित एक मिश्रित मात्रात्मक ट्रेडिंग रणनीति है। यह MACD, KDJ आदि जैसे कई संकेतकों का उपयोग करता है और सूचकांकों के बीच संयोजन के माध्यम से व्यापार संकेत उत्पन्न करता है।

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

इस रणनीति का मुख्य संकेतक MACD है। MACD एक इंडेक्स मूविंग एवरेज को दर्शाता है, जो एक ट्रेंड ट्रैकिंग संकेतक है। यह एक फास्ट मूविंग एवरेज (EMA) और एक स्लो मूविंग एवरेज (EMA) से बना है। फास्ट लाइन का डिफ़ॉल्ट पैरामीटर 12 है, जबकि स्लो लाइन का डिफ़ॉल्ट पैरामीटर 26 है। रणनीति दो ईएमए लाइनों के बीच अंतर की गणना करती है, अर्थात् डीआईएफ। और फिर डीआईएफ के लिए एक 9 दिन का ईएमए प्राप्त करती है, डीईए संकेतक। डीआईएफ पर डीईए के माध्यम से एक खरीद संकेत उत्पन्न करता है और नीचे से एक बिक्री संकेत उत्पन्न करता है।

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

रणनीतिक लाभ

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

इसके अलावा, रणनीति में एक समय चयनकर्ता जोड़ा गया है, जो स्वयं को समय सीमा का चयन करने की अनुमति देता है। यह रणनीति के प्रदर्शन का आकलन करने के लिए अधिक लचीलापन प्रदान करता है।

रणनीतिक जोखिम और समाधान

  • जब बाजार में लंबे समय तक उतार-चढ़ाव होता है, तो MACD कई बार गलत सूचना देगा। इस समय ईएमए लाइन के मापदंडों को उचित रूप से समायोजित किया जा सकता है, कुछ शोर को फ़िल्टर किया जा सकता है।

  • KDJ सूचक पैरामीटर की गलत सेटिंग भी परिणामों को प्रभावित कर सकती है। आप अधिक स्थिर पैरामीटर संयोजन चुनने के लिए पैरामीटर के कई सेटों का परीक्षण कर सकते हैं।

  • अनुचित प्रतिक्रिया समय का चयन रणनीति के लाभ को कम या अधिक कर सकता है। परीक्षण के लिए एक प्रतिनिधि समय सीमा का चयन किया जाना चाहिए।

अनुकूलन दिशा

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

  1. स्टॉप लॉस को बढ़ाएं। जब कीमत स्टॉप लॉस लाइन को ट्रिगर करती है, तो स्टॉप लॉस को अनिवार्य करें।

  2. अधिक सूचक फ़िल्टर जोड़ें। आरएसआई, ब्रिन बैंड और अन्य संकेतकों के साथ संयोजन में, संकेत की सटीकता में सुधार किया जा सकता है।

  3. इष्टतम पैरामीटर खोजने के लिए ईएमए और केडीजे पैरामीटर के संयोजन को बदलना

  4. मशीन लर्निंग तकनीक का उपयोग करके स्वचालित अनुकूलन। रणनीति पैरामीटर प्रशिक्षण और अनुकूलन के लिए तंत्रिका नेटवर्क का उपयोग करना।

संक्षेप

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

रणनीति स्रोत कोड
/*backtest
start: 2022-12-06 00:00:00
end: 2023-12-12 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=4
strategy(title="New Renaissance", shorttitle="New Renaissance", overlay=true,initial_capital=10000)

source = close

fastlength=input(12, minval=1)
slowlength=input(26,minval=1)
signallength=input(9,minval=1)

// === Defining the MACD oscillator
fastMA=ema(source,fastlength)
slowMA=ema(source,slowlength)
MACD=fastMA-slowMA
signal=sma(MACD,signallength)
delta=MACD-signal

// === Buy and Sell Signals ===
buy=crossover(MACD, signal)
sell=crossunder(MACD, signal)

// === INPUT BACKTEST RANGE ===
fromMonth = input(defval = 1,    title = "From Month",      type = input.integer, minval = 1, maxval = 12)
fromDay   = input(defval = 1,    title = "From Day",        type = input.integer, minval = 1, maxval = 31)
fromYear  = input(defval = 2018, title = "From Year",       type = input.integer, minval = 1970)
thruMonth = input(defval = 12,    title = "Thru Month",      type = input.integer, minval = 1, maxval = 12)
thruDay   = input(defval = 31,    title = "Thru Day",        type = input.integer, minval = 1, maxval = 31)
thruYear  = input(defval = 2020, title = "Thru Year",       type = input.integer, minval = 1970)

// === INPUT SHOW PLOT ===
showDate  = input(defval = true, title = "Show Date Range", type = input.bool)

// === FUNCTION EXAMPLE ===
start     = timestamp(fromYear, fromMonth, fromDay, 00, 00)        // backtest start window
finish    = timestamp(thruYear, thruMonth, thruDay, 23, 59)        // backtest finish window
window()  => true       // create function "within window of time"

// === EXECUTION ===
strategy.entry("L", strategy.long, when = window() and buy)    // enter long when "within window of time" AND crossover
strategy.close("L", when = window() and sell)                   // exit long when "within window of time" AND crossunder