मल्टी-टाइम फ़्रेम MACD रणनीति


निर्माण तिथि: 2023-11-28 15:33:35 अंत में संशोधित करें: 2023-11-28 15:33:35
कॉपी: 0 क्लिक्स: 1201
1
ध्यान केंद्रित करना
1617
समर्थक

मल्टी-टाइम फ़्रेम MACD रणनीति

अवलोकन

मल्टी टाइमफ्रेम एमएसीडी रणनीति एक मात्रात्मक ट्रेडिंग रणनीति है जिसमें एमएसीडी संकेतक का उपयोग कई समय सीमाओं पर ट्रेंड ट्रैकिंग के लिए किया जाता है। यह रणनीति एमएसीडी संकेतक की गणना करके विभिन्न समय अवधि (३ मिनट, ५ मिनट, १५ मिनट, ३० मिनट) पर एक व्यापारिक संकेत भेजती है ताकि यह निर्धारित किया जा सके कि विभिन्न अवधि के बीच कीमतों की गति समान है या नहीं।

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

इस रणनीति का मुख्य तर्क यह है कि MACD सूचक की गणना कई समय फ़्रेमों पर की जाती है (जैसे कि 3 मिनट, 5 मिनट, 15 मिनट और 30 मिनट) । पहले, MACD सूचक की गणना प्रत्येक समय फ़्रेम पर की जाती है, और MACD सूचक के आधार पर उस समय फ़्रेम के भीतर मूल्य आंदोलन को निर्धारित किया जाता है (जैसे कि वृद्धि या गिरावट) । फिर, कई समय फ़्रेमों के भीतर मूल्य आंदोलन का एक समग्र निर्णय लिया जाता हैः

  1. जब सभी समय-सीमाओं में कीमतें बढ़ जाती हैं, तो एक खरीद संकेत उत्पन्न होता है;
  2. जब कीमतें सभी समय-सीमाओं में गिरती हैं, तो एक बेचने का संकेत उत्पन्न होता है।

ट्रेडिंग सिग्नल को अधिक विश्वसनीय बनाने के लिए, समय-सीमा के बीच रुझानों का आकलन करने के तरीके के माध्यम से, शॉर्ट-टर्म मार्केट के शोर को प्रभावी ढंग से हटाया जा सकता है।

रणनीतिक लाभ

इस रणनीति के निम्नलिखित फायदे हैं:

  1. ट्रेडिंग सिग्नल को अधिक विश्वसनीय बनाने के लिए समय-सीमा में रुझानों का पता लगाने और शोर को फ़िल्टर करने के लिए;
  2. MACD संकेतक पैरामीटर को विभिन्न बाजार स्थितियों के लिए अनुकूलित किया जा सकता है;
  3. समय सीमा के लिए एक समग्र निर्णय की आवश्यकता के लिए लचीला विन्यास, व्यापार के नियमों को स्वयं परिभाषित करना।

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

इस रणनीति में निम्नलिखित जोखिम भी हैं:

  1. सभी समय-सीमाओं में प्रवृत्ति की एकरूपता का आकलन करते समय, स्थानीय उलटफेर के अवसरों को याद किया जा सकता है;
  2. MACD संकेतक पैरामीटर को गलत तरीके से सेट करने से ट्रेडिंग सिग्नल खराब हो सकता है।

समाधान:

  1. समेकित निर्णय के नियमों को उचित रूप से ढीला किया जा सकता है, ताकि अलग-अलग समय-सीमाओं में कीमतों में उलटफेर हो सके और अधिक अवसरों का लाभ उठाया जा सके;
  2. विभिन्न बाजारों के लिए MACD संकेतक पैरामीटर को समायोजित करने की आवश्यकता है ताकि ट्रेडिंग सिग्नल वर्तमान स्थिति के अनुकूल हो सके।

अनुकूलन दिशा

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

  1. सबसे अच्छा संयोजन खोजने के लिए समेकित निर्णय लेने के लिए आवश्यक समय-सीमाओं की संख्या में वृद्धि या कमी;
  2. विभिन्न MACD सूचक पैरामीटर सेटिंग्स का परीक्षण करें;
  3. प्रवेश और बाहर निकलने के नियमों को वास्तविक घटनाओं के आधार पर समायोजित करें।

संक्षेप

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

रणनीति स्रोत कोड
/*backtest
start: 2023-10-28 00:00:00
end: 2023-11-27 00:00:00
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=2
strategy("[RichG] Easy MTF Strategy", overlay=false)

TF_1_time = input("3", "Timeframe 1")
TF_2_time = input("5", "Timeframe 2")
TF_3_time = input("15", "Timeframe 3")
TF_4_time = input("30", "Timeframe 4")

fastLen = input(title="Fast Length",  defval=12)
slowLen = input(title="Slow Length",  defval=26)
sigLen  = input(title="Signal Length",  defval=9)
[macdLine, signalLine, _] = macd(close, fastLen, slowLen, sigLen)

width = 5
upcolor = green
downcolor = red
neutralcolor = blue
linestyle = line

TF_1 = request.security(syminfo.tickerid, TF_1_time, open) < request.security(syminfo.tickerid, TF_1_time, close) ? true:false
TF_1_color = TF_1 ? upcolor:downcolor

TF_2 = request.security(syminfo.tickerid, TF_2_time, open) < request.security(syminfo.tickerid, TF_2_time, close) ? true:false
TF_2_color = TF_2 ? upcolor:downcolor

TF_3 = request.security(syminfo.tickerid, TF_3_time, open) < request.security(syminfo.tickerid, TF_3_time, close) ? true:false
TF_3_color = TF_3 ? upcolor:downcolor

TF_4 = request.security(syminfo.tickerid, TF_4_time, open) < request.security(syminfo.tickerid, TF_4_time, close) ? true:false
TF_4_color = TF_4 ? upcolor:downcolor

TF_global = TF_1 and TF_2 and TF_3 and TF_4 
TF_global_bear = TF_1 == false and TF_2 == false and TF_3 == false and TF_4 == false
TF_global_color = TF_global ? green : TF_global_bear ? red : white
TF_trigger_width = TF_global ? 6 : width

plot(1, style=linestyle, linewidth=width, color=TF_1_color)
plot(5, style=linestyle, linewidth=width, color=TF_2_color)
plot(10, style=linestyle, linewidth=width, color=TF_3_color)
plot(15, style=linestyle, linewidth=width, color=TF_4_color)
plot(25, style=linestyle, linewidth=4, color=TF_global_color)    

exitCondition_Long = TF_global_bear
exitCondition_Short = TF_global

longCondition = TF_global
if (longCondition)
    strategy.entry("MTF_Long", strategy.long)

shortCondition = TF_global_bear
if (shortCondition)
    strategy.entry("MTF_Short", strategy.short)
    
strategy.close("MTF_Long", when=exitCondition_Long)    
strategy.close("MTF_Short", when=exitCondition_Short)