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


निर्माण तिथि: 2024-03-11 10:46:10 अंत में संशोधित करें: 2024-03-11 10:46:10
कॉपी: 3 क्लिक्स: 595
1
ध्यान केंद्रित करना
1617
समर्थक

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

रणनीति अवलोकन

इस लेख में स्टोचैस्टिक मोमेंटम इंडेक्स (SMI) पर आधारित एक मात्रात्मक ट्रेडिंग रणनीति का वर्णन किया गया है। यह रणनीति एसएमआई इंडेक्स और इसके इंडेक्सियल मूविंग एवरेज (EMA) के क्रॉस सिग्नल का उपयोग करके संभावित खरीदने और बेचने के अवसरों की पहचान करती है। एसएमआई सिग्नल लाइन पर अपने ईएमए को पार करते समय, एक खरीद संकेत को ट्रिगर करता है; जब एसएमआई सिग्नल लाइन अपने ईएमए को पार करती है, तो एक बिक्री संकेत को ट्रिगर करती है।

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

इस रणनीति के केंद्र में यादृच्छिक बल-मोर्टार सूचकांक (SMI) है। SMI एक गतिशील अस्थिरता सूचकांक है जिसका उपयोग उच्च और निम्न मूल्य सीमा के सापेक्ष समापन मूल्य की स्थिति को मापने के लिए किया जाता है। विशेष रूप से, यह रणनीति पहले निर्दिष्ट अवधि में उच्चतम और निम्नतम मूल्य की गणना करती है, फिर समापन मूल्य और उच्च और निम्न मूल्य के बीच के अंतर, और उच्चतम और निम्नतम मूल्य के बीच के अंतर की गणना करती है। इसके बाद, रणनीति SMI मान की गणना करती है, अर्थात, सापेक्ष विचलन औसत 100 से पूर्ण विचलन औसत के अनुपात में। अंत में, रणनीति SMI की सूचकांक चलती औसत को सिग्नल लाइन के रूप में गणना करती है।

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

रणनीतिक लाभ

  1. यह रणनीति मजबूत गतिशीलता सूचकांक एसएमआई पर आधारित है, जो बाजार के रुझानों और गतिशीलता में बदलाव को प्रभावी ढंग से पकड़ने में सक्षम है।

  2. रणनीति तर्क स्पष्ट है, इसे समझना और लागू करना आसान है।

  3. सूचकांक चलती औसत का उपयोग करके एक संकेत रेखा के रूप में, रणनीति मूल्य शोर को कम करने और संकेत की विश्वसनीयता में सुधार करने में सक्षम है।

  4. ओवरबॉट और ओवरसोल्ड स्तरों के निशान रणनीति के लिए अतिरिक्त जोखिम प्रबंधन उपकरण प्रदान करते हैं।

रणनीतिक जोखिम

  1. यह रणनीति एकल सूचक एसएमआई पर निर्भर करती है, जो सूचक विफलता के जोखिम के साथ हो सकती है। इस जोखिम को कम करने के लिए, व्यापार संकेतों को अन्य तकनीकी संकेतकों या मौलिक कारकों के साथ संयोजन में पुष्टि करने पर विचार किया जा सकता है।

  2. रणनीतियों में अस्थिर बाजारों में बार-बार ट्रेडिंग सिग्नल उत्पन्न हो सकते हैं, जिसके परिणामस्वरूप उच्च ट्रेडिंग लागत होती है। इस समस्या को हल करने के लिए, पैरामीटर को अनुकूलित करके या फ़िल्टरिंग तंत्र को पेश करके ट्रेडिंग आवृत्ति को कम किया जा सकता है।

  3. इस रणनीति में स्पष्ट स्टॉप लॉस मैकेनिज्म नहीं है, जो एक एकल लेनदेन के लिए बहुत अधिक जोखिम की समस्या का सामना कर सकता है। उचित स्टॉप लॉस लेवल सेट करके जोखिम को नियंत्रित किया जा सकता है।

रणनीति अनुकूलन दिशा

  1. पैरामीटर अनुकूलन: इस रणनीति का प्रदर्शन काफी हद तक एसएमआई की गणना में उपयोग किए जाने वाले पैरामीटर पर निर्भर करता है, जैसे कि% K लंबाई,% D लंबाई, आदि। इन पैरामीटर के अनुकूलन से, रणनीति का प्रदर्शन बढ़ाया जा सकता है।

  2. सिग्नल फ़िल्टरिंगः ट्रेडिंग की आवृत्ति को कम करने और सिग्नल की गुणवत्ता को बढ़ाने के लिए, अतिरिक्त फ़िल्टरिंग तंत्र जैसे कि प्रवृत्ति की पुष्टि, ट्रेड वॉल्यूम की पुष्टि आदि को शामिल करने पर विचार किया जा सकता है।

  3. जोखिम प्रबंधनः रणनीति में स्पष्ट स्टॉप लॉस और पोजीशन मैनेजमेंट नियम शामिल करने से जोखिम को बेहतर तरीके से नियंत्रित किया जा सकता है और रणनीति की स्थिरता को बढ़ाया जा सकता है।

  4. बहु-कारक संयोजनः एसएमआई संकेतों को अन्य तकनीकी संकेतकों या मौलिक कारकों के साथ जोड़कर एक अधिक व्यापक और अधिक विश्वसनीय ट्रेडिंग निर्णय तंत्र बनाने के लिए।

संक्षेप

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

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

//@version=5
strategy("Stochastics Momentum Index Strategy", shorttitle="SMI_BackTest", overlay=false)

// Input parameters
a = input.int(10, "Percent K Length")
b = input.int(3, "Percent D Length")
ob = input.int(40, "Overbought")
os = input.int(-40, "Oversold")

// Range Calculation
ll = ta.lowest(low, a)
hh = ta.highest(high, a)
diff = hh - ll
rdiff = close - (hh+ll)/2

avgrel = ta.ema(ta.ema(rdiff,b),b)
avgdiff = ta.ema(ta.ema(diff,b),b)

// SMI calculations
SMI = avgdiff != 0 ? (avgrel/(avgdiff/2)*100) : 0
SMIsignal = ta.ema(SMI,b)
emasignal = ta.ema(SMI, 10)

// Color Definition for Stochastic Line
col = SMI >= ob ? color.green : SMI <= os ? color.red : color.white

plot(SMIsignal, title="Stochastic", color=color.white)

plot(emasignal, title="EMA", color=color.yellow)

level_40 = ob
level_40smi = SMIsignal > level_40 ? SMIsignal : level_40

level_m40 = os
level_m40smi = SMIsignal < level_m40 ? SMIsignal : level_m40

plot(level_40, "Level ob", color=color.red)
plot(level_40smi, "Level ob SMI", color=color.red, style=plot.style_line)

plot(level_m40, "Level os", color=color.green)
plot(level_m40smi, "Level os SMI", color=color.green, style=plot.style_line)

//fill(level_40, level_40smi, color=color.red, transp=ob, title="OverSold")
//fill(level_m40, level_m40smi, color=color.green, transp=ob, title="OverBought")

// Strategy Tester
longCondition = ta.crossover(SMIsignal, emasignal)
if (longCondition)
    strategy.entry("Buy", strategy.long)

shortCondition = ta.crossunder(SMIsignal, emasignal)
if (shortCondition)
    strategy.entry("Sell", strategy.short)