सापेक्ष गति आधारित रणनीति


निर्माण तिथि: 2024-01-29 08:38:04 अंत में संशोधित करें: 2024-01-29 08:38:04
कॉपी: 0 क्लिक्स: 722
1
ध्यान केंद्रित करना
1617
समर्थक

सापेक्ष गति आधारित रणनीति

अवलोकन

सापेक्ष गतिशीलता रणनीति स्टॉक और सूचकांक की गतिशीलता की तुलना करके, बड़े बाजार के सापेक्ष स्टॉक की ताकत का आकलन करने के लिए, जब स्टॉक की गतिशीलता बड़े बाजार से अधिक हो तो खरीदें, और जब स्टॉक की गतिशीलता बड़े बाजार से कम हो तो बेचें, ताकि स्टॉक के विकास के चरम पर कब्जा कर सकें।

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

इस रणनीति का मुख्य उद्देश्य शेयरों की तुलना में बड़े बाजारों की ताकत और कमजोरी का आकलन करना है।

  1. किसी शेयर की गतिशीलता के रूप में समय के दौरान प्रति शेयर रिटर्न की गणना करना
  2. एक ही समय अवधि के लिए एक सूचकांक के रूप में गतिशीलता के रूप में आय की गणना सूचकांक
  3. चलती औसत को चिकना करने के लिए प्रति शेयर और सूचकांक की गतिशीलता की गणना करें
  4. जब एक स्टॉक की गतिशीलता की एक चलती औसत पर एक सूचकांक की गतिशीलता की एक चलती औसत पहनता है, तो यह माना जाता है कि एक स्टॉक की गतिशीलता समग्र सूचकांक से अधिक है, जो एक खरीद संकेत बन जाता है
  5. जब एक स्टॉक की गतिशीलता की चलती औसत के नीचे एक सूचकांक की गतिशीलता की चलती औसत को पार करते हैं, तो यह माना जाता है कि एक स्टॉक की गति समग्र सूचकांक से कमज़ोर है, एक बेचने का संकेत बन जाता है

इस तरह के तर्क के साथ, हम एक स्टॉक खरीद सकते हैं जब यह तेजी से बढ़ रहा है, और इसे बेच सकते हैं जब इसकी वृद्धि की गति कम हो जाती है, और इसके चरम पर अतिरिक्त लाभ को बंद कर सकते हैं।

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

सापेक्ष गतिशीलता की रणनीति के मुख्य लाभ निम्नलिखित हैंः

  1. गतिशील रूप से व्यक्तिगत शेयरों की वृद्धि के चरम पर पकड़ने के लिए, किसी विशेष घटना की परवाह किए बिना, जब तक कि व्यक्तिगत शेयरों की वृद्धि बड़े बाजार से तेज हो, तब तक खरीदा जा सकता है
  2. चलती औसत प्रसंस्करण के माध्यम से, अल्पकालिक उतार-चढ़ाव की गड़बड़ी को फ़िल्टर करें और सिग्नल की विश्वसनीयता बढ़ाएं
  3. सरल, प्रत्यक्ष खरीद और बिक्री की शर्तें, आसानी से समझने योग्य संचालन
  4. समय मापदंडों को स्वतंत्र रूप से सेट करने के लिए सापेक्ष गतिशीलता की गणना करें, अनुकूलन रणनीति

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

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

  1. व्यक्तिगत वृद्धि के चरम के बाद एक रिवर्स समायोजन हो सकता है, अनावश्यक रोकथाम का जोखिम
  2. सापेक्ष गतिशीलता सूचकांक गलत संकेत दे सकता है, पहचान वृद्धि शिखर वास्तविक शिखर नहीं है
  3. अधिकतम हानि को नियंत्रित करने के लिए स्टॉप लॉस सेट करें

इन जोखिमों को उचित स्टॉप लॉस, उचित पैरामीटर समायोजन और अन्य तरीकों से नियंत्रित किया जा सकता है।

अनुकूलन दिशा

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

  1. विभिन्न गति गणना समय मापदंडों का परीक्षण करने के लिए सबसे अच्छा मापदंड खोजने के लिए
  2. इष्टतम पैरामीटर के लिए विभिन्न प्रकार और लंबाई के चलती औसत का परीक्षण करें
  3. कम क्षमता वाले झूठे ब्रेकडाउन से बचने के लिए लेन-देन की मात्रा पर फ़िल्टर जोड़ा गया
  4. अन्य तकनीकी संकेतकों के साथ खरीद की पुष्टि समय

संक्षेप

सापेक्ष गतिशीलता की रणनीति के माध्यम से पकड़ने के लिए एक शेयर के लिए एक अपेक्षाकृत बड़े पैमाने पर वृद्धि के चरम पर, प्रभावी रूप से अतिरिक्त लाभ प्राप्त कर सकते हैं. इस रणनीति के सरल स्पष्ट खरीद और बेचने के तर्क, आसान संचालन के फायदे, पैरामीटर अनुकूलन और जोखिम नियंत्रण के माध्यम से बेहतर प्रभाव प्राप्त कर सकते हैं.

रणनीति स्रोत कोड
/*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)