
डायनामिक मोमेंटम ऑस्सिलेटर ट्रेडिंग रणनीति डायनामिक मोमेंटम ऑस्सिलेटर डायनामो सूचक पर आधारित है, जो ई. मार्शल वॉल द्वारा जुलाई 1996 में फ्यूचर्स फ्यूचर्स पत्रिका में प्रकाशित एक लेख में प्रस्तुत किया गया था, जिसमें प्रवृत्ति के प्रभाव को खत्म करने के लिए मानक ऑस्सिलेटर का सामान्यीकरण किया गया था।
यह रणनीति पहले 10 दिनों की लंबाई के एक यादृच्छिक सूचकांक की गणना करती है, फिर उस सूचकांक के 10 दिनों के सरल चलती औसत की गणना करती है, और फिर इस चलती औसत के आधार पर 20 दिनों की चलती औसत की गणना करती है। औसत। यह गतिशील गतिशीलता ऑसिलेटर की गणना का आधार बनाता है।
रणनीति ने सूचकांक के उच्चतम और निम्नतम मानों की गणना की, और फिर मध्य मान की गणना की। यह 20 दिन की औसत रेखा को मूल सूचकांक से अलग करता है, और फिर मध्य मान से इस अंतर को घटा देता है, एक मानकीकृत स्वैप बनाने के लिए। जब यह मानकीकृत मान 77 से अधिक होता है, तो अधिक होता है, और 23 से कम होता है, तो शून्य होता है।
इस रणनीति के मुख्य लाभ हैंः
डायनामिक डायनामिक ऑस्केलेटर इंडिकेटर का उपयोग करने से ट्रेंड के प्रभाव को हटा दिया जाता है, जिससे ट्रेडिंग सिग्नल अधिक विश्वसनीय हो जाते हैं।
ओवरबॉट और ओवरसोल्ड जोन के संयोजन से, टर्नओवर पर अधिक सटीक ट्रेडिंग सिग्नल प्राप्त किया जा सकता है।
नियम सरल, स्पष्ट और लागू करने में आसान हैं।
इस रणनीति के मुख्य जोखिम हैंः
बाजार में उथल-पुथल के दौरान, संकेतकों के गलत संकेत देने की संभावना अधिक होती है। जोखिम को नियंत्रित करने के लिए स्टॉप लॉस सेट किया जा सकता है।
अस्थिर बाजारों में, अक्सर झूठे संकेत उत्पन्न होते हैं। आप कुछ शोर को फ़िल्टर करने के लिए मापदंडों को ठीक से समायोजित कर सकते हैं।
ट्रेडों की आवृत्ति अधिक हो सकती है और ट्रेडों की लागत से मुनाफे पर कुछ प्रभाव पड़ सकता है।
इस रणनीति को निम्नलिखित पहलुओं से अनुकूलित किया जा सकता हैः
विभिन्न बाजारों के आंकड़ों का परीक्षण करें और सर्वोत्तम अनुबंधों और इष्टतम पैरामीटर संयोजनों की तलाश करें।
फ़िल्टर की स्थिति को बढ़ाएं, संकेत देने से पहले प्रवृत्ति की ताकत का आकलन करें, और उतार-चढ़ाव की स्थिति में फंसने से बचें।
स्टॉप-आउट को बढ़ाएं जब कीमत एक नकारात्मक दिशा में एक सीमा को पार करती है।
इस रणनीति के आधार पर, अधिक जटिल ट्रेडिंग सिस्टम विकसित किए जा सकते हैं, जो कई अन्य संकेतकों के साथ मिलकर निर्णय लेते हैं।
गतिशील गतिशील ऑब्जर्वेटर ट्रेडिंग रणनीति प्रवृत्ति के प्रभाव को समाप्त करके ओवरबॉट और ओवरबॉट क्षेत्रों में अधिक सटीक ट्रेडिंग सिग्नल भेजती है। यह रणनीति सरल, आसान है, लेकिन इसमें कुछ जोखिम भी हैं। पैरामीटर और नियमों के अनुकूलन के माध्यम से, सिस्टम की स्थिरता और लाभप्रदता में और सुधार किया जा सकता है।
/*backtest
start: 2023-01-15 00:00:00
end: 2024-01-21 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=2
////////////////////////////////////////////////////////////
// Copyright by HPotter v1.0 10/04/2017
// In July 1996 Futures magazine, E. Marshall Wall introduces the
// Dynamic Momentum Oscillator (Dynamo). Please refer to this article
// for interpretation.
// The Dynamo oscillator is a normalizing function which adjusts the
// values of a standard oscillator for trendiness by taking the difference
// between the value of the oscillator and a moving average of the oscillator
// and then subtracting that value from the oscillator midpoint.
//
// You can change long to short in the Input Settings
// Please, use it only for learning or paper trading. Do not for real trading
////////////////////////////////////////////////////////////
strategy(title="Dynamo", shorttitle="Dynamo")
OscLen = input(10, minval=1)
MALen = input(20, minval=1)
HiBand = input(77, minval=1)
LowBand = input(23)
reverse = input(false, title="Trade reverse")
hline(HiBand, color=red, linestyle=line)
hline(LowBand, color=green, linestyle=line)
xOscK = stoch(close, high, low, OscLen)
xOscAvg = sma(xOscK, OscLen)
xMAVal = sma(xOscAvg, MALen)
maxNum = 9999999
LowestSoFar = iff(xOscAvg < nz(LowestSoFar[1], maxNum), xOscAvg, nz(LowestSoFar[1], maxNum))
HighestSoFar = iff(xOscAvg > nz(HighestSoFar[1]), xOscAvg, nz(HighestSoFar[1]))
MidPnt = (LowestSoFar + HighestSoFar) / 2
nRes = MidPnt - (xMAVal - xOscAvg)
pos = iff(nRes > HiBand, 1,
iff(nRes < LowBand, -1, nz(pos[1], 0)))
possig = iff(reverse and pos == 1, -1,
iff(reverse and pos == -1, 1, pos))
if (possig == 1)
strategy.entry("Long", strategy.long)
if (possig == -1)
strategy.entry("Short", strategy.short)
barcolor(possig == -1 ? red: possig == 1 ? green : blue )
plot(nRes, color=blue, title="Dynamo")