यह रणनीति ईएमए सूचक का उपयोग करके स्टॉक की कीमतों के रुझान की पहचान करती है और मानक अंतर की गणना के साथ खरीद और बेचने के संकेतों को जोड़ती है। मुख्य विचार यह है कि वर्तमान मूल्य और ईएमए के अंतर को गणना करना और थ्रेशोल्ड खरीद को निर्धारित करना है।
रणनीति सबसे पहले closing price और EMA के बीच अंतर v की गणना करती है। इसके बाद v के लिए EMA की लंबाई की गणना की जाती है। इसके बाद, buy direction coefficient k का निर्धारण किया जाता है, k 1 के लिए buy and sell, k -1 के लिए buy and sell। इसके बाद, buy signal threshold dev_limit की गणना की जाती है, जो कि k को dev से गुणा करता है और फिर इसे limiting factor के रूप में गुणा करता है। जब v dev_limit को पार करता है, तो buy signal उत्पन्न होता है।
इस रणनीति में दो मोड दिए गए हैंः
नीचे जाने के लिए खरीदें, जब v नकारात्मक dev_limit से गुजरता है तो खरीदें, यानी गिरावट की प्रवृत्ति का पालन करें।
जब v पर dev_limit सही हो तो खरीदें, यानी ऊपर की ओर प्रवृत्ति का पालन करें।
कुल मिलाकर, यह रणनीति गतिशील रूप से मूल्य और ईएमए के अंतर के मानक अंतर की गणना करके ट्रेंड ट्रैकिंग को प्राप्त करने के लिए खरीदारी थ्रेशोल्ड सेट करती है। कारक पैरामीटर खरीदारी संकेत की संवेदनशीलता को नियंत्रित करते हैं। ईएमए_लंबाई ईएमए चक्र को नियंत्रित करती है। खरीदारी पैटर्न खरीदारी की दिशा को नियंत्रित करती है।
इस रणनीति के निम्नलिखित फायदे हैं:
ईएमए सूचक का उपयोग मूल्य प्रवृत्ति की दिशा की पहचान करने के लिए करें, ईएमए सूचक कीमतों को चिकना करने के लिए, प्रवृत्ति की पहचान करना अच्छा है।
स्टैंडर्ड डिफरेंस के साथ डायनामिक थ्रेशोल्ड, फिक्स्ड थ्रेशोल्ड की तुलना में बाजार में बदलाव के लिए अधिक अनुकूल है।
दो प्रकार के खरीद मोड हैं जिनमें आप चुन सकते हैं कि क्या आप ऊपर की ओर या नीचे की ओर ट्रेंड करना चाहते हैं।
factor पैरामीटर खरीद संवेदनशीलता को समायोजित करने के लिए जगह प्रदान करता है। ema_length पैरामीटर ईएमए चक्र अनुकूलन पैरामीटर को समायोजित कर सकता है।
रणनीति तर्क स्पष्ट और सरल है, इसे समझना और संशोधित करना आसान है।
एक सकारात्मक रणनीति के साथ अपने पदों को प्रबंधित करने के लिए लचीला।
इस रणनीति के साथ निम्नलिखित जोखिम भी हैं:
ईएमए सूचकांक में देरी है, और यह एक रुझान मोड़ को याद कर सकता है।
पैरामीटर अनुकूलन पर निर्भर करता है, यदि पैरामीटर गलत तरीके से सेट किया गया है, तो यह अतिसंवेदनशील या धीमा हो सकता है।
ट्रेंड का पीछा करने का जोखिम, अगर ट्रेंड बदल जाता है तो इससे अधिक नुकसान हो सकता है।
मल्टी-स्पेस रूपांतरण के कारण लेन-देन में वृद्धि हुई है।
बड़े पैमाने पर झटके के दौरान सिग्नल अधिक होते हैं, जिससे लेनदेन की लागत बढ़ जाती है।
इन जोखिमों के लिए, जोखिम नियंत्रण के लिए स्टॉप-लॉस रणनीतियों को शामिल करने, इष्टतम पैरामीटर खोजने के लिए ऑप्टिमाइज़्ड पैरामीटर संयोजन परीक्षण, बहुत बार व्यापार से बचने के लिए फ़िल्टर शर्तों को शामिल करने आदि पर विचार किया जा सकता है।
इस रणनीति को निम्नलिखित पहलुओं से अनुकूलित किया जा सकता हैः
विभिन्न ईएमए चक्रों के पैरामीटर प्रभाव का परीक्षण करें और इष्टतम ईएमए चक्र लंबाई खोजें।
परीक्षण कारक के विभिन्न मानों का उपयोग करके इष्टतम थ्रेशोल्ड संवेदनशीलता की तलाश करें
प्रवृत्ति के अनुसार स्टॉक बढ़ाने के लिए स्टॉक प्रबंधन रणनीतियों का अनुकूलन करना।
अन्य सूचकांकों के लिए फ़िल्टर जोड़े गए हैं, ताकि किसी भी तरह की गलत ट्रेडिंग से बचा जा सके।
स्टॉप लॉस रणनीति को बढ़ाएं और एकल नुकसान को नियंत्रित करें।
दो खरीद मोडों के लिए अलग-अलग पैरामीटर का अनुकूलन करें और सर्वोत्तम पैरामीटर संयोजन खोजें।
प्रवृत्ति रिवर्स सिग्नल का अध्ययन करें, प्रवृत्ति ट्रैकिंग को बंद करने के लिए सेट करें
रणनीति ईएमए की पहचान प्रवृत्ति की दिशा पर आधारित है, और गतिशील गणना थ्रेशोल्ड खरीद और बेचने के संकेत उत्पन्न करता है, प्रवृत्ति को ट्रैक करने के लिए। रणनीति तर्क सरल और स्पष्ट है, और स्थिति प्रबंधन को सक्रिय रूप से ट्रेंड ट्रैक करने के लिए लचीला बनाया जा सकता है। साथ ही, रणनीति में कुछ जोखिम भी हैं, जो पैरामीटर के संयोजन के लिए अनुकूलन परीक्षण की आवश्यकता है, और StopIteration हानि रणनीति के साथ जोखिम को नियंत्रित करने के लिए सहायक है। यह रणनीति सीखने के संकेतकों के संयोजन के रूप में लागू करने, पैरामीटर सेटिंग्स को अनुकूलित करने के लिए एक अच्छा उदाहरण हो सकती है।
/*backtest
start: 2023-10-06 00:00:00
end: 2023-11-05 00:00:00
period: 1h
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/
// © Azzrael
// Based on EMA and EMA Oscilator https://www.tradingview.com/script/qM9wm0PW-EMA-Oscilator-Azzrael/
// (EMA - close) + Std Dev + Factor = detecting oversell/overbuy
// Long only!
// Pyramiding - sometimes, depends on ...
// There 2 enter strategies in one script
// 1 - Classic, buy on entering to OverSell zone (more profitable ~> 70%)
// 2 - Crazy, buy on entering to OverBuy zone (catching trend and pyramiding, more net profit)
// Exit - crossing zero of (EMA - close)
//@version=5
strategy("STR:EMA Oscilator [Azzrael]", overlay=false,
margin_long=100,
margin_short=100,
currency=currency.USD,
default_qty_type=strategy.percent_of_equity,
default_qty_value=30,
pyramiding=3)
entry_name="Buy"
ema_length = input.int(200, "Period", minval=2, step=10)
limit = input.float(1.7, "Factor", minval=1, step=0.1, maxval=10)
dno = input.string(defval="Buy on enter to OverSell", title="Model", options=["Buy on enter to OverSell", "Buy on enter to OverBuy"]) == "Buy on enter to OverSell"
v = close - ta.ema(close, ema_length)
dev = ta.stdev(v, ema_length)
k = dno ? -1 : 1
dev_limit = k*dev*limit
cond_long = dno ? ta.crossunder(v, dev_limit) : ta.crossover(v, dev_limit)
cond_close = ta.cross(v, 0)
// dev visualization
sig_col = (dno and v <= dev_limit) or (not dno and v >= dev_limit) ? color.green : color.new(color.blue, 80)
plot(dev_limit, color=color.green)
plot(k*dev, color=color.new(color.blue, 60))
plot(v, color=sig_col )
hline(0)
// Make love not war
strategy.entry(entry_name, strategy.long, when=cond_long)
strategy.close(entry_name, when=cond_close)