دوہری حرکت اوسط حکمت عملی


تخلیق کی تاریخ: 2023-10-07 15:18:44 آخر میں ترمیم کریں: 2023-10-07 15:18:44
کاپی: 0 کلکس کی تعداد: 641
1
پر توجہ دیں
1617
پیروکار

جائزہ

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

اصول

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

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

فوائد

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

خطرات

  • ڈبل یکساں کراسنگ حکمت عملی میں تاخیر ہے ، قیمتوں میں تبدیلی کی جگہ سے محروم ہوسکتا ہے
  • زلزلے کی صورت حال کے لئے موزوں نہیں ہے، زیادہ غلط سگنل پیدا کرے گا
  • غلط میڈین لائن پیریڈ پیرامیٹرز زیادہ حساس یا سست ہوسکتے ہیں
  • پس منظر کے رجحانات اور کارروائی کے وقت کا تعین کرنے کے لئے دوسرے اشارے کے ساتھ کام کرنے کی ضرورت ہے

اصلاح کی سمت

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

خلاصہ کریں۔

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

حکمت عملی کا ماخذ کوڈ
/*backtest
start: 2023-01-01 00:00:00
end: 2023-04-14 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

// This source code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/
// © KivancOzbilgic


//@version=4
strategy("pomila", overlay=true)
Periods = input(title="ATR Period", type=input.integer, defval=10)
src = input(hl2, title="Source")
Multiplier = input(title="ATR Multiplier", type=input.float, step=0.1, defval=3.0)
changeATR= input(title="Change ATR Calculation Method ?", type=input.bool, defval=true)
showsignals = input(title="Show Buy/Sell Signals ?", type=input.bool, defval=false)
highlighting = input(title="Highlighter On/Off ?", type=input.bool, defval=true)
barcoloring = input(title="Bar Coloring On/Off ?", type=input.bool, defval=true)
atr2 = sma(tr, Periods)
atr= changeATR ? atr(Periods) : atr2
up=src-(Multiplier*atr)
up1 = nz(up[1],up)
up := close[1] > up1 ? max(up,up1) : up
dn=src+(Multiplier*atr)
dn1 = nz(dn[1], dn)
dn := close[1] < dn1 ? min(dn, dn1) : dn
trend = 1
trend := nz(trend[1], trend)
trend := trend == -1 and close > dn1 ? 1 : trend == 1 and close < up1 ? -1 : trend
upPlot = plot(trend == 1 ? up : na, title="Up Trend", style=plot.style_linebr, linewidth=2, color=color.green)
buySignal = trend == 1 and trend[1] == -1
plotshape(buySignal ? up : na, title="UpTrend Begins", location=location.absolute, style=shape.circle, size=size.tiny, color=color.green, transp=0)
plotshape(buySignal and showsignals ? up : na, title="Buy", text="Buy", location=location.absolute, style=shape.labelup, size=size.tiny, color=color.green, textcolor=color.white, transp=0)
dnPlot = plot(trend == 1 ? na : dn, title="Down Trend", style=plot.style_linebr, linewidth=2, color=color.red)
sellSignal = trend == -1 and trend[1] == 1
plotshape(sellSignal ? dn : na, title="DownTrend Begins", location=location.absolute, style=shape.circle, size=size.tiny, color=color.red, transp=0)
plotshape(sellSignal and showsignals ? dn : na, title="Sell", text="Sell", location=location.absolute, style=shape.labeldown, size=size.tiny, color=color.red, textcolor=color.white, transp=0)
mPlot = plot(ohlc4, title="", style=plot.style_circles, linewidth=0)
longFillColor = highlighting ? (trend == 1 ? color.green : color.white) : color.white
shortFillColor = highlighting ? (trend == -1 ? color.red : color.white) : color.white
fill(mPlot, upPlot, title="UpTrend Highligter", color=longFillColor)
fill(mPlot, dnPlot, title="DownTrend Highligter", color=shortFillColor)
FromMonth = input(defval = 9, title = "From Month", minval = 1, maxval = 12)
FromDay   = input(defval = 1, title = "From Day", minval = 1, maxval = 31)
FromYear  = input(defval = 2018, title = "From Year", minval = 999)
ToMonth   = input(defval = 1, title = "To Month", minval = 1, maxval = 12)
ToDay     = input(defval = 1, title = "To Day", minval = 1, maxval = 31)
ToYear    = input(defval = 9999, title = "To Year", minval = 999)
start     = timestamp(FromYear, FromMonth, FromDay, 00, 00)  
finish    = timestamp(ToYear, ToMonth, ToDay, 23, 59)       
window()  => time >= start and time <= finish ? true : false
longCondition = buySignal
if (longCondition)
    strategy.entry("BUY", strategy.long, when = window())
shortCondition = sellSignal
if (shortCondition)
    strategy.entry("SELL", strategy.short, when = window())
buy1= barssince(buySignal)
sell1 = barssince(sellSignal)
color1 = buy1[1] < sell1[1] ? color.green : buy1[1] > sell1[1] ? color.red : na
barcolor(barcoloring ? color1 : na)