خرید/فروخت کے ساتھ EMA ADX RSI کا اسکیلپنگ

مصنف:چاؤ ژانگ، تاریخ: 2022-05-26 17:11:01
ٹیگز:ADXآر ایم اےآر ایس آئیای ایم اےایس ایم اےڈبلیو ایم اے

یہ ایک مطالعہ کا اشارے ہے جو یوٹیوب چینل میں سے ایک میں دیکھی جانے والی حکمت عملی میں اندراجات کو ظاہر کرتا ہے لہذا یہ میرا نہیں ہے۔ میں یہ نہیں بتا سکتا کہ یہ کون ہے کیونکہ یہ ہاؤس رولز کے خلاف ہے لیکن آپ اسے یوٹیوب پر تلاش کرنے پر جان سکتے ہیں۔ اشاریہ کے مطابق آسکیلیٹرز اور ایما کی ڈیفالٹ اقدار کو ایڈجسٹ کیا گیا۔ وہ کہتا ہے کہ اسے 5 منٹ کے ٹائم فریم میں بہترین نتائج ملے لیکن میں نے کوشش کی کہ چیزوں کو زیادہ سے زیادہ قابل تدوین بنایا جائے تاکہ آپ ترتیبات کے ساتھ گھوم سکیں اور اگر آپ چاہیں تو مختلف ٹائم فریموں کے لئے اپنی اپنی حکمت عملی تشکیل دے سکیں۔ موم بتی کے چارٹ کے ساتھ استعمال کرنے کی تجویز کی گئی ہے۔ نیچے کی نیلی لکیر سے پتہ چلتا ہے کہ ADX ٹرینڈ ریڈی حد نامی ترتیبات میں مقرر کردہ منتخب حد سے اوپر ہے۔ آپ خرید ، فروخت یا خرید / فروخت سگنل کے لئے الرٹ ایک ساتھ ترتیب دے سکتے ہیں۔

داخلہ کی حکمت عملی خود بہت سیدھی ہے. اندراج کے لئے قوانین مندرجہ ذیل ہیں، اسکرپٹ آٹو پر یہ سب چیک کریں گے اور آپ کو خریدنے یا فروخت سگنل دے گا: تجویز کردہ وقت: 5 منٹ

لمبی مدت کے لیے:

  • چیک کریں کہ آیا قیمت مقررہ EMA سے اوپر ہے (اگر آپ چاہیں تو اس اصول کو غیر فعال کر سکتے ہیں)
  • آر ایس آئی اوور سیلڈ میں ہے
  • ADX مقرر Trend Ready حد سے اوپر ہے (اس کا مطلب ہے کہ ایک رجحان جاری ہے)
  • قیمت کو پچھلی موم بتیوں کے رجحان کی منظوری دینی چاہئے۔ یہ خریدنے کے اندراجات کے لئے بولش اور فروخت اندراجات کے لئے bearish ہے۔
  • آخری سوئنگ کم سے نیچے سٹاپ نقصان کے ساتھ داخل کریں 1: 1 یا 1.5: 1 منافع لینے کے تناسب کے ساتھ.

مختصر اندراج کے لئے:

  • چیک کریں کہ آیا قیمت مقررہ EMA سے نیچے ہے (اگر آپ چاہیں تو اس اصول کو غیر فعال کر سکتے ہیں)
  • RSI اوور بک میں ہے
  • ADX مقرر Trend Ready حد سے اوپر ہے (اس کا مطلب ہے کہ ایک رجحان جاری ہے)
  • قیمت کو پچھلی موم بتیوں کے رجحان کی منظوری دینی چاہئے۔ یہ خریدنے کے اندراجات کے لئے بولش اور فروخت اندراجات کے لئے bearish ہے۔
  • آخری سوئنگ اونچائی سے اوپر سٹاپ نقصان کے ساتھ داخل کریں 1: 1 یا 1.5: 1 منافع لینے کے تناسب کے ساتھ۔

یہ میرا پہلا اشارہ ہے۔ اگر آپ کوئی تازہ کاری چاہتے ہیں تو مجھے بتائیں۔ مجھے یقین نہیں ہے کہ میں سب کچھ شامل کر سکتا ہوں لیکن میں پھر بھی کوشش کروں گا۔

تبدیل: سگنل 2 موم بتیوں سے پہلے چیک کریں گے اگر آر ایس آئی سگنل ظاہر کرنے کے لئے مقرر کردہ قیمت سے نیچے یا اوپر ہے۔ اس کی وجہ یہ ہے کہ بعض اوقات انٹری سگنل درست ہوتا ہے لیکن جواب میں تھوڑی دیر ہوسکتی ہے۔

بیک ٹسٹ

img


/*backtest
start: 2022-04-25 00:00:00
end: 2022-05-24 23:59:00
period: 5m
basePeriod: 1m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=5
indicator(title='EMA RSI ADX Scalping Alerts', shorttitle="ERA Scalper", overlay=true)

//Define MA Inputs and group them
maType = input.string(title="MA Type", options=["EMA", "SMA", "WMA", "VWMA", "HMA", "RMA", "DEMA", "TEMA", "LSMA", "ZLSMA"], defval="EMA", group='MA Settings')
emaSource = input.source(title='MA Source', defval=close, group='MA Settings')
emaLength = input.int(title='MA Length', defval=50, minval=1, maxval=999, group='MA Settings')

//Other Moving Avarage Calculations
e1 = ta.ema(emaSource, emaLength)
e2 = ta.ema(e1, emaLength)
dema = 2 * e1 - e2

ema1 = ta.ema(emaSource, emaLength)
ema2 = ta.ema(ema1, emaLength)
ema3 = ta.ema(ema2, emaLength)
tema = 3 * (ema1 - ema2) + ema3

lsmaOffset = input.int(title="LSMA Offset", defval=0, minval=0, maxval=100, tooltip='Only used if you choose the LSMA and ZLSMA(Zero Lag LSMA) Option between MA Types', group='MA Settings')
lsma = ta.linreg(emaSource, emaLength, lsmaOffset)
lsma2 = ta.linreg(lsma, emaLength, lsmaOffset)
eq = lsma-lsma2
zlsma = lsma+eq

// Switch between different MA Types
emaValue = switch maType
    "EMA" => ta.ema(emaSource, emaLength)
    "SMA" => ta.sma(emaSource, emaLength)
    "WMA" => ta.wma(emaSource, emaLength)
    "VWMA" => ta.vwma(emaSource, emaLength)
    "HMA" => ta.hma(emaSource, emaLength)
    "RMA" => ta.rma(emaSource, emaLength) 
    "DEMA" => dema
    "TEMA" => tema 
    "LSMA" => lsma
    "ZLSMA" => zlsma
    =>
        runtime.error("No matching MA type found.")
        float(na)
    
//Define RSI inputs and group them
rsiSource = input.source(title='RSI Source', defval=close, group='RSI Settings')
rsiLength = input.int(title='RSI Length', defval=3, minval=0, maxval=100, group='RSI Settings')
rsiValuee = ta.rsi(rsiSource, rsiLength)
rsiOverbought = input.int(title='RSI Overbought Level', defval=80, group='RSI Settings')
rsiOversold = input.int(title='RSI Oversold Level', defval=20, group='RSI Settings')

//Define overbought and oversold conditions
isRsiOB = rsiValuee >= rsiOverbought
isRsiOS = rsiValuee <= rsiOversold

//ADX Inputs and calculation of the value
adxlen = input.int(5, title='ADX Smoothing', group='ADX Settings')
dilen = input.int(5, title='DI Length', group='ADX Settings')
dirmov(len) =>
    up = ta.change(high)
    down = -ta.change(low)
    plusDM = na(up) ? na : up > down and up > 0 ? up : 0
    minusDM = na(down) ? na : down > up and down > 0 ? down : 0
    truerange = ta.rma(ta.tr, len)
    plus = fixnan(100 * ta.rma(plusDM, len) / truerange)
    minus = fixnan(100 * ta.rma(minusDM, len) / truerange)
    [plus, minus]
adx(dilen, adxlen) =>
    [plus, minus] = dirmov(dilen)
    sum = plus + minus
    adx = 100 * ta.rma(math.abs(plus - minus) / (sum == 0 ? 1 : sum), adxlen)
    adx
sig = adx(dilen, adxlen)

//Define the input and value where it is considered that there is a trend going on
adxLimit = input.int(title='Trend Ready Limit', defval=30, minval=0, maxval=100, group='ADX Settings')
trendReady = sig > adxLimit

//Draw trend ready at the bottom of the chart for better viewing so that you can change the value based on what you see easier
plotADX = input(title='Draw Trend Ready On Chart', defval=false)
readyFold = plotADX and sig > adxLimit
plotchar(series=readyFold, title='Trend Ready', location=location.bottom, color=color.new(color.blue, 0), size=size.small, char='_')

//Plot the EMA on chart
enableEmaRule = input(title='Enable MA Rule', defval=true)

//Define the signal conditions and choice to add or leave out MA Rule if you wish so
alertLong = enableEmaRule ? low > emaValue and (rsiValuee <= rsiOversold or rsiValuee[1] <= rsiOversold or rsiValuee[2] <= rsiOversold) and sig > adxLimit and close > high[1] : (rsiValuee <= rsiOversold or rsiValuee[1] <= rsiOversold or rsiValuee[2] <= rsiOversold) and sig > adxLimit and close > high[1]
alertShort = enableEmaRule ? high < emaValue and (rsiValuee >= rsiOverbought or rsiValuee[1] >= rsiOverbought or rsiValuee[2] >= rsiOverbought) and sig > adxLimit and close < low[1] : (rsiValuee >= rsiOverbought or rsiValuee[1] >= rsiOverbought or rsiValuee[2] >= rsiOverbought) and sig > adxLimit and close < low[1]
plot(enableEmaRule ? emaValue : na, color=color.new(color.red, 0), title='MA')

//Buy and Sell Shapes on Chart
plotshape(alertLong, title='Buy', location=location.belowbar, color=color.new(color.green, 0), size=size.small, style=shape.triangleup, text='Buy')
plotshape(alertShort, title='Sell', location=location.abovebar, color=color.new(color.red, 0), size=size.small, style=shape.triangledown, text='Sell')

//Alerts
alertcondition(title='Buy Alert', condition=alertLong, message='Long Conditions are Met')
alertcondition(title='Sell Alert', condition=alertShort, message='Short Conditions are Met')
alertcondition(title='Buy / Sell Alert', condition=alertLong or alertShort, message='Conditions Met for Buy or Short')

if alertLong
    strategy.entry("Enter Long", strategy.long)
else if alertShort
    strategy.entry("Enter Short", strategy.short)

متعلقہ

مزید