एमएसीडी रिवर्सल रणनीति का आरएसआई

लेखक:चाओझांग, दिनांकः 2024-01-15 12:33:14
टैगः

img

अवलोकन

यह रणनीति खरीद और बिक्री संकेतों को निर्धारित करने के लिए एमएसीडी संकेतक के आरएसआई मूल्यों पर आधारित है। यह खरीदता है जब आरएसआई ओवरबॉट लाइन या रेंज से अधिक होता है, और बेचता है या लाभ / हानि को रोकता है जब आरएसआई ओवरबॉट रेंज से नीचे टूट जाता है।

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

यह रणनीति एमएसीडी और आरएसआई दोनों संकेतकों के लाभों को जोड़ती है।

सबसे पहले, डीआईएफ, डीईए और एमएसीडी लाइनों सहित एमएसीडी संकेतक की तीन वक्रों की गणना की जाती है। फिर एमएसीडी की आरएसआई बनाने के लिए आरएसआई संकेतक की गणना एमएसीडी लाइन पर की जाती है।

जब एमएसीडी सूचक का आरएसआई 30 या 35 की ओवरबॉट रेंज से अधिक हो जाता है, तो एक खरीद संकेत उत्पन्न होता है, जो इंगित करता है कि एमएसीडी लाइन ओवरसोल्ड रेंज में प्रवेश कर गई है और मूल्य प्रवृत्ति ऊपर की ओर उलटने लगी है। जब एमएसीडी सूचक का आरएसआई फिर से 15 की ओवरबोल्ड रेंज से नीचे टूट जाता है, तो एक बिक्री संकेत उत्पन्न होता है, जो इंगित करता है कि प्रवृत्ति उलट समाप्त हो गई है।

रणनीति में आंशिक लाभ लेने का भी निर्धारण किया गया है। जब एमएसीडी सूचक का आरएसआई 80 के ओवरबॉट स्तर से अधिक हो जाता है, तो आंशिक लाभ को लॉक करने के लिए स्थिति का एक हिस्सा बेचा जा सकता है।

लाभ विश्लेषण

  • प्रवृत्ति उलट बिंदुओं का निर्धारण करने के लिए एमएसीडी संकेतक का उपयोग करें
  • झूठे संकेतों को फ़िल्टर करने के लिए ओवरबॉट/ओवरसोल्ड स्तर निर्धारित करने के लिए आरएसआई संकेतक का उपयोग करें
  • सटीक खरीद/बिक्री बिंदुओं के लिए दोहरे संकेतकों का संयोजन
  • बढ़े हुए घाटे को रोकने के लिए आंशिक लाभ लेने का सेट

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

  • अगर MACD पैरामीटर गलत हैं तो प्रवृत्ति का गलत आकलन
  • यदि आरएसआई पैरामीटर गलत हैं तो ओवरबॉट/ओवरसोल्ड जोन का गलत आकलन
  • यदि लाभ लेने के लिए बहुत आक्रामक हो तो संभावित रूप से अधिक लाभ खोना

समाधान:

  • सर्वोत्तम संयोजन खोजने के लिए एमएसीडी मापदंडों का अनुकूलन करें
  • सटीकता में सुधार के लिए आरएसआई मापदंडों का अनुकूलन करें
  • अधिक लाभ प्राप्त करने के लिए लाभ लेने के मानदंडों को ठीक से ढीला करें

अनुकूलन दिशाएँ

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

  1. डाउनसाइड जोखिमों को और अधिक नियंत्रित करने के लिए स्टॉप लॉस रणनीति जोड़ें
  2. स्थिति आकार मॉड्यूल को मूल्य आंदोलनों के अनुसार धीरे-धीरे पदों को रैंप अप करने के लिए जोड़ें
  3. खरीद/बिक्री बिंदु सटीकता में और सुधार के लिए ऐतिहासिक डेटा पर प्रशिक्षित मशीन लर्निंग मॉडल को एकीकृत करें
  4. रणनीति आवृत्ति में सुधार के लिए 15 मीटर या 5 मीटर जैसे कम समय सीमा पर चलने का प्रयास

निष्कर्ष

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


/*backtest
start: 2024-01-07 00:00:00
end: 2024-01-14 00:00:00
period: 3m
basePeriod: 1m
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/
// © mohanee

//@version=4

strategy(title="RSI of MACD Strategy[Long only]",  shorttitle="RSIofMACD" , overlay=false, pyramiding=1,     default_qty_type=strategy.percent_of_equity,  default_qty_value=20, initial_capital=10000, currency=currency.USD)  //default_qty_value=10, default_qty_type=strategy.fixed,

	

/////////////////////////////////////////////////////////////////////////////////



// MACD Inputs ///
fastLen = input(12, title="Fast Length")
slowLen = input(21, title="Slow Length")
sigLen  = input(9, title="Signal Length")

rsiLength  = input(14, title="RSI of MACD Length")




riskCapital = input(title="Risk % of capital", defval=10, minval=1)
stopLoss=input(3,title="Stop Loss",minval=1)

takeProfit=input(false, title="Take Profit")


[macdLine, signalLine, _] = macd(close, fastLen, slowLen, sigLen)

rsiOfMACD = rsi(macdLine, rsiLength)
emaSlow = ema(close, slowLen)



//drawings
/////////////////////////////////////////////////////////////////////////////////


obLevelPlot = hline(80, title="Overbought / Profit taking line",  color=color.blue , linestyle=hline.style_dashed)
osLevelPlot = hline(30, title="Oversold / entry line", color=color.green, linestyle=hline.style_dashed)

exitLinePlot = hline(15, title="Exit line", color=color.red, linestyle=hline.style_dashed)




plot(rsiOfMACD, title = "rsiOfMACD" ,  color=color.purple)


//drawings
/////////////////////////////////////////////////////////////////////////////////




//Strategy Logic 
/////////////////////////////////////////////////////////////////////////////////

//Entry--
//Echeck how many units can be purchased based on risk manage ment and stop loss
qty1 = (strategy.equity  * riskCapital / 100 ) /  (close*stopLoss/100)  

//check if cash is sufficient  to buy qty1  , if capital not available use the available capital only
qty1:= (qty1 * close >= strategy.equity ) ? (strategy.equity / close) : qty1


strategy.entry(id="RSIofMACD", long=true,   qty=qty1,  when =  ( crossover(rsiOfMACD, 30) or crossover(rsiOfMACD, 35)  ) and close>=emaSlow )



bgcolor(abs(strategy.position_size)>=1 ? color.blue : na , transp=70)


barcolor(abs(strategy.position_size)>=1 and  ( crossover(rsiOfMACD, 30) or crossover(rsiOfMACD, 35) ) ? color.purple : abs(strategy.position_size)>=1 ? color.blue : na  )


//partial exit
strategy.close(id="RSIofMACD", comment="PExit Profit is "+tostring(close - strategy.position_avg_price,  "###.##")  ,  qty=strategy.position_size/3, when= takeProfit and abs(strategy.position_size)>=1 and close > strategy.position_avg_price and crossunder(rsiOfMACD,80) )

//Close All
strategy.close(id="RSIofMACD", comment="Close All   Profit is "+tostring(close - strategy.position_avg_price,  "###.##"), when=abs(strategy.position_size)>=1 and crossunder(rsiOfMACD,15) ) //and close > strategy.position_avg_price )


//Strategy Logic 
/////////////////////////////////////////////////////////////////////////////////



अधिक