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

مصنف:چاؤ ژانگ، تاریخ: 2023-11-22 10:07:19
ٹیگز:

img

جائزہ

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

حکمت عملی منطق

  1. مختصر مدت کے چلتے ہوئے اوسط مدت shortma (7 دن کا ڈیفالٹ) اور طویل مدتی چلتے ہوئے اوسط مدت longma (77 دن کا ڈیفالٹ) مقرر کریں
  2. جب مختصر ایم اے لمبی ایم اے کو عبور کرتا ہے تو ، اس کا تعین خرید سگنل اور ریکارڈ بار کے طور پر کیا جاتا ہے کیونکہ یہ خرید سکتا ہے۔ لمبی ایم اے کا مطلب ہے کہ ایک اپ ٹرینڈ شروع ہوچکا ہے۔ جب مختصر ایم اے لمبی ایم اے سے نیچے عبور کرتا ہے تو ، اس کا تعین فروخت سگنل اور ریکارڈ بار کے طور پر ہوتا ہے کیونکہ یہ فروخت ہوتا ہے۔ لمبی ایم اے کا مطلب ہے کہ اپ ٹرینڈ ختم ہوچکا ہے۔
  3. بارسینٹ اقدار کا موازنہ کریں۔ شارٹ ایم اے کے نیچے عبور ہونے کے بعد جتنے زیادہ بارس ہیں ، اتنا ہی زیادہ وقت تک اپ ٹرینڈ برقرار رہا ہے۔ شارٹ ایم اے کے اوپر عبور ہونے کے بعد جتنے زیادہ بارس ہیں ، الٹ سگنل اتنا ہی مضبوط ہوگا۔
  4. جب فروخت سگنل کے لئے بارسائنس خرید سگنل کے لئے بارسائنس سے بڑا ہوتا ہے تو ، خرید سگنل کو متحرک کیا جاتا ہے۔ جب خرید سگنل کے لئے بارسائنس فروخت سگنل کے لئے بارسائنس سے بڑا ہوتا ہے تو ، فروخت سگنل کو متحرک کیا جاتا ہے۔
  5. بنیادی طور پر یہ ایک دوہری ایم اے الٹ کی حکمت عملی ہے ، جس میں رجحان الٹ کے نکات کا پتہ لگانے کے لئے تیز اور سست ایم اے کے کراس اوور الٹ کا استعمال کیا جاتا ہے۔

فوائد

  1. کچھ جھوٹے سگنل فلٹر کرنے کے لئے دوہری MAs استعمال کرتا ہے
  2. اضافی بار چونکہ موازنہ سے غلط توڑ اور قریبی قیمت کی تبدیلیوں سے بچتا ہے
  3. سمجھنے اور لاگو کرنے میں آسان
  4. مختلف ادوار اور منڈیوں کے مطابق مرضی کے مطابق ایم اے پیرامیٹرز

خطرات

  1. ڈبل ایم اے حکمت عملیوں میں زیادہ بار بار تجارتی سگنل پیدا ہوتے ہیں
  2. ایم اے پیرامیٹر کی ناقص ایڈجسٹمنٹ طویل عرصے سے رجحانات کو یاد کر سکتی ہے
  3. اسٹاپ نقصان جب طویل مدتی ایم اے کو توڑنا دور ہوسکتا ہے ، جس سے زیادہ کھینچنے کا باعث بنتا ہے
  4. مؤثر طریقے سے coils اور oscillations فلٹر نہیں کر سکتے ہیں

بہتری کی ہدایات

  1. مختلف مارکیٹوں میں وپساؤ سے بچنے کے لئے دیگر اشارے شامل کریں
  2. سٹاپ نقصان کے طریقہ کار کو شامل کریں
  3. MA پیرامیٹر مجموعے کو بہتر بنائیں
  4. مارکیٹ سائیکل کی بنیاد پر ایم اے پیرامیٹرز کو متحرک طور پر ایڈجسٹ کریں

خلاصہ

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


/*backtest
start: 2022-11-15 00:00:00
end: 2023-11-21 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=3
strategy("Up Down", "Up Down", precision = 6, pyramiding = 1, default_qty_type = strategy.percent_of_equity, default_qty_value = 99, commission_type = strategy.commission.percent, commission_value = 0.0, initial_capital = 1000, overlay = true)

buy = close > open and open > close[1]
sell = close < open and open < close[1]

longma = input(77,"Long MA Input")
shortma = input(7,"Short MA Input")
long = sma(close,longma)
short = sma(close, shortma)
mabuy = crossover(short,long) or buy and short > long
masell = crossunder(short,long) or sell and short > long

num_bars_buy = barssince(mabuy)
num_bars_sell = barssince(masell)
//plot(num_bars_buy, color = teal)
//plot(num_bars_sell, color = orange)

xbuy = crossover(num_bars_sell, num_bars_buy)
xsell = crossunder(num_bars_sell, num_bars_buy)
plotshape(xbuy,"Buy Up Arrow", shape.triangleup, location.belowbar, white, size = size.tiny)
plotshape(xsell,"Sell Down Arrow", shape.triangledown, location.abovebar, white, size = size.tiny)
plot(long,"Long MA", fuchsia, 2)

// Component Code Start
// Example usage:
// if testPeriod()
//   strategy.entry("LE", strategy.long)
testStartYear = input(2017, "Backtest Start Year")
testStartMonth = input(01, "Backtest Start Month")
testStartDay = input(2, "Backtest Start Day")
testPeriodStart = timestamp(testStartYear,testStartMonth,testStartDay,0,0)

testStopYear = input(2019, "Backtest Stop Year")
testStopMonth = input(7, "Backtest Stop Month")
testStopDay = input(30, "Backtest Stop Day")
testPeriodStop = timestamp(testStopYear,testStopMonth,testStopDay,0,0)

// A switch to control background coloring of the test period
testPeriodBackground = input(title="Color Background?", type=bool, defval=true)
testPeriodBackgroundColor = testPeriodBackground and (time >= testPeriodStart) and (time <= testPeriodStop) ? #00FF00 : na
bgcolor(testPeriodBackgroundColor, transp=97)

testPeriod() => true
// Component Code Stop

if testPeriod()
    strategy.entry("buy", true, when = xbuy, limit = close)
    strategy.close("buy", when = xsell)


مزید