ईएमए और छिपे हुए विचलन पर आधारित प्रवृत्ति अनुसरण रणनीति


निर्माण तिथि: 2024-02-02 16:54:27 अंत में संशोधित करें: 2024-02-02 16:54:27
कॉपी: 0 क्लिक्स: 833
1
ध्यान केंद्रित करना
1617
समर्थक

ईएमए और छिपे हुए विचलन पर आधारित प्रवृत्ति अनुसरण रणनीति

अवलोकन

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

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

  1. ईएमए औसत रेखा रणनीति: 50 चक्र और 250 चक्र ईएमए औसत रेखा का उपयोग करके प्रवृत्ति के लिए गोल्ड क्रॉस निर्णय करें, 50 ईएमए को पार करने पर मूल्य को बहु-हेड संकेत माना जाता है।

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

  3. K-लाइन समापन रणनीति: K-लाइन समापन मूल्य 50 ईएमए से अधिक होने पर अधिक स्थिति खोलें।

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

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

  1. ईएमए औसत रेखा का उपयोग करके प्रवृत्ति की दिशा का निर्धारण करें, आरएसआई सूचक के उलट संकेत के साथ, प्रवृत्ति के शुरुआती चरण में पदों को खोला जा सकता है।

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

  3. मध्य-लंबी रेखा के रुझानों को ट्रैक करना, जो एक नए उछाल के रुझान की शुरुआत को निर्धारित करने के लिए उपयुक्त है।

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

  1. ईएमए की औसत रेखा में एक मृत फोर्क उत्पन्न होने पर, समय पर स्थिति को साफ करने की आवश्यकता होती है।

  2. आरएसआई को संकेतों को छिपाने के लिए कुछ अनुभव की आवश्यकता होती है, और गलत पैरामीटर सेट करने से संकेतों को याद किया जा सकता है या गलत निर्णय लिया जा सकता है।

  3. ट्रेडिंग किस्मों के लिए पैरामीटर को अनुकूलित करने की आवश्यकता होती है।

अनुकूलन दिशा

  1. गतिशील रूप से ईएमए औसत के पैरामीटर को समायोजित करें, प्रवृत्ति के निर्णय की सटीकता को अनुकूलित करें।

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

  3. एटीआर रोक या प्रतिशत रोक जैसे तरीकों का उपयोग करके जोखिम को नियंत्रित करने के लिए रोकथाम तंत्र में शामिल हों।

  4. एक शून्य व्यापार रणनीति विकसित करें जो एक गिरावट के दौरान एक शून्य स्थिति खोलने की अनुमति देती है।

संक्षेप

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

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