
यह रणनीति गतिशील चलती औसत की गणना करके और इसे ट्रेडिंग सिग्नल के रूप में उपयोग करके स्टॉक की कीमत बढ़ने पर अधिक पोजीशन देती है और स्टॉक की कीमत गिरने पर कम पोजीशन देती है। यह रणनीति गतिशीलता सूचक और चलती औसत के लाभों को जोड़ती है, जिसका उद्देश्य स्टॉक की कीमतों के मध्यकालिक रुझानों को ट्रैक करना और स्थिर लाभ प्राप्त करना है।
यह रणनीति मुख्य रूप से तीन प्रकार के हल चलती औसत पर आधारित है, जिसमें सामान्य हल चलती औसत ((HMA), भारित हल चलती औसत ((WHMA) और सूचकांक हल चलती औसत ((EHMA) शामिल हैं। कोड के अनुसार, रणनीति उपयोगकर्ताओं को तीन प्रकार के हल एमए के बीच स्विच करने की अनुमति देती है।
एचएमए की गणना करने के लिए सूत्र हैः
HMA = WMA(2*WMA(close,n/2)-WMA(close,n),sqrt(n))
इसमें, डब्ल्यूएमए एक भारित चलती औसत को दर्शाता है, और एन एक आवधिक पैरामीटर को दर्शाता है। एचएमए एसएमए की तुलना में कीमतों में बदलाव के लिए तेजी से प्रतिक्रिया करता है।
WHMA और EHMA के लिए गणना सूत्र HMA के समान है। नीति HMA को डिफ़ॉल्ट विकल्प के रूप में रखती है।
एचएमए की गणना करने के बाद, रणनीति एचएमए के मध्यवर्ती मूल्य को एक व्यापार संकेत के रूप में लेती है। जब कीमत एचएमए मध्यवर्ती रेखा को पार करती है, तो अधिक प्रवेश किया जाता है; जब कीमत एचएमए मध्यवर्ती रेखा को पार करती है, तो बाहर निकल जाती है। इस प्रकार, यह एचएमए मध्यवर्ती रेखा का उपयोग मूल्य की मध्यवर्ती प्रवृत्ति को ट्रैक करने और लाभ कमाने के लिए करता है।
पारंपरिक चलती औसत रणनीतियों की तुलना में इस रणनीति के निम्नलिखित फायदे हैंः
इस रणनीति के कुछ जोखिम भी हैं:
क्या करें?
इस रणनीति को निम्नलिखित पहलुओं से भी अनुकूलित किया जा सकता हैः
गतिशील चलती औसत ट्रेडिंग रणनीति में हुल एमए की त्वरित प्रतिक्रिया की क्षमता शामिल है, जो स्टॉक की कीमतों के मध्यकालिक रुझानों को प्रभावी ढंग से ट्रैक कर सकती है, उचित समय पर अधिक पोजीशन और स्टॉप लॉस आउट कर सकती है, और यह अच्छी तरह से प्रदर्शन करती है। यह रणनीति पैरामीटर सेटिंग और स्टॉक रेंज के चयन को और अधिक अनुकूलित करके अधिक स्थिर अतिरिक्त रिटर्न प्राप्त कर सकती है। यह एक आसान कार्यान्वयन और जोखिम-नियंत्रित मात्रात्मक रणनीति है।
/*backtest
start: 2022-12-14 00:00:00
end: 2023-12-20 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=5
strategy('Position Investing by SirSeff', overlay=true, pyramiding=1, default_qty_type=strategy.percent_of_equity, default_qty_value=100, calc_on_order_fills=false, slippage=0, commission_type=strategy.commission.percent, commission_value=0)
strat_dir_input = input.string(title='Strategy Direction', defval='long', options=['long', 'short', 'all'])
strat_dir_value = strat_dir_input == 'long' ? strategy.direction.long : strat_dir_input == 'short' ? strategy.direction.short : strategy.direction.all
strategy.risk.allow_entry_in(strat_dir_value)
//////////////////////////////////////////////////////////////////////
// Testing Start dates
testStartYear = input(2000, 'Backtest Start Year')
testStartMonth = input(1, 'Backtest Start Month')
testStartDay = input(1, 'Backtest Start Day')
testPeriodStart = timestamp(testStartYear, testStartMonth, testStartDay, 0, 0)
//Stop date if you want to use a specific range of dates
testStopYear = input(2030, 'Backtest Stop Year')
testStopMonth = input(12, 'Backtest Stop Month')
testStopDay = input(30, 'Backtest Stop Day')
testPeriodStop = timestamp(testStopYear, testStopMonth, testStopDay, 0, 0)
testPeriod() => true
// Component Code Stop
//////////////////////////////////////////////////////////////////////
//INPUT
src = input(close, title='Source')
modeSwitch = input.string('Hma', title='Hull Variation', options=['Hma', 'Thma', 'Ehma'])
length = input(55, title='Length(180-200 for floating S/R , 55 for swing entry)')
switchColor = input(true, 'Color Hull according to trend?')
candleCol = input(false, title='Color candles based on Hull\'s Trend?')
visualSwitch = input(true, title='Show as a Band?')
thicknesSwitch = input(1, title='Line Thickness')
transpSwitch = input.int(40, title='Band Transparency', step=5)
//FUNCTIONS
//HMA
HMA(_src, _length) =>
ta.wma(2 * ta.wma(_src, _length / 2) - ta.wma(_src, _length), math.round(math.sqrt(_length)))
//EHMA
EHMA(_src, _length) =>
ta.ema(2 * ta.ema(_src, _length / 2) - ta.ema(_src, _length), math.round(math.sqrt(_length)))
//THMA
THMA(_src, _length) =>
ta.wma(ta.wma(_src, _length / 3) * 3 - ta.wma(_src, _length / 2) - ta.wma(_src, _length), _length)
//SWITCH
Mode(modeSwitch, src, len) =>
modeSwitch == 'Hma' ? HMA(src, len) : modeSwitch == 'Ehma' ? EHMA(src, len) : modeSwitch == 'Thma' ? THMA(src, len / 2) : na
//OUT
HULL = Mode(modeSwitch, src, length)
MHULL = HULL[0]
SHULL = HULL[2]
//COLOR
hullColor = switchColor ? HULL > HULL[2] ? #00ff00 : #ff0000 : #ff9800
//PLOT
///< Frame
Fi1 = plot(MHULL, title='MHULL', color=hullColor, linewidth=thicknesSwitch, transp=50)
Fi2 = plot(visualSwitch ? SHULL : na, title='SHULL', color=hullColor, linewidth=thicknesSwitch, transp=50)
///< Ending Filler
fill(Fi1, Fi2, title='Band Filler', color=hullColor, transp=transpSwitch)
///BARCOLOR
barcolor(color=candleCol ? switchColor ? hullColor : na : na)
if HULL[0] > HULL[2] and testPeriod()
strategy.entry('Invest', strategy.long)
if HULL[0] < HULL[2] and testPeriod()
strategy.entry('Pause', strategy.short)