دوہری حرکت پذیر اوسط ٹرپل افقی اشارے ٹریڈنگ کی حکمت عملی

مصنف:چاؤ ژانگ، تاریخ: 2023-12-15 15:39:45
ٹیگز:

img

جائزہ

یہ حکمت عملی ایک نسبتا stable مستحکم اور قابل اعتماد ٹرینڈ ٹریکنگ ٹریڈنگ حکمت عملی بنانے کے لئے دوہری حرکت پذیر اوسط اشارے اور ٹرپل ایکسپونینشل حرکت پذیر اوسط اشارے کا استعمال کرتی ہے۔ اس کا بنیادی خیال یہ ہے کہ جب حرکت پذیر اوسط اشارے میں سنہری کراس یا موت کی کراس کا پتہ چلتا ہے تو تجارتی سگنل جاری کرنا ہے۔ جبکہ اسٹوکاسٹک اشارے کا استعمال مارکیٹ میں شدید اتار چڑھاؤ کے دوران غلط سگنل پیدا کرنے سے بچنے کے لئے زیادہ خریدنے اور زیادہ فروخت کی صورتحال کا فیصلہ کرنے میں مدد کے لئے کیا جاتا ہے۔

اصول

اس حکمت عملی میں بنیادی طور پر چار حصے ہیں:

  1. دوہری حرکت پذیر اوسط اشارے: بالترتیب 50 پیریڈ اور 100 پیریڈ کے ایکسپونینشل حرکت پذیر اوسط (ای ایم اے) کا حساب لگاتا ہے۔ جب قلیل مدتی ای ایم اے طویل مدتی ای ایم اے کے اوپر عبور کرتا ہے تو یہ خرید کا اشارہ پیدا کرتا ہے ، اور جب اس سے نیچے عبور کرتا ہے تو فروخت کا اشارہ کرتا ہے۔

  2. ٹرپل ایکسپونینشیل اشارے: مارکیٹ کے رجحان کی سمت کا تعین کرنے کے لئے 50 پیریڈ ، 100 پیریڈ اور 200 پیریڈ کے ایکسپونینشیل چلنے والے اوسط کا حساب لگاتا ہے۔ جب 50EMA> 100EMA> 200EMA ، یہ ایک تیزی سے مارکیٹ ہے۔ جب 50EMA <100EMA <200EMA ، یہ ایک bearish مارکیٹ ہے۔

  3. اسٹوکاسٹک اشارے: زیادہ خریدنے اور زیادہ فروخت کی حالتوں کا تعین کرنے کے لئے آر ایس آئی کے 6 دن کے K اور D اقدار کا حساب لگاتا ہے۔ جب K قدر D قدر سے تجاوز کرتی ہے تو ، یہ زیادہ فروخت ہوتی ہے۔ جب اس سے نیچے گزرتی ہے تو ، یہ زیادہ خریدی جاتی ہے۔

  4. ٹریڈنگ سگنل: صرف اس صورت میں جب دوہری حرکت پذیر اوسط اشارے ایک ہی وقت میں سگنل پیدا کرتا ہے جب مارکیٹ ٹرپل ایکسپونینشل حرکت پذیر اوسط کی تیزی یا bearish حالت کے مطابق ہے ، اور اسٹوکاسٹک اشارے میں زیادہ خرید یا فروخت نہیں ہوتی ہے ، حقیقی تجارتی آرڈر جاری کیے جائیں گے۔

فوائد

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

خطرات اور جوابی اقدامات

اس حکمت عملی کا سب سے بڑا خطرہ یہ ہے کہ یہ اشارے کے فیصلوں پر انحصار کرتا ہے۔ جب اشارے غلط سگنل دیتا ہے تو ، اس سے آسانی سے ناکام تجارت ہوسکتی ہے۔ اس کے علاوہ ، مجموعی رجحان کا تعین کرنے کے لئے طویل دورانیے کے چلتے ہوئے اوسط کا استعمال کرتے وقت ، کچھ قلیل مدتی مواقع بھی ضائع ہوسکتے ہیں۔ اہم رسک کا مقابلہ مندرجہ ذیل ہے:

  1. اشارے کے پیرامیٹرز کو بہتر بنانا اور دوہری حرکت پذیر اوسط اور تین گنا اشاریاتی حرکت پذیر اوسط کے سائیکل کے مجموعوں کو ایڈجسٹ کرنا تاکہ وہ مارکیٹ کی خصوصیات سے بہتر مطابقت رکھیں۔

  2. CANCEL آپریشنز کے لئے مزید اشارے شامل کریں، جب مارکیٹ میں شدید اتار چڑھاؤ ظاہر ہوتا ہے تو موجودہ تجارت کو ختم کریں.

  3. طویل مدتی بل مارکیٹوں میں قلیل مدتی مواقع پر سرمایہ کاری کرنے کے لئے معاون قلیل مدتی تیزی سے حکمت عملیوں کا استعمال کریں۔

اصلاح کی ہدایات

اس حکمت عملی کو بہتر بنانے کے اہم پہلوؤں میں شامل ہیں:

  1. دوہری حرکت پذیر اوسط اور ٹرپل ایکسپونینشیل حرکت پذیر اوسط کے سائیکل پیرامیٹرز کو ایڈجسٹ کریں تاکہ اشارے کو مارکیٹ کی خصوصیات کے مطابق ڈھال لیا جاسکے۔

  2. حجم، MACD اور دیگر فیصلوں میں اضافہ کریں تاکہ غیر معمولی قیمتوں کی نقل و حرکت سے بچنے کے لئے غلط سگنل کا سبب بن سکے.

  3. قلیل مدتی واپسی کے بعد غلط سگنل سے بچنے کے لئے موم بتی کے نمونوں کا استعمال کرتے ہوئے رجحانات کی تصدیق کرنا بہتر ہے۔

  4. اس کو اسٹاک، فاریکس جیسے مزید اقسام میں توسیع دیں اور حکمت عملی کی موافقت کی جانچ کریں۔

  5. مارکیٹ کی مجموعی اتار چڑھاؤ اور کنٹرول پوزیشن سائزنگ کا تعین کرنے کے لئے VIX اشارے شامل کریں۔

نتیجہ

یہ حکمت عملی تجارتی سگنل جاری کرنے کے لئے دوہری متحرک اوسط اشارے کا استعمال کرتی ہے ، جس میں ٹرپل ایکسپونینشل متحرک اوسط اور اسٹوکاسٹک اشارے بطور تکمیل ہوتے ہیں ، اس طرح نسبتا stable مستحکم رجحان سے باخبر رہنے کی حکمت عملی تشکیل دی جاتی ہے۔ یہ آسان ، لاگو کرنا آسان ، مارکیٹ کی خصوصیات کے ساتھ انتہائی مماثل ہے ، مستحکم منافع فراہم کرتا ہے۔ یہ تجویز کرنے کے قابل مقدار کی حکمت عملی ہے۔ نشان زد اصلاحات کے ذریعہ ، اس میں اور بھی بہتر نتائج حاصل کرنے کی صلاحیت ہے۔


/*backtest
start: 2023-12-07 00:00:00
end: 2023-12-12 08:00:00
period: 1m
basePeriod: 1m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=5
strategy(title='5212 EMA Strategy', shorttitle='5212 EMA', overlay=true, pyramiding=0, default_qty_type=strategy.percent_of_equity, default_qty_value=10, calc_on_every_tick=false)

//**Backtest Date sof
useStartPeriodTime  = input.bool(true                       , 'Start Date & Time'   , group='Date Range'    , inline='Start Period')
startPeriodTime     = input(timestamp('16 Apr 2021')   , ''                    , group='Date Range'    , inline='Start Period')
useEndPeriodTime    = input.bool(false                      , 'End Date & Time'     , group='Date Range'    , inline='End Period')
endPeriodTime       = input(timestamp('31 Dec 2222')   , ''                    , group='Date Range'    , inline='End Period')
enableHighlight     = input.bool(false                      , 'Highlight'           , group='Date Range'    , inline='Highlight')
highlightType       = input.string('Anchors'                , ''                    , group='Date Range'    , inline='Highlight'    , options=['Anchors', 'Background'])
highlightColor      = input.color(color.white               , ''                    , group='Date Range'    , inline='Highlight')
start = useStartPeriodTime ? startPeriodTime >= time : false
end = useEndPeriodTime ? endPeriodTime <= time : false
calcPeriod = true
// var line startAnchor    = line.new(na, na, na, na, xloc.bar_time, extend.both, highlightColor, width=2)
// var line endAnchor      = line.new(na, na, na, na, xloc.bar_time, extend.both, highlightColor, width=2)
// useBgcolor = false
// if enableHighlight
//     if highlightType == 'Anchors'
//         if useStartPeriodTime
//             line.set_xy1(startAnchor, startPeriodTime, low)
//             line.set_xy2(startAnchor, startPeriodTime, high)
//         if useEndPeriodTime
//             line.set_xy1(endAnchor, calcPeriod ? time : line.get_x1(endAnchor), low)
//             line.set_xy2(endAnchor, calcPeriod ? time : line.get_x1(endAnchor), high)

//     if highlightType == 'Background'
//         useBgcolor := true
//         useBgcolor

// bgcolor(useBgcolor and calcPeriod ? color.new(highlightColor,90) : na, editable=false)
//**Backtest Date eof

src         =input(close    , 'Source'      , group='Support')
showEMA     = input(true    , 'Show EMA'    , group='Support')

//**Stochastic RSI sof
smoothK     = input.int(6   , "K"               , group='Stochastic RSI'    , minval=1)
smoothD     = input.int(6   , "D"               , group='Stochastic RSI'    , minval=1)
lengthRSI   = input.int(28  , "RSI Length"      , group='Stochastic RSI'    , minval=1)
lengthStoch = input.int(28  , "Stoch Length"    , group='Stochastic RSI'    , minval=1)

rsi1    = ta.rsi(src, lengthRSI)
k       = ta.sma(ta.stoch(rsi1, rsi1, rsi1, lengthStoch), smoothK)
d       = ta.sma(k, smoothD)
//**STochastic RSI eof

//** EMA sof
emain01     = input.int(50  , "EMAma Girang"    , group='Moving Average Exponential'    , minval=1)
emain02     = input.int(100 , "EMAma Muda"      , group='Moving Average Exponential'    , minval=1)
emain03     = input.int(200 , "EMAma Tua"       , group='Moving Average Exponential'    , minval=1)

ema01 = ta.ema(src, emain01)
ema02 = ta.ema(src, emain02)
ema03 = ta.ema(src, emain03)
plot(showEMA ? ema01 : na, 'EMAma Girang'   , color = color.new(color.orange, 0))
plot(showEMA ? ema02 : na, 'EMAma Muda'     , color = color.new(color.blue, 0))
plot(showEMA ? ema03 : na, 'EMAma Tua'      , color = color.new(color.red, 0))
//** EMA eof

//**Condition sof
emaLong     = ema01 > ema02 and ema02 > ema03 and low > ema03
emaShort    = ema01 < ema02 and ema02 < ema03 and high < ema03

longCond    = ta.crossover(k,d) and k <= 23 and emaLong
shortCond   = ta.crossunder(k,d) and k >= 77 and emaShort

longClose   = ta.crossunder(k,d) and k <= 77
shortClose  = ta.crossover(k,d) and k >= 23
longCross   = ta.crossover(ema01, ema02)
shortCross  = ta.crossunder(ema01, ema02)
//**Condition eof

//**Strategy sof
if calcPeriod and longCond
    strategy.entry('long', strategy.long, when=longCond, comment='EN Long')
strategy.close('long', when=shortClose, comment='EX Long')
strategy.close('long', when=shortCross, comment='MD Short')

if calcPeriod and shortCond
    strategy.entry('short', strategy.short, when=shortCond, comment='EN Short')
strategy.close('short', when=longClose, comment='EX Short')
strategy.close('short', when=longCross, comment='MD Long')

if calcPeriod == false and ta.crossover(ema01, ema02) or ta.crossunder(ema01, ema02)
    strategy.cancel('long')
    strategy.cancel('short')
//**Strategy eof

//**Label sof
entryText       = str.tostring(strategy.position_avg_price, '##.###')
longText    = 'Long Entry : ' + entryText 
shortText   = 'Short Entry : ' + entryText
noTrade     = 'Sleeping Mode'

LongTrade = strategy.position_size > 0
ShortTrade = strategy.position_size < 0

Tekslabel = LongTrade ? longText : ShortTrade ? shortText : noTrade

xPosition = timenow + math.round(ta.change(time)*1)
yPosition = ta.highest(1)
labelColor = LongTrade ? color.new(color.aqua, 0) : ShortTrade ? color.new(color.red, 0) : color.new(color.gray, 0)
textColor   = LongTrade ? color.new(color.black, 0) : ShortTrade ? color.new(color.white, 0) : color.new(color.white, 0)

// lab_l = label.new(
//           xPosition, yPosition, Tekslabel,
//           color=labelColor, 
//           textcolor=textColor, 
//           style =  label.style_label_left,
//           textalign=text.align_left,
//           xloc=xloc.bar_time, yloc = yloc.price)

// label.delete(lab_l[1])
//**Strategy eof


مزید