एमएसीडी संकेतक पर आधारित प्रवृत्ति व्यापार रणनीति

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

img

अवलोकन

इस रणनीति का मूल सूत्र एंड्रयू अब्राहम द्वारा TASC पत्रिका के सितंबर 1998 अंक में प्रकाशित लेख Trading the Trend में विकसित सूचक पर आधारित है। सूचक बाजार की प्रवृत्ति की दिशा निर्धारित करने के लिए औसत वास्तविक सीमा और मूल्य चैनल का उपयोग करता है, जिसका उद्देश्य मध्यम-लंबी अवधि के रुझानों को पकड़ना है।

रणनीति तर्क

यह रणनीति पहले औसत वास्तविक सीमा (एटीआर) के 21-दिवसीय भारित चलती औसत की गणना आधार रेखा अस्थिरता सीमा के रूप में करती है। फिर यह पिछले 21 दिनों में उच्चतम और निम्नतम कीमतों की गणना करती है। वर्तमान बंद मूल्य की तुलना आधार रेखा सीमा की ऊपरी और निचली सीमाओं के साथ करके, यह आकलन करती है कि क्या मूल्य प्रवृत्ति की दिशा निर्धारित करने के लिए चैनल से बाहर निकलता है।

विशेष रूप से, ऊपरी चैनल सीमा को पिछले 21 दिनों में सबसे अधिक मूल्य माइनस 3 बार बेसलाइन एटीआर के रूप में परिभाषित किया गया है, और निचली चैनल सीमा पिछले 21 दिनों में सबसे कम मूल्य प्लस 3 बार बेसलाइन एटीआर है। जब बंद मूल्य ऊपरी सीमा से अधिक होता है, तो यह एक तेजी की प्रवृत्ति का संकेत देता है। जब बंद मूल्य निचली सीमा से कम होता है, तो यह एक मंदी की प्रवृत्ति का संकेत देता है।

प्रवृत्ति की दिशा निर्धारित करते हुए, यह रणनीति फ़िल्टरिंग के लिए MACD संकेतक भी पेश करती है। यह केवल खरीद संकेत उत्पन्न करती है जब MACD हिस्टोग्राम सकारात्मक होता है ताकि खरीदारी के अवसरों को याद न किया जा सके।

लाभ

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

  1. रुझानों को निर्धारित करने और दीर्घकालिक दिशा को सटीक रूप से पहचानने के लिए मूल्य चैनल का उपयोग करना
  2. गतिशील आधारभूत अस्थिरता सीमा बाजार परिवर्तनों के अनुकूल है
  3. एमएसीडी फ़िल्टरिंग खरीद बिंदुओं की कमी से बचने के लिए अतिरिक्त निर्णय समर्थन प्रदान करता है
  4. कॉन्फ़िगर करने योग्य पैरामीटर रणनीति शैली को समायोजित करने में लचीलापन प्रदान करते हैं

जोखिम

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

  1. मूल्य चैनल के टूटने का जोखिम
  2. एमएसीडी सिग्नलिंग त्रुटियों का जोखिम
  3. अपर्याप्त पैरामीटर सेटअप से रणनीति अस्थिर हो सकती है

इन जोखिमों को मापदंडों का अनुकूलन, सख्त स्थिति आकार और समय पर स्टॉप लॉस करके कम किया जा सकता है।

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

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

  1. इष्टतम खोजने के लिए विभिन्न पैरामीटर संयोजनों का परीक्षण करें

लंबाई या गुणक के विभिन्न संयोजनों का परीक्षण करें ताकि बैकटेस्ट के आधार पर उच्चतम रिटर्न देने वाले पैरामीटर संयोजन का पता लगाया जा सके।

  1. अन्य संकेतक के साथ फ़िल्टरिंग जोड़ें

संकेतों को फ़िल्टर करने और लाभप्रदता में सुधार के लिए आरएसआई, केडीजे और अन्य संकेतकों को शामिल करने वाला परीक्षण।

  1. गतिशील रूप से पैरामीटर समायोजित करें

बाजार की स्थितियों के आधार पर गतिशील रूप से मापदंडों को अनुकूलित करें, जैसे कि जब प्रवृत्ति मजबूत हो, तो चैनल रेंज को उचित रूप से चौड़ा करना, या जब बाजार अधिक रेंज-बाउंड हो, तो रेंज को कसना।

सारांश

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


/*backtest
start: 2023-01-26 00:00:00
end: 2024-02-01 00:00:00
period: 1d
basePeriod: 1h
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/
// © melihtuna

//@version=1
strategy("Trend Trader Strategy with MACD", overlay=true)

// === Trend Trader Strategy ===
Length = input(21),
Multiplier = input(3, minval=1)
MacdControl = input(true, title="Control 'MACD Histogram is positive?' when Buy condition")
avgTR      = wma(atr(1), Length)
highestC   = highest(Length)
lowestC    = lowest(Length)
hiLimit = highestC[1]-(avgTR[1] * Multiplier)
loLimit = lowestC[1]+(avgTR[1] * Multiplier)
ret = iff(close > hiLimit and close > loLimit, hiLimit,
        iff(close < loLimit and close < hiLimit, loLimit, nz(ret[1], 0)))
pos =	iff(close > ret, 1,
	    iff(close < ret, -1, nz(pos[1], 0))) 
barcolor(pos == -1 ? red: pos == 1 ? green : blue )
plot(ret, color= blue , title="Trend Trader Strategy with MACD")

// === INPUT BACKTEST RANGE ===
FromMonth = input(defval = 1, title = "From Month", minval = 1, maxval = 12)
FromDay   = input(defval = 1, title = "From Day", minval = 1, maxval = 31)
FromYear  = input(defval = 2020, title = "From Year", minval = 2017)
ToMonth   = input(defval = 1, title = "To Month", minval = 1, maxval = 12)
ToDay     = input(defval = 1, title = "To Day", minval = 1, maxval = 31)
ToYear    = input(defval = 9999, title = "To Year", minval = 2017)

// === FUNCTION EXAMPLE ===
start     = timestamp(FromYear, FromMonth, FromDay, 00, 00)  // backtest start window
finish    = timestamp(ToYear, ToMonth, ToDay, 23, 59)        // backtest finish window
window()  => true

// === MACD ===
[macdLine, signalLine, histLine] = macd(close, 12, 26, 9)
macdCond= MacdControl ? histLine[0] > 0 ? true : false : true

strategy.entry("BUY", strategy.long, when = window() and pos == 1 and macdCond)
strategy.entry("SELL", strategy.short, when = window() and pos == -1)




अधिक