
यह रणनीति दोहरे ईएमए और अद्भुत ऑस्सिलेटर के संयोजन का उपयोग करके प्रवृत्ति की पहचान और ट्रैकिंग को सक्षम करती है। इसमें ईएमए हाल के रुझान की दिशा का तेजी से आकलन करता है, जबकि अद्भुत ऑस्सिलेटर फ़िल्टर झूठे ब्रेकआउट के लिए प्रवेश समय प्रदान करता है। रणनीति का नाम डबल सिग्नल ट्रेंड ट्रैकर है। रणनीति का मुख्य कार्य सटीक रूप से सारांशित करता है।
इस रणनीति में सिग्नल फ़िल्टरिंग के लिए मुख्य रूप से दो ईएमए और भयानक ऑसिलेटर के दो तकनीकी संकेतकों का उपयोग किया जाता है, और इसका विशिष्ट तर्क इस प्रकार हैः
2-चक्र और 20-चक्र ईएमए की गणना करें, जब 2-चक्र ईएमए नीचे से ऊपर की ओर 20 चक्र ईएमए को तोड़ता है, तो इसे एक ऊपर की ओर प्रवृत्ति के रूप में आंका जाए; जब 2-चक्र ईएमए ऊपर से नीचे की ओर 20 चक्र ईएमए को तोड़ता है, तो इसे गिरावट के रूप में आंका जाए।
Awesome Oscillator को Fast Moving Average को Slow Moving Average से घटाकर और फिर MACD Column को Fast Moving Average से घटाकर प्राप्त किया जाता है। AO Column को Buy Signal के रूप में माना जाता है जब यह लाल से नीले रंग में बदल जाता है और Blue से लाल में बदलकर Sell Signal के रूप में माना जाता है।
अंतिम खरीद संकेत केवल तब उत्पन्न होता है जब ईएमए एक ऊंची प्रवृत्ति दिखाता है और एओ एक साथ एक खरीद संकेत दिखाता है; अंतिम बिक्री संकेत केवल तब उत्पन्न होता है जब ईएमए एक नीचे की प्रवृत्ति दिखाता है और एओ एक साथ एक बिक्री संकेत दिखाता है।
इस दोहरे सिग्नल फ़िल्टरिंग तंत्र के माध्यम से, आप ट्रेंड की मध्यवर्ती दिशा को ट्रैक करने के लिए झूठी तोड़फोड़ के संचालन को कम कर सकते हैं।
इस रणनीति के निम्नलिखित फायदे हैं:
दो-लाइन संयुक्त फ़िल्टर, शोर के कारण गलत लेनदेन को कम कर सकता है। ईएमए बड़े रुझान की दिशा का निर्धारण करता है, एओ फ़िल्टर समय पर प्रवेश करता है, दोनों संयोजन संकेत की विश्वसनीयता में सुधार कर सकते हैं।
प्रतिक्रियाशीलता संवेदनशीलता बहुत तेज़ है और समय पर अल्पकालिक रुझान में बदलाव को पकड़ सकता है। 2 चक्र ईएमए ब्रेकडाउन के लिए बहुत संवेदनशील है और यह जल्दी से निर्धारित कर सकता है कि क्या हाल ही में रुझान में बदलाव आया है।
Awesome Oscillator एक बार फिर MACD को फ़िल्टर करता है, जो प्रवृत्ति में झूठे ब्रेक को प्रभावी ढंग से पहचानता है और अनावश्यक रिवर्स ऑपरेशन से बचा जाता है।
रणनीतिक दिशा स्पष्ट है, मध्यम अवधि के रुझानों पर नज़र रखने के लिए। ईएमए मूल रुझानों की दिशा निर्धारित करता है, एओ आगे फ़िल्टरिंग सुनिश्चित करता है कि बड़े रुझानों की दिशा के अनुरूप व्यापार, मध्यम अवधि के रुझानों को लगातार पकड़ सकता है।
रणनीति पैरामीटर का चयन उचित है, 2-चक्र और 20-चक्र ईएमए अलग-अलग चक्र मूल्य परिवर्तन को पकड़ते हैं, 5-चक्र और 34-चक्र एओ पैरामीटर को अनुकूलित किया जाता है ताकि अल्पकालिक रूपरेखा को बेहतर ढंग से पहचाना जा सके।
इस रणनीति के कुछ जोखिम भी हैं:
अस्थिरता के दौरान, ईएमए और एओ अधिक गलत संकेत दे सकते हैं, जिसके परिणामस्वरूप अनावश्यक रूप से खाली ट्रेडिंग होती है। ईएमए चक्र पैरामीटर को समायोजित करके गलत निर्णय के जोखिम को कम किया जा सकता है।
AO कुछ स्थितियों में EMA के पीछे हो सकता है, जिससे सिग्नल का समय अंतर होता है, AO पैरामीटर को ठीक से अनुकूलित किया जा सकता है ताकि यह ब्रेकडाउन के लिए अधिक तेज़ी से प्रतिक्रिया दे सके।
ईएमए और एओ पैरामीटर सेट करें जो अल्पकालिक और मध्यम अवधि की विशेषताओं को ध्यान में रखते हैं, डेटा गुणवत्ता और गणना शक्ति के लिए उच्च आवश्यकताएं हैं जिन्हें विभिन्न किस्मों की विशेषताओं के अनुसार समायोजित करने की आवश्यकता है।
बार-बार व्यापार करने से अधिक शुल्क और स्लिप पॉइंट लागत का सामना करना पड़ता है। रणनीति को उचित रूप से ढीला किया जा सकता है।
रणनीति में महाचक्र के रुझानों और महत्वपूर्ण समर्थन प्रतिरोधों को ध्यान में नहीं रखा गया है, और व्यापार की दिशा को सुनिश्चित करने के लिए अधिक कारक शामिल किए जाने चाहिए।
इस रणनीति को निम्नलिखित तरीकों से अनुकूलित किया जा सकता हैः
प्रवृत्ति का आकलन करने वाले संकेतक को शामिल करना, जो ईएमए को एक बड़ी प्रवृत्ति की दिशा का आकलन करने में मदद करता है, जैसे कि सामान्य रूप से उपयोग किए जाने वाले चलती औसत रिबन, एटीआर और अन्य संकेतक।
महत्वपूर्ण समर्थन प्रतिरोध बिंदु पहचान तंत्र को जोड़ना, जैसे कि फाइबोनैचि रिट्रीट लाइन, केवल महत्वपूर्ण बिंदु के पास संकेत देती है।
ईएमए और एओ पैरामीटर के संयोजन को अनुकूलित करें, दोनों के संयोजन को बढ़ाएं। उदाहरण के लिए, कक्षा आनुवंशिक एल्गोरिदम का उपयोग करके स्वचालित रूप से सर्वोत्तम पैरामीटर जोड़े की खोज करें।
अतिरिक्त स्टॉप लॉस एग्जिट तंत्र। जब कीमत हाल ही में स्विंग हाई / लो से आगे निकलती है, तो स्टॉप लॉस को समय पर बाहर निकालें और एकल नुकसान को नियंत्रित करें।
पिछले डेटा सेट सत्यापन, ऐतिहासिक डेटा का उपयोग करके रणनीति की प्रभावशीलता का मूल्यांकन करना। जाँच करें कि क्या स्थिर लाभप्रदता हो सकती है, और क्या परिणाम अपेक्षित हैं।
वास्तविक समय के लिए पैरामीटर को संशोधित करें, धीरे-धीरे पैरामीटर को संशोधित करें। वास्तविक समय के लिए पैरामीटर को मजबूत करने के लिए, बेहतर स्थिरता पैरामीटर संयोजन प्राप्त करें।
इस रणनीति की समग्र विचारधारा स्पष्ट है, ईएमए बड़े रुझान की दिशा का न्याय करने के लिए, एओ फ़िल्टर सिग्नल के संयोजन का उपयोग दो संकेतकों के साथ दोहरा सत्यापन। प्रवृत्ति को प्रभावी ढंग से पहचानने के लिए, मध्यम अवधि के व्यवहार को ट्रैक करने के लिए। लेकिन कुछ जोखिम और कमियां भी हैं, स्थिरता बढ़ाने के लिए परीक्षण को अनुकूलित करने की आवश्यकता है। कुंजी यह है कि उपयुक्त किस्मों और मापदंडों का चयन करें, व्यापारियों की शैली और नियमों के साथ लागू करें। कुल मिलाकर, यह रणनीति विचारधारा तर्कसंगत है और व्यावहारिक मूल्य है।
/*backtest
start: 2022-10-26 00:00:00
end: 2023-11-01 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=5
////////////////////////////////////////////////////////////
// Copyright by HPotter v1.0 27/04/2022
// This is combo strategies for get a cumulative signal.
//
// First strategy
// This indicator plots 2/20 exponential moving average. For the Mov
// Avg X 2/20 Indicator, the EMA bar will be painted when the Alert criteria is met.
//
// Second strategy
// This indicator plots the oscillator as a histogram where blue denotes
// periods suited for buying and red . for selling. If the current value
// of AO (Awesome Oscillator) is above previous, the period is considered
// suited for buying and the period is marked blue. If the AO value is not
// above previous, the period is considered suited for selling and the
// indicator marks it as red.
//
// WARNING:
// - For purpose educate only
// - This script to change bars colors.
////////////////////////////////////////////////////////////
EMA20(Length) =>
pos = 0.0
xPrice = close
xXA = ta.ema(xPrice, Length)
nHH = math.max(high, high[1])
nLL = math.min(low, low[1])
nXS = nLL > xXA or nHH < xXA ? nLL : nHH
iff_1 = nXS < close[1] ? 1 : nz(pos[1], 0)
pos := nXS > close[1] ? -1 : iff_1
pos
AC(nLengthSlow,nLengthFast,nLengthMA,nLengthEMA,nLengthWMA,bShowWMA,bShowMA,bShowEMA) =>
pos = 0.0
xSMA1_hl2 = ta.sma(hl2, nLengthFast)
xSMA2_hl2 = ta.sma(hl2, nLengthSlow)
xSMA1_SMA2 = xSMA1_hl2 - xSMA2_hl2
xSMA_hl2 = ta.sma(xSMA1_SMA2, nLengthFast)
nRes = xSMA1_SMA2 - xSMA_hl2
xResWMA = ta.wma(nRes, nLengthWMA)
xResMA = ta.sma(nRes, nLengthMA)
xResEMA = ta.ema(nRes, nLengthEMA)
xSignalSeries = bShowWMA ? xResWMA :
bShowMA ? xResMA :
bShowEMA ? xResEMA : na
pos := xSignalSeries[2] < 0 and xSignalSeries[1] > 0? 1:
xSignalSeries[2] > 0 and xSignalSeries[1] < 0 ? -1 : nz(pos[1], 0)
pos
strategy(title='Combo 2/20 EMA & Bill Awesome Oscillator (AC)', shorttitle='Combo', overlay=true)
var I1 = '●═════ 2/20 EMA ═════●'
Length = input.int(14, minval=1, group=I1)
var I2 = '●═════ Awesome Oscillator (AC) ═════●'
nLengthSlow = input.int(34, minval=1, title="Length Slow", group=I2)
nLengthFast = input.int(5, minval=1, title="Length Fast", group=I2)
nLengthMA = input.int(15, minval=1, title="MA", group=I2)
nLengthEMA = input.int(15, minval=1, title="EMA", group=I2)
nLengthWMA = input.int(15, minval=1, title="WMA", group=I2)
bShowWMA = input.bool( defval=true, title="trading WMA", group=I2)
bShowMA = input.bool( defval=false, title="trading MA", group=I2)
bShowEMA = input.bool( defval=false, title="trading EMA", group=I2)
var misc = '●═════ MISC ═════●'
reverse = input.bool(false, title='Trade reverse', group=misc)
var timePeriodHeader = '●═════ Time Start ═════●'
d = input.int(1, title='From Day', minval=1, maxval=31, group=timePeriodHeader)
m = input.int(1, title='From Month', minval=1, maxval=12, group=timePeriodHeader)
y = input.int(2005, title='From Year', minval=0, group=timePeriodHeader)
StartTrade = time > timestamp(y, m, d, 00, 00) ? true : false
posEMA20 = EMA20(Length)
prePosAC = AC(nLengthSlow,nLengthFast,nLengthMA,nLengthEMA,nLengthWMA,bShowWMA,bShowMA,bShowEMA)
iff_1 = posEMA20 == -1 and prePosAC == -1 and StartTrade ? -1 : 0
pos = posEMA20 == 1 and prePosAC == 1 and StartTrade ? 1 : iff_1
iff_2 = reverse and pos == -1 ? 1 : pos
possig = reverse and pos == 1 ? -1 : iff_2
if possig == 1
strategy.entry('Long', strategy.long)
if possig == -1
strategy.entry('Short', strategy.short)
if possig == 0
strategy.close_all()
barcolor(possig == -1 ? #b50404 : possig == 1 ? #079605 : #0536b3)