टीएसआई और सीसीआई पर आधारित हॉल मूविंग एवरेज ट्रेंड फॉलोइंग रणनीति


निर्माण तिथि: 2023-11-28 15:53:03 अंत में संशोधित करें: 2023-11-28 15:53:03
कॉपी: 0 क्लिक्स: 764
1
ध्यान केंद्रित करना
1619
समर्थक

टीएसआई और सीसीआई पर आधारित हॉल मूविंग एवरेज ट्रेंड फॉलोइंग रणनीति

अवलोकन

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

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

यह रणनीति मुख्य रूप से टीएसआई और सीसीआई के दो संकेतकों के आधार पर बाजार की प्रवृत्ति और ओवरबॉट और ओवरसोल्ड की स्थिति का आकलन करती है, और हल्ल एमए कीमतों की मध्यवर्ती प्रवृत्ति का आकलन करती है, तीनों को संयुक्त रूप से स्थिति बनाने की मूल शर्त के रूप में उपयोग किया जाता है।

विशेष रूप से, जब टीएसआई की तेज़ रेखा पर धीमी रेखा होती है और सीसीआई +20&&n1 बढ़ता है, तो अधिक होता है; जब टीएसआई की तेज़ रेखा के नीचे धीमी रेखा होती है और सीसीआई +20&n1 घटता है, तो शून्य होता है। हुल एमए को मध्य अवधि के रुझान को फ़िल्टर करने के लिए उपयोग किया जाता है, केवल जब कीमत हुल एमए से कम होती है तो अधिक होती है और जब कीमत हुल एमए से अधिक होती है तो खाली होती है।

इस प्रकार, विभिन्न आवधिक संकेतकों की पुष्टि के माध्यम से, झूठे ब्रेकआउट को प्रभावी रूप से फ़िल्टर किया जा सकता है और मध्य-लंबी रेखा प्रवृत्ति का पालन किया जा सकता है।

श्रेष्ठता विश्लेषण

यह एक अपेक्षाकृत स्थिर और कुशल प्रवृत्ति ट्रैकिंग रणनीति है, जिसके कुछ प्रमुख फायदे हैंः

  1. टीएसआई का उपयोग दीर्घकालिक रुझानों की दिशा को अधिक विश्वसनीय रूप से निर्धारित करने के लिए किया जाता है, ताकि अल्पकालिक बाजार के शोर से बचा जा सके;

  2. सीसीआई के शामिल होने से ओवरबॉय और ओवरसोल की पुष्टि हो सकती है और कुछ झूठे संकेतों को फ़िल्टर किया जा सकता है;

  3. Hull MA के निर्णयों ने प्रवेश बिंदुओं को अधिक सटीक बना दिया है, जिससे लाभ की संभावना में काफी वृद्धि हुई है;

  4. विभिन्न मापदंडों के संकेतक का एकीकरण, सिग्नल की विश्वसनीयता को बढ़ा सकता है और हस्तक्षेप की संभावना को कम कर सकता है।

  5. रणनीति पैरामीटर की सेटिंग लचीली है और विभिन्न बाजार चक्रों के अनुकूलन के लिए अनुकूलित की जा सकती है।

जोखिम विश्लेषण

हालांकि यह रणनीति काफी स्थिर है, लेकिन इसके साथ कुछ जोखिम भी जुड़े हुए हैं:

  1. इस घटना के बाद, एक गंभीर उलटफेर हो सकता है, जिससे बड़ी हानि हो सकती है;

  2. TSIDiff और CCI दोनों संकेतों में झूठे संकेत और देरी हो सकती है, कुछ प्रवेश बिंदुओं को याद किया जा सकता है;

  3. अनुचित पैरामीटर सेटिंग भी उच्च लेनदेन आवृत्ति या सिग्नल गुणवत्ता में गिरावट का कारण बन सकती है।

क्या करें?

  1. एकल घाटे को नियंत्रित करने के लिए स्टॉपलॉस को उचित रूप से समायोजित करें;

  2. संकेत की सटीकता में सुधार, यदि आवश्यक हो, अन्य संकेतकों के साथ संयोजन में;

  3. बाजार के समायोजन के अनुसार, रणनीति स्थिरता सुनिश्चित करना।

अनुकूलन दिशा

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

  1. विभिन्न मापदंडों के सूचकांक के संयोजन की कोशिश करें और सबसे अच्छा मिलान सूचकांक ढूंढें;

  2. मशीन लर्निंग एल्गोरिदम को जोड़ना, पैरामीटर के अनुकूलन अनुकूलन को लागू करना;

  3. इस प्रकार, यह एक और महत्वपूर्ण कदम है, क्योंकि यह इस तरह के एक नए टूल की स्थापना की अनुमति देता है।

  4. अधिक फ़िल्टर के साथ, रणनीति जीतने की दर में वृद्धि।

यह भविष्य के अनुकूलन पर ध्यान केंद्रित करेगा।

संक्षेप

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

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

//@version=4

strategy(title="TSI CCI Hull", shorttitle="TSICCIHULL", default_qty_type=strategy.percent_of_equity, default_qty_value=100, calc_on_order_fills= false, calc_on_every_tick=true, pyramiding=0)
long = input(title="Long Length", type=input.integer, defval=50)
short = input(title="Short Length", type=input.integer, defval=50)
signal = input(title="Signal Length", type=input.integer, defval=25)
price=input(title="Source",type=input.source,defval=open)
Period=input(25, minval=1)
lineupper = input(title="Upper Line", type=input.integer, defval=100)
linelower = input(title="Lower Line", type=input.integer, defval=-100)
p=price
length= Period
double_smooth(src, long, short) =>
    fist_smooth = ema(src, long)
    ema(fist_smooth, short)
pc = change(price)
double_smoothed_pc = double_smooth(pc, long, short)
double_smoothed_abs_pc = double_smooth(abs(pc), long, short)
tsi_value = 100 * (double_smoothed_pc / double_smoothed_abs_pc)
keh = tsi_value*5 > linelower ? color.red : color.lime
teh = ema(tsi_value*5, signal*5) > lineupper ? color.red : color.lime
meh = ema(tsi_value*5, signal*5) > tsi_value*5 ? color.red : color.lime
i1=plot(tsi_value*5, title="TSI Value", color=color.black, linewidth=1,transp=100)
i2=plot(ema(tsi_value*5, signal*5), title="TSI Signal", color=color.black, linewidth=1,transp=100)
fill(i1,i2,color=meh,transp=85)
plot(cross(tsi_value*5, ema(tsi_value*5, signal*5)) ? tsi_value*5 : na, style=plot.style_circles, color=color.black, linewidth=10)
plot(cross(tsi_value*5, ema(tsi_value*5, signal*5)) ? tsi_value*5 : na, style=plot.style_circles, color=color.white, linewidth=8,transp=0)
plot(cross(tsi_value*5, ema(tsi_value*5, signal*5)) ? tsi_value*5 : na, style=plot.style_circles, color=meh, linewidth=5)
n2ma = 2 * wma(p, round(length / 2))
nma = wma(p, length)
diff = n2ma - nma
sqn = round(sqrt(length))
n1 = wma(diff, sqn)
cci = (p - n1) / (0.015 * dev(p, length))
c = cci > 0 ? color.lime : color.red
c1 = cci > 20 ? color.lime : color.silver
c2 = cci < -20 ? color.red : color.silver
cc=plot(cci, color=c, title="CCI Line", linewidth=2)
cc2=plot(cci[1], color=color.gray, linewidth=1,transp=100)
fill(cc,cc2,color=c,transp=85)
plot(cross(20, cci) ? 20 : na, style=plot.style_cross,title="CCI cross UP",  color=c1, linewidth=2,transp=100,offset=-2)
plot(cross(-20, cci) ? -20 : na, style=plot.style_cross,title="CCI cross down",  color=c2, linewidth=2,transp=100,offset=-2)

TSI1=ema(tsi_value*5, signal*5)
TSI2=ema(tsi_value*5, signal*5)[2]

hullma_smoothed = wma(2*wma(n1, Period/2)-wma(n1, Period), round(sqrt(Period)))
//plot(hullma_smoothed*200)

longCondition = TSI1>TSI2 and hullma_smoothed<price and cci>0
if (longCondition and cci>cci[1] and cci > 0 and n1>n1[1])
    strategy.entry("Buy Here", strategy.long)

shortCondition = TSI1<TSI2 and hullma_smoothed>price and cci<0
if (shortCondition and cci<cci[1] and cci < 0 and n1<n1[1])
    strategy.entry("Sell Here", strategy.short)