
इस रणनीति को टीएसआई सूचकांक और हुल मूविंग एवरेज के आधार पर एक मात्रात्मक ट्रेडिंग रणनीति कहा जाता है। इसका मुख्य विचार स्टॉक, डिजिटल मुद्रा या विदेशी मुद्रा में रुझान की पहचान करने के लिए टीएसआई सूचकांक और हुल मूविंग एवरेज के संयोजन के साथ है और जब रुझान शुरू होता है तो ट्रेडिंग सिग्नल उत्पन्न करता है।
इस रणनीति का उपयोग मूल्य प्रवृत्ति और गतिशीलता का आकलन करने के लिए टीएसआई सूचकांक का उपयोग करता है। टीएसआई सूचकांक मूल्य परिवर्तन दर के आधार पर दोहरी चिकनी चलती औसत है। जब टीएसआई मूल्य अपने स्वयं के चलती औसत को पार करता है, तो यह एक खरीद संकेत उत्पन्न करता है।
यह रणनीति मूल्य प्रवृत्ति को निर्धारित करने के लिए हॉल मूविंग एवरेज का भी उपयोग करती है। हॉल मूविंग एवरेज एक डबल भारित मूविंग एवरेज के साथ बनाया गया है, जो बाजार के शोर को प्रभावी ढंग से फ़िल्टर करता है। यह तेजी से बढ़ने के लिए एक धीमी रेखा को पार करने के लिए एक ऊंची प्रवृत्ति के रूप में और नीचे जाने के लिए एक गिरावट के रूप में निर्धारित किया गया है।
टीएसआई संकेतक के संकेत के साथ, यदि हल चलती औसत भी उसी दिशा में प्रवृत्ति की पुष्टि करता है, तो एक संबंधित व्यापार संकेत उत्पन्न होता है। इसके अलावा, रणनीति प्रवृत्ति की पुष्टि करने के लिए के-लाइन इकाई की दिशा की जांच करती है। केवल जब संकेतक संकेत, हल संकेत और के-लाइन इकाई की दिशा एकजुट होती है, तो व्यापार संकेत जारी किया जाता है।
यह रणनीति प्रवृत्ति, गति और औसत के कई संकेतकों को जोड़ती है, जो बाजार की प्रवृत्ति की शुरुआत को प्रभावी ढंग से पहचानती है और बहुत सारे झूठे संकेतों से बचती है। डबल स्लाइडिंग मूविंग एवरेज भी कुछ शोर को फ़िल्टर कर सकता है।
एक एकल सूचक की तुलना में, यह रणनीति कई सूचकांकों के संयोजन के माध्यम से सिग्नल को फ़िल्टर करती है, जिससे सिग्नल की गुणवत्ता में काफी सुधार होता है। कई पुष्टिकरण शर्तें भी रणनीति को संकेत उत्पन्न करने के लिए बहुत मजबूत निश्चितता प्रदान करती हैं।
हालांकि यह रणनीति एक प्रवृत्ति की शुरुआत को पहचानने के लिए प्रभावी है, लेकिन बाजार में उतार-चढ़ाव के दौरान कुछ गलत संकेत और ओवर-ट्रेडिंग का कारण बनता है। इसके अलावा, गलत पैरामीटर सेटिंग अनावश्यक पोजीशनिंग का कारण बन सकती है।
जोखिम को कम करने के लिए, Hull Moving Average Cycle या TSI पैरामीटर को उचित रूप से समायोजित किया जा सकता है, या नुकसान को नियंत्रित करने के लिए स्टॉपलॉस जोड़ा जा सकता है। अनुकूलन प्रक्रिया में, ऑप्टिमाइज़ेशन के लिए सबसे अच्छा पैरामीटर प्राप्त करने के लिए सिग्नल-शोर अनुपात पर ध्यान देना आवश्यक है।
इस रणनीति को निम्नलिखित पहलुओं से अनुकूलित किया जा सकता हैः
इस रणनीति को TSI सूचक और Hull Moving Average के साथ जोड़ा गया है, जो बाजार की प्रवृत्ति की पहचान करने के बाद एक ट्रेडिंग सिग्नल उत्पन्न करता है। इस रणनीति में उच्च समयबद्धता और सिग्नल गुणवत्ता है। पैरामीटर अनुकूलन और रणनीति संयोजन के माध्यम से, लाभप्रदता में काफी वृद्धि और जोखिम को कम किया जा सकता है। यह रणनीति मध्यम और लंबी रेखा की प्रवृत्ति की पहचान करने के लिए उपयुक्त है, विशेष रूप से डिजिटल मुद्रा और विदेशी मुद्रा बाजारों में व्यापक अनुप्रयोग संभावनाओं के साथ।
/*backtest
start: 2022-12-11 00:00:00
end: 2023-12-17 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=2
strategy("TSI/HullMA/VWMA strategy", shorttitle="TSI/HullMA/VWMA", overlay=true, default_qty_type=strategy.percent_of_equity, max_bars_back=420, default_qty_value=100, calc_on_order_fills=true, calc_on_every_tick=true, pyramiding=0)
TP = input(defval=200.00, title="TargetPoint in $", type=float, step=1)
SL = input(defval=-2000.00, title="StopLoss in $", type=float, step=1)
signal = input(title="Signal Length", defval=6)
keh=input(title="HullMA cross",defval=2)
a=input(title="VWMA",defval=2)
long=35,short=35,linebuy=4,linesell=-4,ot=1,p=ohlc4[0]
double_smooth(src, long, short) =>
fist_smooth = ema(src, long)
ema(fist_smooth, short)
pc = change(p)
rvwma=vwma(p,round(a))
rvwma2=vwma(p,round(a*2))
n2ma=2*wma(p,round(keh/2))
nma=wma(p,keh)
diff=n2ma-nma
sqn=round(sqrt(keh))
n2ma1=2*wma(p[1],round(keh/2))
nma1=wma(p[1],keh)
diff1=n2ma1-nma1
sqn1=round(sqrt(keh))
n1=wma(diff,sqn)
n2=wma(diff1,sqn)
hullbuy=n1>n2 and n1>n2[1] and rvwma>rvwma2
hullsell=n1<n2 and n1<n2[1] and rvwma<rvwma2
candlebuy=ohlc4[0]>ohlc4[1] and ohlc4[0]>ohlc4[2] and ohlc4[0]>ohlc4[3]
candlesell=ohlc4[0]<ohlc4[1] and ohlc4[0]<ohlc4[2] and ohlc4[0]<ohlc4[3]
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)
strategy.entry("buy", true, na, when = tsi_value>ema(tsi_value, signal) and candlebuy and hullbuy)
strategy.entry("sell", false, na, when = tsi_value<ema(tsi_value, signal) and candlesell and hullsell)
strategy.close_all(when = strategy.openprofit>TP or strategy.openprofit<SL)