ماہانہ اختتامی قیمت اور منتقل اوسط کراس اوور حکمت عملی


تخلیق کی تاریخ: 2023-11-23 17:09:01 آخر میں ترمیم کریں: 2023-11-23 17:09:01
کاپی: 0 کلکس کی تعداد: 570
1
پر توجہ دیں
1617
پیروکار

ماہانہ اختتامی قیمت اور منتقل اوسط کراس اوور حکمت عملی

جائزہ

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

حکمت عملی کا اصول

اس حکمت عملی کی بنیادی منطق یہ ہے:

  1. منتقل میڈین لائن کے لئے دورانیہ پیرامیٹرز درج کریں، آپ کو SMA یا EMA منتخب کر سکتے ہیں
  2. آپ کو منتخب کر سکتے ہیں کہ آپ کو منتقل اوسط دکھائیں
  3. ایک اور اسٹاک کے اختتامی قیمت کو سگنل کے طور پر منتخب کریں
  4. ٹریڈنگ سگنل کو چاند کی لائن کے اختتامی قیمت اور منتقل اوسط کے تعلقات کے مطابق فیصلہ کرنا
    • بند ہونے کی قیمت پر ایک منتقل اوسط لائن، زیادہ کام
    • بندش کی قیمت کے نیچے منتقل اوسط لائن ، فلیٹ پوزیشن

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

اسٹریٹجک فوائد

اس حکمت عملی کے کچھ اہم فوائد یہ ہیں:

  1. رات کے شور کو فلٹر کرنے کے لئے چاند کے اعداد و شمار کا استعمال کرتے ہوئے ، اسٹاک کی قیمتوں میں درمیانی اور طویل مدتی رجحانات کو پکڑیں
  2. اپنی مرضی کے مطابق حرکت پذیری اوسط مدت ، مختلف اسٹاک کے مطابق پیرامیٹرز کو بہتر بنانا
  3. ایک اور اسٹاک کو سگنل کے ذریعہ منتخب کریں ، جو استحکام کو بہتر بنائے۔
  4. اعلی درجے کی اینٹی repainting ٹیکنالوجی کا استعمال کرتے ہوئے، مؤثر طریقے سے واپس کی روک تھام
  5. ٹیسٹ کی اصلاح کے لئے کسی بھی ریٹرننگ ٹائم پیکیج کو ان پٹ کریں

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

اسٹریٹجک رسک

اس حکمت عملی کے کچھ خطرات بھی ہیں، جن میں سے کچھ درج ذیل ہیں:

  1. ماہانہ اعداد و شمار کی تازہ کاری سست ہے اور قیمتوں میں تبدیلی کو حقیقی وقت میں ظاہر نہیں کرتی ہے۔
  2. کچھ تاخیر کے ساتھ ، ممکنہ طور پر شارٹ لائن کے مواقع سے محروم
  3. متحرک اوسط لکیریں تاخیر کا شکار ہیں ، سگنل پیدا کرنے کا وقت غیر کنٹرول ہے
  4. غلط پیرامیٹرز کا انتخاب زیادہ محتاط یا کھوئے ہوئے مواقع کا سبب بن سکتا ہے

خطرے کو کم کرنے کے لئے، آپ کو مندرجہ ذیل پہلوؤں میں بہتر بنانے کی ضرورت ہے:

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

حکمت عملی کی اصلاح کی سمت

اس حکمت عملی میں بہت زیادہ اصلاحات کی گنجائش ہے ، بنیادی طور پر مندرجہ ذیل پہلوؤں سے:

  1. منافع کو روکنے اور خطرے کو کنٹرول کرنے کے لئے نقصان کی روک تھام کی حکمت عملی میں اضافہ
  2. دیگر اشارے جیسے کے ڈی ، ایم اے سی ڈی وغیرہ کے ساتھ مل کر ، ٹریڈنگ سگنل کی درستگی میں اضافہ
  3. مشین لرننگ ٹکنالوجی کا استعمال کرتے ہوئے متحرک اوسط لائن پیرامیٹرز کو بہتر بنانا
  4. ایک پوزیشن مینجمنٹ ماڈیول شامل کیا گیا ہے تاکہ پوزیشنوں کو رجحانات کے ساتھ تبدیل کیا جاسکے
  5. مارکیٹ کے حالات کے مطابق لچکدار ایڈجسٹ کرنے کے لئے ایک کثیر خلائی تبادلوں کی خصوصیات شامل کریں
  6. کم ٹائم فریم کے ساتھ K لائنوں کو جوڑنا ، زیادہ حساس لین دین

خلاصہ کریں۔

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

حکمت عملی کا ماخذ کوڈ
/*backtest
start: 2022-11-16 00:00:00
end: 2023-11-22 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/
// © universique

//@version=4
strategy("Monthly MA Close ", shorttitle="MMAC", overlay=true, default_qty_type =  strategy.percent_of_equity, default_qty_value = 100)
//MAY 6 2020 18:00

// No repaint function 
// Function to securely and simply call `security()` so that it never repaints and never looks ahead.
f_secureSecurity(_symbol, _res, _src) => security(_symbol, _res, _src[1], lookahead = barmerge.lookahead_on)
//sec10 = f_secureSecurity(syminfo.tickerid, higherTf, data)

// ————— Converts current chart resolution into a float minutes value.
f_resInMinutes() => 
    _resInMinutes = timeframe.multiplier * (
      timeframe.isseconds ? 1. / 60             :
      timeframe.isminutes ? 1.                  :
      timeframe.isdaily   ? 60. * 24            :
      timeframe.isweekly  ? 60. * 24 * 7        :
      timeframe.ismonthly ? 60. * 24 * 30.4375  : na)
// ————— Returns the float minutes value of the string _res.
f_tfResInMinutes(_res) =>
    // _res: resolution of any TF (in "timeframe.period" string format).
    // Dependency: f_resInMinutes().
    security(syminfo.tickerid, _res, f_resInMinutes())

// —————————— Determine if current timeframe is smaller that higher timeframe selected in Inputs.
// Get higher timeframe in minutes.
//higherTfInMinutes = f_tfResInMinutes(higherTf)
// Get current timeframe in minutes.
currentTfInMinutes = f_resInMinutes()
// Compare current TF to higher TF to make sure it is smaller, otherwise our plots don't make sense.
//chartOnLowerTf = currentTfInMinutes < higherTfInMinutes

// Input
switch1=input(true, title="Show MA")
exponential = input(true, title="Exponential MA")
ticker = input(false, title="Other ticker MA")

tic_ma = input(title="Ticker MA", type=input.symbol, defval="BTC_USDT:swap")
res_ma = input(title="Time MA (W, D, [min])", type=input.string, defval="M")
len_ma = input(8, minval=1, title="Period MA")

ma_cus = exponential?f_secureSecurity(tic_ma, res_ma, ema(close,len_ma)) : f_secureSecurity(tic_ma, res_ma, sma(close,len_ma))
ma_long = exponential?f_secureSecurity(syminfo.tickerid, res_ma, ema(close,len_ma)) : f_secureSecurity(syminfo.tickerid, res_ma, sma(close,len_ma))

cl1 = f_secureSecurity(syminfo.tickerid, 'M', close)
cl2 = f_secureSecurity(tic_ma, 'M', close)

// Input Backtest Range
showDate  = input(defval = false, title = "Show Date Range", type = input.bool)
fromMonth = input(defval = 1,    title = "From Month",      type = input.integer, minval = 1, maxval = 12)
fromDay   = input(defval = 1,    title = "From Day",        type = input.integer, minval = 1, maxval = 31)
fromYear  = input(defval = 1995, title = "From Year",       type = input.integer, minval = 1850)
thruMonth = input(defval = 1,    title = "Thru Month",      type = input.integer, minval = 1, maxval = 12)
thruDay   = input(defval = 1,    title = "Thru Day",        type = input.integer, minval = 1, maxval = 31)
thruYear  = input(defval = 2112, title = "Thru Year",       type = input.integer, minval = 1850)

// Funcion Example
start     = timestamp(fromYear, fromMonth, fromDay, 00, 00)        // backtest start window
finish    = timestamp(thruYear, thruMonth, thruDay, 23, 59)        // backtest finish window
window()  => time >= start and time <= finish ? true : false       // create function "within window of time"

// Calculation
bullish_cross = ticker?cl2>ma_cus : cl1>ma_long
bearish_cross = ticker?cl2<ma_cus : cl1<ma_long

MAColor = bullish_cross ? color.green : bearish_cross ? color.red : color.orange

// Strategy
strategy.entry("long", strategy.long, when = window() and bullish_cross)
strategy.close("long", when = window() and bearish_cross)

// Output
plot(switch1?ma_long:na,color = MAColor,linewidth=4)

// Alerts
alertcondition(bullish_cross, title='Bullish', message='Bullish')
alertcondition(bearish_cross, title='Bearish', message='Bearish')