ٹریڈنگ وی ایم اے حکمت عملی متغیر حرکت پذیر اوسط لائنوں پر مبنی ایک مقداری تجارتی حکمت عملی ہے۔ یہ مارکیٹ کے رجحانات کو پکڑنے اور اس کے مطابق تجارتی سگنل پیدا کرنے کے لئے بدلتے ہوئے حرکت پذیر اوسط کا استعمال کرتی ہے۔
ٹریڈنگ وی ایم اے حکمت عملی کا بنیادی حصہ متغیر لمبائی کی چلتی اوسط (متغیر چلتی اوسط ، وی ایم اے) کا حساب کتاب ہے۔ چلتی اوسط ایک وسیع پیمانے پر مشہور تکنیکی اشارے ہے جو ایک خاص مدت میں اوسط قیمت کا حساب لگاتا ہے۔ ٹریڈنگ وی ایم اے حکمت عملی میں استعمال ہونے والا وی ایم اے مختلف مدت کی لمبائی رکھتا ہے۔
خاص طور پر ، حکمت عملی پہلے درمیانی مقداروں کی ایک سیریز کا حساب لگاتی ہے ، جیسے پرائس ڈائریکشنل موومنٹ انڈیکیٹر (پی ڈی ایم ، ایم ڈی آئی ایم) ، ہموار ڈیٹا (پی ڈی ایم ، ایم ڈی ایم) ۔ یہ ڈیٹا آخر کار اشارے کی طاقت (آئی ایس) حاصل کرنے کے لئے استعمال ہوتا ہے۔ یہ اشارے قیمتوں میں اتار چڑھاؤ کی شدت کی عکاسی کرتا ہے۔
اس کے بعد ، ٹریڈنگ وی ایم اے حکمت عملی اشارے کی طاقت کی بنیاد پر متحرک طور پر اوسط مدت کو ایڈجسٹ کرتی ہے۔ جب مارکیٹ میں اتار چڑھاؤ بڑھتا ہے تو ، اوسط مدت کم ہوجاتی ہے ، اور اس کے برعکس۔ اس سے مارکیٹ میں ہونے والی تبدیلیوں کا تیزی سے جواب ملتا ہے۔
آخر میں ، حکمت عملی تجارتی سگنل پیدا کرنے کے لئے موجودہ قیمت کا VMA کے ساتھ موازنہ کرتی ہے۔ جب قیمت VMA سے اوپر ہوتی ہے تو یہ طویل ہوجاتی ہے اور جب قیمت VMA سے نیچے ہوتی ہے تو مختصر ہوجاتی ہے۔
ٹریڈنگ وی ایم اے کی حکمت عملی میں مندرجہ ذیل اہم فوائد ہیں:
متغیر مدت فلٹر شور زیادہ مستحکم
قیمتوں کی تبدیلیوں پر تیز ردعمل ردعمل کو بہتر بناتا ہے
تجارت کی تعدد کو کم کرتا ہے - مقررہ مدت کے اشارے کے مقابلے میں ، ٹریڈنگ وی ایم اے غیر ضروری تجارت کو کم کرسکتا ہے۔
اپنی مرضی کے مطابق پیرامیٹرز لچک - حکمت عملی صارفین کو مختلف مارکیٹ کے ماحول کے مطابق اپنی ترجیحات کی بنیاد پر پیرامیٹرز کا انتخاب کرنے کی اجازت دیتی ہے۔
ٹریڈنگ وی ایم اے کی حکمت عملی میں مندرجہ ذیل بنیادی خطرات بھی ہیں:
تیزی سے تبدیلیوں کی کمی
پسماندہ تعصب
غلط سگنل
مشکل پیرامیٹر کی اصلاح
ان خطرات کو سٹاپ نقصانات، پیرامیٹر کے مجموعے کو ایڈجسٹ کرنے وغیرہ جیسے طریقوں کے ذریعے کنٹرول کیا جا سکتا ہے۔
ٹریڈنگ وی ایم اے کی حکمت عملی کو مندرجہ ذیل پہلوؤں میں بھی بہتر بنایا جاسکتا ہے:
دیگر اشارے کو یکجا کریں
پیرامیٹر کی اصلاح
انکولی تجارتی قواعد
نظام سازی
ٹریڈنگ وی ایم اے ایک انکولی مقداری حکمت عملی ہے۔ یہ ایک خاص طور پر ڈیزائن کردہ وی ایم اے اشارے کا استعمال کرتے ہوئے مارکیٹ کے رجحانات کو پکڑتا ہے ، جس میں رد عمل اور شور کو فلٹر کرنے کا فائدہ ہوتا ہے۔ بہتر کارکردگی کے ل the حکمت عملی کو متعدد طریقوں سے اپ گریڈ کیا جاسکتا ہے۔ لیکن کچھ اندرونی مسائل جیسے پسماندہ تعصب برقرار رہ سکتے ہیں۔ مجموعی طور پر ، ٹریڈنگ وی ایم اے ایک امید افزا رجحان کی پیروی کرنے والی حکمت عملی ہے۔
/*backtest start: 2024-01-01 00:00:00 end: 2024-01-24 23:59:59 period: 1h basePeriod: 15m 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/ // © laptevmaxim92 //@version=4 strategy("Variable Moving Average Strategy", overlay=true) src=close l =input(5, title="VMA Length") std=input(true, title="Show Trend Direction Colors") utp = input(false, "Use take profit?") pr = input(100, "Take profit pips") usl = input(false, "Use stop loss?") sl = input(100, "Stop loss pips") fromday = input(01, defval=01, minval=01, maxval=31, title="From Day") frommonth = input(01, defval=01, minval= 01, maxval=12, title="From Month") fromyear = input(2000, minval=1900, maxval=2100, title="From Year") today = input(31, defval=01, minval=01, maxval=31, title="To Day") tomonth = input(12, defval=12, minval=01, maxval=12, title="To Month") toyear = input(2019, minval=1900, maxval=2100, title="To Year") use_date = (time > timestamp(fromyear, frommonth, fromday, 00, 00) and time < timestamp(toyear, tomonth, today, 00, 00)) k = 1.0/l pdm = 0.0 pdm := max((src - src[1]), 0) mdm = 0.0 mdm := max((src[1] - src), 0) pdmS = 0.0 pdmS := ((1 - k)*nz(pdmS[1]) + k*pdm) mdmS = 0.0 mdmS := ((1 - k)*nz(mdmS[1]) + k*mdm) s = pdmS + mdmS pdi = pdmS/s mdi = mdmS/s pdiS = 0.0 pdiS := ((1 - k)*nz(pdiS[1]) + k*pdi) mdiS = 0.0 mdiS := ((1 - k)*nz(mdiS[1]) + k*mdi) d = abs(pdiS - mdiS) s1 = pdiS + mdiS iS = 0.0 iS := ((1 - k)*nz(iS[1]) + k*d/s1) hhv = highest(iS, l) llv = lowest(iS, l) d1 = hhv - llv vI = (iS - llv)/d1 vma = 0.0 vma := (1 - k*vI)*nz(vma[1]) + k*vI*src vmaC=(vma > vma[1]) ? color.lime : (vma<vma[1]) ? color.red : (vma==vma[1]) ? color.yellow : na plot(vma, color=std?vmaC:color.white, linewidth=3, title="VMA") longCondition = vma > vma[1] if (longCondition) strategy.entry("BUY", strategy.long and use_date) shortCondition = vma < vma[1] if (shortCondition) strategy.entry("SELL", strategy.short and use_date) if (utp and not usl) strategy.exit("TP", "BUY", profit = pr) strategy.exit("TP", "SELL", profit = pr) if (usl and not utp) strategy.exit("SL", "BUY", loss = sl) strategy.exit("SL", "SELL", loss = sl) if (usl and utp) strategy.exit("TP/SL", "BUY", loss = sl, profit = pr) strategy.exit("TP/SL", "SELL", loss = sl, profit = pr)