मूविंग एवरेज रिवर्सन ट्रेडिंग रणनीति


निर्माण तिथि: 2023-10-25 10:58:02 अंत में संशोधित करें: 2023-10-25 10:58:02
कॉपी: 0 क्लिक्स: 794
1
ध्यान केंद्रित करना
1214
समर्थक

मूविंग एवरेज रिवर्सन ट्रेडिंग रणनीति

अवलोकन

औसत रेखा रिवर्स ट्रेडिंग रणनीति खरीद और बेचने के संकेतों को निर्धारित करने के लिए स्टॉक की कीमत की एक रैखिक रिवर्स लाइन और औसत रेखा के क्रॉसिंग की गणना करती है। यह रणनीति औसत रेखा और रैखिक रिवर्स विश्लेषण को जोड़ती है, जो स्टॉक की कीमत के रुझान को ध्यान में रखती है और सांख्यिकीय विशेषताओं को ध्यान में रखती है, जिससे स्टॉक की कीमत के टर्नओवर को प्रभावी ढंग से निर्धारित किया जा सकता है, कम खरीद और उच्च बिक्री प्राप्त की जा सकती है।

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

इस रणनीति में सबसे पहले n दिन की स्टॉक की कीमतों के लिए एक रैखिक रिटर्न लाइन और m दिन की औसत लाइन की गणना की जाती है। रैखिक रिटर्न लाइन स्टॉक की कीमतों की लंबी अवधि की सांख्यिकीय प्रवृत्ति को दर्शाती है, जबकि औसत लाइन स्टॉक की कीमतों के अल्पकालिक आंदोलन को दर्शाती है।

जब औसत रेखा के पार एक रैखिक वापसी रेखा होती है, तो यह शेयर की कीमत में वृद्धि की गति को बढ़ाता है, जो एक खरीद संकेत उत्पन्न करता है। जब औसत रेखा के नीचे एक रैखिक वापसी रेखा होती है, तो यह शेयर की कीमत में कमी को दर्शाता है, जो एक बेचने का संकेत उत्पन्न करता है।

विशेष रूप से, रणनीति निम्नलिखित चरणों के माध्यम से ट्रेडिंग संकेतों का आकलन करती हैः

  1. एक n-दिन स्टॉक मूल्य रैखिक रिवर्सन रेखा LRLine गणना

  2. एक रैखिक प्रतिगमन रेखा के m दिन सरल चलती औसत LRMA की गणना करें

  3. स्टॉक मूल्य का m-दिन सूचकांक चलती औसत

  4. जब ईएमए पर एलआरएमए पहनते हैं, तो एक खरीद संकेत उत्पन्न होता है

  5. जब ईएमए एलआरएमए के नीचे से गुजरता है, तो यह एक लंबे समय तक बाहर निकलने का संकेत देता है

  6. इस प्रकार, जब बाजार में तेजी होती है, तो खरीद के संकेतों पर विचार किया जाता है, जो कि बड़े बाजार के फैसले के साथ संयुक्त होते हैं।

  7. सिग्नल के आधार पर खरीद और बिक्री लेनदेन

औसत रेखा और वापसी रेखा के क्रॉसिंग के माध्यम से खरीद और बिक्री के समय का निर्धारण करना, एक प्रभावी फ़िल्टरिंग और उलटा बिंदुओं को पकड़ना, कम खरीद और उच्च बिक्री प्राप्त करना।

रणनीतिक लाभ

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

रणनीतिक जोखिम

  • स्टॉक की कीमतों में भारी उतार-चढ़ाव के दौरान, औसत रेखा और वापसी रेखा का अक्सर क्रॉसिंग होता है, जिससे गलत संकेत मिल सकते हैं
  • जब बाजार में निर्णय गलत होता है, तो आप खरीद और बिक्री के समय को गलत समझते हैं
  • गलत पैरामीटर सेटिंग भी नीति को प्रभावित कर सकती है
  • अधिक लेनदेन, अधिक लेनदेन लागत

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

रणनीति अनुकूलन

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

  1. औसत सूचकांक अनुकूलनः विभिन्न प्रकार के औसत, जैसे कि भारित चलती औसत, का प्रयास करें और उस स्टॉक के लिए सबसे अच्छा औसत खोजें।

  2. रिवर्स लाइन अनुकूलनः रिवर्स लाइन की गणना चक्र को समायोजित करें और उस चक्र पैरामीटर की तलाश करें जो स्टॉक की लंबी अवधि की प्रवृत्ति को सबसे अच्छा दर्शाता है।

  3. बड़े पैमाने पर निर्णय अनुकूलनः विभिन्न बड़े पैमाने पर निर्णय संकेतकों का परीक्षण करें और रणनीति के लिए सबसे उपयुक्त बड़े पैमाने पर संकेत खोजें।

  4. पैरामीटर अनुकूलन: विभिन्न पैरामीटर संयोजनों के माध्यम से बार-बार परीक्षण, सबसे अच्छा पैरामीटर विन्यास खोजने के लिए।

  5. स्टॉप लॉजिक ऑप्टिमाइज़ेशनः विभिन्न स्टॉप लॉजिस्टिक्स का परीक्षण करें और जोखिम को नियंत्रित करने के लिए सबसे अच्छा स्टॉप लॉजिक सेट करें।

  6. लेनदेन लागत अनुकूलनः लेनदेन की लागत को कम करने के लिए विभिन्न लेनदेन शुल्क मॉडल के अनुसार लेनदेन आवृत्ति को समायोजित करें।

उपरोक्त कुछ सुधारों से रणनीति की स्थिरता और लाभप्रदता को और बढ़ाया जा सकता है।

संक्षेप

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

रणनीति स्रोत कोड
/*backtest
start: 2022-10-18 00:00:00
end: 2023-10-24 00:00:00
period: 1d
basePeriod: 1h
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/
// © lazy_capitalist

//@version=5
strategy('Linear Regression MA', overlay=true, initial_capital=10000)
datesGroup = "Date Info"
startMonth = input.int(defval = 1,    title = "Start Month",  minval = 1, maxval = 12,  group=datesGroup)
startDay   = input.int(defval = 1,    title = "Start Day",    minval = 1, maxval = 31,  group=datesGroup)
startYear  = input.int(defval = 2022, title = "Start Year",   minval = 1970,            group=datesGroup)

averagesGroup = "Averages"
lrLineInput     = input.int(title="Linear Regression Line",   defval=55, minval = 1, group=averagesGroup)
lrMAInput       = input.int(title="Linear Regression MA",     defval=55, minval = 1, group=averagesGroup)
emaInput        = input.int(title="EMA Length",               defval=55, minval = 1, group=averagesGroup)


tradesGroup = "Execute Trades"
executeLongInput    = input.bool(title="Execute Long Trades",       defval=true)
executeShortInput   = input.bool(title="Execute Short Trades",      defval=true)
executeStopLoss     = input.bool(title="Execute Stop Loss",         defval=true)

fourHrSMAExpr       = ta.sma(close, 200)
fourHrMA            = request.security(symbol=syminfo.tickerid, timeframe="240", expression=fourHrSMAExpr)

bullish             = close > fourHrMA ? true : false


maxProfitInput              = input.float(  title="Max Profit (%)",         defval=10.0,    minval=0.0)   * 0.01
stopLossPercentageInput     = input.float(  title="Stop Loss (%)",          defval=1.75,    minval=0.0)   * 0.01

start       = timestamp(startYear, startMonth, startDay, 00, 00)            // backtest start  window
window()    => time >= start ? true : false                              // create function "within window of time"
showDate    = input(defval = true, title = "Show Date Range")

lrLine = ta.linreg(close, lrLineInput, 0)
lrMA   = ta.sma(lrLine, lrMAInput)
ema     = ta.ema(close, emaInput)

longEntry   = ema   < lrMA
longExit    = lrMA  < ema

shortEntry  = lrMA  < ema
shortExit   = ema   < lrMA


maxProfitLong   = strategy.opentrades.entry_price(0) * (1 + maxProfitInput)
maxProfitShort  = strategy.opentrades.entry_price(0) * (1 - maxProfitInput)

stopLossPriceShort  = strategy.position_avg_price * (1 + stopLossPercentageInput)
stopLossPriceLong   = strategy.position_avg_price * (1 - stopLossPercentageInput)

if(executeLongInput and bullish)
    strategy.entry( id="long_entry", direction=strategy.long,   when=longEntry and window(),    qty=10,  comment="long_entry")
    strategy.close( id="long_entry", when=longExit,     comment="long_exit")
    // strategy.close( id="long_entry", when=maxProfitLong <= close, comment="long_exit_mp")
    
if(executeShortInput and not bullish)
    strategy.entry( id="short_entry", direction=strategy.short,   when=shortEntry and window(),    qty=10,  comment="short_entry")
    strategy.close( id="short_entry", when=shortExit,     comment="short_exit")
    // strategy.close( id="short_entry", when=maxProfitShort <= close, comment="short_exit_mp")

if(strategy.position_size > 0 and executeStopLoss)
    strategy.exit(  id="long_entry",        stop=stopLossPriceLong,             comment="exit_long_SL")
    strategy.exit(  id="short_entry",       stop=stopLossPriceShort,            comment="exit_short_SL")
    
// plot(series=lrLine,     color=color.green)
plot(series=lrMA,       color=color.red)
plot(series=ema,        color=color.blue)