ईएमए आरएसआई गुप्त विचलन प्रवृत्ति रणनीति के बाद

लेखक:चाओझांग, दिनांकः 2024-02-02 16:54:27
टैगः

img

अवलोकन

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

रणनीति तर्क

  1. ईएमए रणनीतिः प्रवृत्ति की दिशा निर्धारित करने के लिए 50-पीरियड ईएमए और 250-पीरियड ईएमए के स्वर्ण क्रॉस का उपयोग करना। 50 ईएमए के ऊपर बंद होना एक लंबा संकेत देता है।

  2. आरएसआई छिपा हुआ विचलन रणनीतिः आरएसआई कम निचले स्तरों को बनाता है जबकि मूल्य उच्च निचले स्तरों को बनाता है, शुरुआत में प्रवृत्ति उलट का संकेत देता है। पिवोट बिंदुओं की संख्या को सीमित करने से झूठे संकेत फ़िल्टर होते हैं।

  3. के-लाइन क्लोजिंग रणनीतिः जब क्लोजिंग प्राइस 50 ईएमए लाइन से ऊपर हो तो लॉन्ग जाएं।

उपरोक्त तीन रणनीतियों का संयोजन ऊपर की ओर बढ़ने की प्रवृत्ति की शुरुआत की पहचान करता है और तदनुसार लंबी स्थिति खोलता है।

लाभ विश्लेषण

  1. रुझान की दिशा निर्धारित करने के लिए ईएमए रेखाओं का उपयोग आरएसआई रिवर्स सिग्नल के साथ करते हुए रुझानों की शुरुआत में प्रारंभिक प्रवेश की अनुमति देता है।

  2. ईएमए लाइनों, आरएसआई संकेतक और के-लाइन बंद होने की कीमतों से दोहरी पुष्टि प्रभावी रूप से झूठे संकेतों को फ़िल्टर करती है।

  3. मध्यम और दीर्घकालिक रुझानों का अनुसरण करने से समेकन के बाद नए उभरते रुझानों की पहचान करना उपयुक्त हो जाता है।

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

  1. जब ईएमए रेखाओं में मृत्यु क्रॉस होता है तो स्थिति बंद करें।

  2. आरएसआई छिपे हुए विचलन की पहचान करने के लिए अनुभव की आवश्यकता होती है, अनुचित पैरामीटर ट्यूनिंग से गायब या झूठे संकेत हो सकते हैं।

  3. विभिन्न व्यापारिक साधनों के लिए मापदंडों का अनुकूलन आवश्यक है।

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

  1. प्रवृत्ति निर्धारण की बेहतर सटीकता के लिए ईएमए मापदंडों को गतिशील रूप से समायोजित करें।

  2. बेहतर छिपे हुए विचलन संकेत की सटीकता के लिए आरएसआई मापदंडों को ठीक से समायोजित करें।

  3. जोखिम को नियंत्रित करने के लिए एटीआर या प्रतिशत स्टॉप जैसे स्टॉप लॉस तंत्र जोड़ें।

  4. नीचे की ओर रुझानों के व्यापार के लिए लघु पदों के लिए रणनीतियाँ विकसित करें।

निष्कर्ष

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


/*backtest
start: 2024-01-25 00:00:00
end: 2024-02-01 00:00:00
period: 1m
basePeriod: 1m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=4

strategy(title="EMA RSI ATR Hidden Div Strat", shorttitle="Hidden Div Strat", overlay = true, pyramiding = 0, max_bars_back=3000, calc_on_order_fills = false, commission_type =  strategy.commission.percent, commission_value = 0, default_qty_type = strategy.percent_of_equity, default_qty_value = 10, initial_capital=5000, currency=currency.USD)

// Time Range
FromMonth=input(defval=1,title="FromMonth",minval=1,maxval=12)
FromDay=input(defval=1,title="FromDay",minval=1,maxval=31)
FromYear=input(defval=2020,title="FromYear",minval=2016)
ToMonth=input(defval=1,title="ToMonth",minval=1,maxval=12)
ToDay=input(defval=1,title="ToDay",minval=1,maxval=31)
ToYear=input(defval=9999,title="ToYear",minval=2017)
start=timestamp(FromYear,FromMonth,FromDay,00,00)
finish=timestamp(ToYear,ToMonth,ToDay,23,59)
window()=>true

// Bar's time happened on/after start date?
afterStartDate = time >= start and time<=finish?true:false

//EMA'S
emasrc = close

len1 = input(50, minval=1, title="EMA1")
ema1 = ema(emasrc, len1)
col1 = color.white

len2 = input(250, minval=1, title="EMA2")
ema2 = ema(emasrc, len2)
col2 = color.yellow

//Plots
plot(ema1, title="EMA1", linewidth=1, color=col1)
plot(ema2, title="EMA2", linewidth=1, color=col2)

//Stoch
periodK = input(4, title="K", minval=1)
periodD = input(4, title="D", minval=1)
smoothK = input(3, title="Smooth", minval=1)
k = sma(stoch(close, high, low, periodK), smoothK)
d = sma(k, periodD)

//Hidden Divergence Indikator

len = input(title="RSI Period", minval=1, defval=14)
src = input(title="RSI Source", defval=close)
lbR = input(title="Pivot Lookback Right", defval=1)
lbL = input(title="Pivot Lookback Left", defval=19)
rangeUpper = input(title="Max of Lookback Range", defval=20)
rangeLower = input(title="Min of Lookback Range", defval=4)
hiddenBullColor = color.new(color.green, 80)
textColor = color.white
noneColor = color.new(color.white, 100)
osc = rsi(src, len)

plFound = na(pivotlow(osc, lbL, lbR)) ? false : true
phFound = na(pivothigh(osc, lbL, lbR)) ? false : true
_inRange(cond) =>
	bars = barssince(cond == true)
	rangeLower <= bars and bars <= rangeUpper

//------------------------------------------------------------------------------
// Hidden Bullish
// Osc: Lower Low

oscLL = osc[lbR] < valuewhen(plFound, osc[lbR], 1) and _inRange(plFound[1])

// Price: Higher Low

priceHL = low[lbR] > valuewhen(plFound, low[lbR], 1)
hiddenBullCond = priceHL and oscLL and plFound

//buy Conditions
buyhiddenbull = hiddenBullCond[1] or hiddenBullCond[2] or hiddenBullCond[3] or hiddenBullCond[4] or hiddenBullCond[5] or hiddenBullCond[6] or hiddenBullCond[7] or hiddenBullCond[8] or hiddenBullCond[9] or hiddenBullCond[10]
emacondition = ema1 > ema2
upcondition = close[1] > ema1[1] and ema2[1] and close[2] > ema1[2] and ema2[2] and close[3] > ema1[3] and ema2[3]
crossup = k[0] >= d[0] and k[1] <= d[1]
longcondition = emacondition and upcondition and crossup and buyhiddenbull

if (afterStartDate)
    strategy.entry("Long", strategy.long, when = longcondition)

//TakeProfit, StopLoss lowest low
profitfactor = input(title="Profitfactor", type=input.float, step=0.1, defval=1.6)
loLen = input(title="Lowest Low Lookback", type=input.integer,
  defval=38, minval=2)
stop_level = lowest(low, loLen)[1]
bought = strategy.position_size[1] < strategy.position_size
barsbought = barssince(bought)

if strategy.position_size>0
    profit_level = strategy.position_avg_price + ((strategy.position_avg_price - stop_level[barsbought])*profitfactor)
    strategy.exit(id="TP/ SL", stop=stop_level[barsbought], limit=profit_level)

अधिक