رفتار کی حکمت عملی


تخلیق کی تاریخ: 2023-09-26 15:16:56 آخر میں ترمیم کریں: 2023-09-26 15:16:56
کاپی: 1 کلکس کی تعداد: 777
1
پر توجہ دیں
1617
پیروکار

جائزہ

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

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

یہ حکمت عملی قیمتوں کی حرکیات کا اندازہ لگانے کے لئے ایک خاص دورانیے کے دوران بند ہونے والی قیمتوں میں ہونے والی تبدیلیوں کا حساب لگاتی ہے۔ خاص طور پر ، بند ہونے والی قیمتوں میں N دورانیے سے پہلے بند ہونے والی قیمتوں میں ہونے والی تبدیلیوں کا حساب لگاتا ہے۔

سب سے پہلے، پہلی طاقت کے اشارے MOM0 کا حساب لگائیں، جس کا فارمولا ہے:

MOM0 = CLOSE - CLOSE[N]

اس میں، CLOSE موجودہ سائیکل اختتامی قیمت، CLOSE[N] N دور سے پہلے کی بندش کی قیمت کو ظاہر کرتا ہے۔ اس طرح MOM0>0 موجودہ دور کے مقابلے میں N دور سے پہلے کی بندش کی قیمت میں اضافہ ظاہر کرتا ہے ، اور MOM0 موجودہ دور کے مقابلے میں N دور سے پہلے کی بندش کی قیمت میں کمی ظاہر کرتا ہے۔

اس کے بعد دوسری قوت اشارے MOM1 کا حساب لگایا جاتا ہے، جس کا فارمولا یہ ہے:

MOM1 = MOM0 - MOM0[1]

یعنی MOM0 کی موجودہ دورانیے کی قدر کو پچھلے دورانیے کی قدر سے کم کریں۔ MOM1>0 کا مطلب ہے کہ MOM0 میں اضافہ ہوا ہے ، اور MOM1 کا مطلب ہے کہ MOM0 میں کمی ہوئی ہے۔

اسی وقت تیسری حرکیات اشارے MOM2 کا حساب لگائیں ، جس کا فارمولا ہے:

MOM2 = CLOSE - CLOSE[1]

یعنی ، موجودہ دور کے اختتامی قیمت کو پچھلے دور کی اختتامی قیمت سے کم کریں۔ MOM2>0 کا مطلب ہے کہ اختتامی قیمت میں اضافہ ہوا ہے ، MOM2 کا مطلب ہے کہ اختتامی قیمت میں کمی ہوئی ہے۔

جب MOM0>0 اور MOM1>0 ، تو اس کی نشاندہی کرتا ہے کہ اس کی رفتار مسلسل بڑھ رہی ہے ، جس سے خریدنے کا اشارہ ملتا ہے۔ جب MOM0 اور MOM2 ، تو اس کی نشاندہی کرتا ہے کہ اس کی رفتار مسلسل کم ہو رہی ہے ، جس سے فروخت کا اشارہ ملتا ہے۔

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

طاقت کا تجزیہ

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

خطرے کا تجزیہ

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

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

اصلاح کی سمت

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

خلاصہ کریں۔

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

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

//@version=4
strategy("Momentum Strategy", overlay = false, precision = 2, initial_capital = 10000, default_qty_value = 10000, default_qty_type = strategy.cash, commission_type = strategy.commission.percent, commission_value = 0, calc_on_every_tick = true)

// Calculate start/end date and time condition
startDate  = input(timestamp("2021-01-02T00:00:00"), title = "Start Date", type = input.time)
finishDate = input(timestamp("2021-12-31T00:00:00"), title = "End Date",type = input.time)
 
time_cond  = true

i_len           =       input(defval = 12,      title = "Length",       minval = 1)
i_src           =       input(defval = close,   title = "Source")
i_percent       =       input(defval = true,    title = "Percent?")
i_mom           =       input(defval = "MOM2",  title = "MOM Choice",   options = ["MOM1", "MOM2"])

momentum(seria, length, percent) =>
	_mom        =       percent ? ( (seria / seria[length]) - 1) * 100 : seria - seria[length]
	_mom

mom0        =       momentum(i_src, i_len, i_percent)
mom1        =       momentum(mom0, 1, i_percent)
mom2        =       momentum(i_src, 1, i_percent)

momX        =       mom1

if i_mom == "MOM2"
    momX    :=     mom2

if (mom0 > 0 and momX > 0 and time_cond)
    strategy.entry("MomLE", strategy.long, stop = high + syminfo.mintick, comment = "MomLE")
else
	strategy.cancel("MomLE")
if (mom0 < 0 and momX < 0 and time_cond)
	strategy.entry("MomSE", strategy.short, stop = low - syminfo.mintick, comment = "MomSE")
else
	strategy.cancel("MomSE")

plot(mom0, color = #00bcd4, title = "MOM")
plot(mom1, color = #00FF00, title = "MOM1", display = display.none)
plot(mom2, color = #00FF00, title = "MOM2")