
सापेक्ष गतिशीलता रणनीति स्टॉक और सूचकांक की गतिशीलता की तुलना करके, बड़े बाजार के सापेक्ष स्टॉक की ताकत का आकलन करने के लिए, जब स्टॉक की गतिशीलता बड़े बाजार से अधिक हो तो खरीदें, और जब स्टॉक की गतिशीलता बड़े बाजार से कम हो तो बेचें, ताकि स्टॉक के विकास के चरम पर कब्जा कर सकें।
इस रणनीति का मुख्य उद्देश्य शेयरों की तुलना में बड़े बाजारों की ताकत और कमजोरी का आकलन करना है।
इस तरह के तर्क के साथ, हम एक स्टॉक खरीद सकते हैं जब यह तेजी से बढ़ रहा है, और इसे बेच सकते हैं जब इसकी वृद्धि की गति कम हो जाती है, और इसके चरम पर अतिरिक्त लाभ को बंद कर सकते हैं।
सापेक्ष गतिशीलता की रणनीति के मुख्य लाभ निम्नलिखित हैंः
हालांकि, इस तरह की रणनीतियों के साथ कुछ जोखिम भी हैं:
इन जोखिमों को उचित स्टॉप लॉस, उचित पैरामीटर समायोजन और अन्य तरीकों से नियंत्रित किया जा सकता है।
सापेक्ष गतिशीलता की रणनीति को निम्नलिखित पहलुओं से अनुकूलित किया जा सकता हैः
सापेक्ष गतिशीलता की रणनीति के माध्यम से पकड़ने के लिए एक शेयर के लिए एक अपेक्षाकृत बड़े पैमाने पर वृद्धि के चरम पर, प्रभावी रूप से अतिरिक्त लाभ प्राप्त कर सकते हैं. इस रणनीति के सरल स्पष्ट खरीद और बेचने के तर्क, आसान संचालन के फायदे, पैरामीटर अनुकूलन और जोखिम नियंत्रण के माध्यम से बेहतर प्रभाव प्राप्त कर सकते हैं.
/*backtest
start: 2024-01-21 00:00:00
end: 2024-01-28 00:00:00
period: 15m
basePeriod: 5m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
// This source code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/
// © HeWhoMustNotBeNamed
//@version=4
strategy("Relative Returns Strategy", overlay=false, initial_capital = 100000, default_qty_type = strategy.percent_of_equity, default_qty_value = 100, commission_type = strategy.commission.percent, pyramiding = 1, commission_value = 0.01, calc_on_order_fills = true)
index_ticker=input("BTC_USDT:swap")
Loopback = input(40, step=20)
useStopAndIndexReturns = input(true)
useStopAndIndexReturnsMa = input(true)
useDifference = not useStopAndIndexReturns
MAType = input(title="Moving Average Type", defval="sma", options=["ema", "sma", "hma", "rma", "vwma", "wma"])
MALength = input(10, minval=10,step=10)
i_startTime = input(defval = timestamp("01 Jan 2010 00:00 +0000"), title = "Backtest Start Time", type = input.time)
i_endTime = input(defval = timestamp("01 Jan 2099 00:00 +0000"), title = "Backtest End Time", type = input.time)
inDateRange = true
f_secureSecurity(_symbol, _res, _src, _offset) => security(_symbol, _res, _src[_offset], lookahead = barmerge.lookahead_on)
f_getMovingAverage(source, MAType, length)=>
ma = sma(source, length)
if(MAType == "ema")
ma := ema(source,length)
if(MAType == "hma")
ma := hma(source,length)
if(MAType == "rma")
ma := rma(source,length)
if(MAType == "vwma")
ma := vwma(source,length)
if(MAType == "wma")
ma := wma(source,length)
ma
index = f_secureSecurity(index_ticker, '1D', close, 0)
stock_return = (close - close[Loopback])*100/close
index_return = (index - index[Loopback])*100/index
stock_return_ma = f_getMovingAverage(stock_return, MAType, MALength)
index_return_ma = f_getMovingAverage(index_return, MAType, MALength)
relativeReturns = stock_return - index_return
relativeReturns_ma = f_getMovingAverage(relativeReturns, MAType, MALength)
plot(useStopAndIndexReturns ? useStopAndIndexReturnsMa ? stock_return_ma : stock_return : na, title="StockReturn", color=color.green, linewidth=1)
plot(useStopAndIndexReturns ? useStopAndIndexReturnsMa ? index_return_ma : index_return : na, title="IndexReturn", color=color.red, linewidth=1)
plot(useDifference?relativeReturns:na, title="Relative-Returns", color=color.blue, linewidth=1)
plot(useDifference?relativeReturns_ma:na, title="MA", color=color.red, linewidth=1)
buyCondition = (useStopAndIndexReturns ? useStopAndIndexReturnsMa ? stock_return_ma > index_return_ma : stock_return > index_return : relativeReturns > relativeReturns_ma)
closeBuyCondition = (useStopAndIndexReturns ? useStopAndIndexReturnsMa ? stock_return_ma < index_return_ma : stock_return < index_return : relativeReturns < relativeReturns_ma)
strategy.entry("Buy", strategy.long, when=buyCondition and inDateRange, oca_name="oca")
strategy.close("Buy", when=closeBuyCondition)