आरएसआई और एमए क्रॉसओवर ट्रेंड ट्रैकिंग रणनीति

लेखक:चाओझांग, दिनांकः 2024-02-20 15:31:15
टैगः

img

अवलोकन

यह रणनीति आरएसआई संकेतक और विभिन्न अवधियों के दो चलती औसत (एमए) के क्रॉसओवर द्वारा बाजार के रुझानों और प्रवेश संकेतों को निर्धारित करती है। यह केवल तब लंबी जाती है जब आरएसआई अपने 26-अवधि एमए से ऊपर होता है और जोखिमों को नियंत्रित करने के लिए आरएसआई नीचे होने पर छोटा हो जाता है।

रणनीति तर्क

यह रणनीति 12 और 26 अवधि के दो एमए को नियोजित करती है। जब 12 अवधि का तेजी से एमए 26 अवधि के धीमे एमए से ऊपर जाता है, तो यह एक ऊपर की प्रवृत्ति का संकेत देता है, और इसके विपरीत। यह रणनीति दो एमए के स्वर्ण क्रॉसओवर पर लंबी जाती है और दो एमए के मृत्यु क्रॉसओवर पर छोटी जाती है।

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

लाभ विश्लेषण

रुझान और समय विश्लेषण के लिए एमए और आरएसआई को मिलाकर, यह रणनीति प्रभावी रूप से रुझानों को ट्रैक कर सकती है। आरएसआई फ़िल्टर व्यापार आवृत्तियों को कम करता है और रेंजिंग बाजारों में व्हिपसा से बचता है। स्टॉप लॉस का उपयोग न करने से उच्च रिटर्न के लिए पूर्ण प्रवृत्ति का पालन करने की अनुमति मिलती है।

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

स्टॉप लॉस के बिना, गलत सिग्नल पर नुकसान बढ़ सकता है। बड़े गैप मूव्स भी भारी नुकसान का कारण बन सकते हैं। इसके अलावा, गलत तरीके से सेट किए गए आरएसआई फिल्टर अच्छे प्रवेश संकेतों की कमी का कारण बन सकते हैं।

अधिकतम घाटे को नियंत्रित करने के लिए स्टॉप लॉस का उपयोग करने पर विचार करें। बेहतर फिल्टर के लिए आरएसआई मापदंडों को ठीक करें। अस्थिर बाजारों के लिए, प्रवृत्ति का न्याय करने के लिए धीमी एमए का उपयोग करें।

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

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

  1. वर्तमान बाजार स्थितियों के अनुकूल मापदंडों को खोजने के लिए विभिन्न अवधियों के एमए संयोजनों का परीक्षण करें।

  2. बेहतर प्रवेश समय के लिए आरएसआई अवधि और फिल्टर तर्क का अनुकूलन करें।

  3. बेहतर प्रणाली स्थिरता के लिए वॉल्यूम जैसे अन्य संकेतक जोड़ें।

  4. स्टॉप लॉस रणनीतियों को ट्रेंड फॉलो करने और जोखिम नियंत्रण को संतुलित करने के लिए अनुकूलित करें, उदाहरण के लिए, ट्रेलिंग स्टॉप, प्रतिशत स्टॉप, गतिशील स्टॉप आदि।

निष्कर्ष

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


/*backtest
start: 2023-02-13 00:00:00
end: 2024-02-19 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=2

strategy(title = "EMA Cross Strategy", shorttitle = "EMA Cross",calc_on_order_fills=true,calc_on_every_tick =true, initial_capital=21000,commission_value=.25,overlay = true,default_qty_type = strategy.percent_of_equity, default_qty_value = 100)
StartYear = input(2018, "Backtest Start Year")
StartMonth = input(1, "Backtest Start Month")
StartDay = input(1, "Backtest Start Day")
UseStopLoss = input(false,"UseStopLoss")
//rsiLong = true
rsi1 = rsi(close, 14)

window() => true

stopLoss = input(20, title = "Stop loss percentage(0.1%)")
//stopLoss = input(200, title = "Stop loss percentage(0.1%)")

maFastSource   = input(defval = open, title = "Fast MA Source")
maFastLength   = input(defval = 12, title = "Fast MA Period", minval = 1)
// long ma
maSlowSource   = input(defval = open, title = "Slow MA Source")
maSlowLength   = input(defval = 26, title = "Slow MA Period", minval = 1)

maFast = ema(maFastSource, maFastLength)
maSlow = ema(maSlowSource, maSlowLength)

//12 and 26=9%; 3 and8=2%; 26 and 55=2%; when selling on a cross under
//maFastRSI = ema(rsi1, 12)
//maSlowRSI = ema(rsi1, 26)

fast = plot(maFast, title = "Fast MA", color = #7a8598, linewidth = 2, style = line, transp = 50)
slow = plot(maSlow, title = "Slow MA", color = #e08937, linewidth = 2, style = line, transp = 50)


longEMA = crossover(maFast, maSlow)
exitLong = crossunder(maFast, maSlow) // 5% in 2018
//exitLong = crossunder(close, maFast) // 15% in 2018
//exitLong = crossunder(rsi1, maFastRSI) // 13%

shortEMA = crossover(maSlow, maFast)
exitShort = crossover(maFast, maSlow)

//if (rsi1 < ema(rsi1,7))
//rsiLong = false

//if (longEMA and (rsi1 >= highest(rsi1,10)))
//if (longEMA)
if (longEMA and (rsi1 > ema(rsi1,26)))  //RSI ema values optimal from 19 to 35
    strategy.entry("LongId", strategy.long, when=window())

//strategy.close_all(when = rsi1 > 60) // 80=26%, 90=n/a, 70=15%, 60=16% long only
//strategy.close_all(when = (shortEMA and (rsi1 <= ema(rsi1,26)))) //10% gain in 2018 long only
//strategy.close_all(when = (rsi1 <= ema(rsi1,120))) //26=17% 14=2% 42=15%
//strategy.close_all(when = (shortEMA)) // 5% gain in 2018 long only
//strategy.close_all(when = exitLong) 

//if (shortEMA and not(rsiLong))
//if (shortEMA)
if (shortEMA and (rsi1 <= ema(rsi1,26)))
    strategy.entry("ShortId", strategy.short, when=window())

if (UseStopLoss)
    strategy.exit("StopLoss", "LongId", loss = close * stopLoss / 1000 / syminfo.mintick)
    strategy.exit("StopLoss", "ShortId", loss = close * stopLoss / 1000 / syminfo.mintick)

अधिक