
ٹریڈنگ وی ایم اے حکمت عملی ایک متحرک متحرک اوسط پر مبنی ایک مقداری تجارتی حکمت عملی ہے۔ یہ حکمت عملی مارکیٹ کے رجحانات کو پکڑنے اور اس کے مطابق تجارتی سگنل پیدا کرنے کے لئے بدلتی ہوئی متحرک اوسط کا استعمال کرتی ہے۔
ٹریڈنگ وی ایم اے حکمت عملی کا مرکز متغیر حرکت پذیر اوسط (وی ایم اے) کا حساب لگانا ہے۔ ایک متحرک اوسط ایک معروف تکنیکی اشارے ہے جو ایک خاص دورانیے میں اوسط قیمت کا حساب لگاتا ہے۔ ٹریڈنگ وی ایم اے حکمت عملی میں استعمال ہونے والی وی ایم اے میں تبدیلی کی مدت ہوتی ہے۔
خاص طور پر ، اس حکمت عملی میں پہلے انٹرمیڈیٹس کی ایک سیریز کا حساب لگایا جاتا ہے ، جیسے قیمت کی سمت کی نقل و حرکت کے اشارے ((PDM ، MDIM) ، ہموار پروسیسنگ کے بعد کے اعداد و شمار ((PDMs ، MDMs)) ۔ یہ اعداد و شمار آخر میں اشارے کی طاقت (iS) کے لئے استعمال کیے جاتے ہیں۔ یہ اشارے قیمت کے اتار چڑھاؤ کی شدت کی عکاسی کرتا ہے۔
اس کے بعد ، ٹریڈنگ وی ایم اے حکمت عملی اشارے کی طاقت کے مطابق ، متحرک طور پر منتقل اوسط کی لمبائی کو ایڈجسٹ کرتی ہے۔ جب مارکیٹ میں اتار چڑھاؤ بڑھتا ہے تو ، منتقل اوسط کا دورانیہ مختصر ہوجاتا ہے ، اور اس کے برعکس ، یہ دورانیہ لمبا ہوجاتا ہے۔ اس طرح مارکیٹ میں تبدیلیوں کا زیادہ تیزی سے جواب دیا جاسکتا ہے۔
آخر میں ، حکمت عملی موجودہ قیمت اور VMA کے سائز کا موازنہ کرتی ہے ، جس سے تجارتی سگنل پیدا ہوتا ہے۔ جب قیمت VMA سے زیادہ ہو تو زیادہ خریدیں ، اور جب قیمت VMA سے کم ہو تو خالی کریں۔
ٹریڈنگ VMA حکمت عملی کے مندرجہ ذیل اہم فوائد ہیں:
متغیر سائیکل فلٹرز شور زیادہ مستحکم - متغیر حرکت پذیری اوسط سائیکل مارکیٹ کی تبدیلیوں کے ساتھ ایڈجسٹ کیا جاتا ہے، اور زیادہ مستحکم رجحان سگنل حاصل کرنے کے لئے شور کو فلٹر کر سکتا ہے.
قیمتوں میں تبدیلیوں کا تیزی سے جواب دینے سے ردعمل میں بہتری آتی ہے - متحرک اوسط قیمتوں میں تبدیلیوں کا تیزی سے جواب دیتا ہے ، نئے رجحانات کے موڑ کو پکڑتا ہے۔
ٹریڈنگ کی کثرت کو کم کریں Reduce Overtrading - ٹریڈنگ وی ایم اے فکسڈ سائیکل اشارے کے مقابلے میں غیر ضروری تجارت کو کم کرتا ہے۔
اپنی مرضی کے مطابق پیرامیٹرز لچکدار پیرامیٹرز - یہ پالیسی صارفین کو اپنی مرضی کے مطابق پیرامیٹرز کو منتخب کرنے کی اجازت دیتی ہے ، جو مختلف مارکیٹ کے حالات کے مطابق ہے۔
ٹریڈنگ وی ایم اے حکمت عملی میں مندرجہ ذیل اہم خطرات بھی شامل ہیں:
Miss Rapid Reversals - جب رجحانات تیزی سے الٹ جاتے ہیں تو ، مسلسل ایڈجسٹمنٹ کی متحرک اوسط رد عمل میں تاخیر کا شکار ہوسکتی ہے۔
Lagging Bias - تمام متحرک اوسط حکمت عملیوں میں کسی حد تک تعاقب تعصب ہوتا ہے۔
غلط سگنل غلط سگنل غلط سگنل غلط سگنل غلط سگنل غلط سگنل غلط سگنل
پیرامیٹرز کو بہتر بنانے میں دشواری - بہترین پیرامیٹرز کا مجموعہ تلاش کرنا مشکل ہوسکتا ہے۔
ان خطرات کو روکنے، پیرامیٹرز کے مجموعہ کو ایڈجسٹ کرنے اور اس طرح کے ذریعے کنٹرول کیا جا سکتا ہے.
ٹریڈنگ VMA حکمت عملی کو مندرجہ ذیل سمتوں میں بھی بہتر بنایا جاسکتا ہے:
دیگر اشارے کو یکجا کریں - دیگر اشارے جیسے رجحانات ، رجحانات کے الٹ کے ساتھ مجموعہ کا استعمال سگنل کے معیار کو بہتر بنا سکتا ہے۔
بہترین پیرامیٹرز تلاش کریں پیرامیٹر آپٹیمائزیشن - تاریخ کی بازیافت اور پیرامیٹرز کی اصلاح کے ذریعہ بہترین پیرامیٹرز کا مجموعہ تلاش کریں۔
انکولی ٹریڈنگ کے قواعد - مختلف مارکیٹ کے حالات کے مطابق پوزیشن کھولنے کے مختلف قواعد ، اسٹاپ نقصان کے قواعد وغیرہ۔
الگورتھم ٹریڈنگ سسٹمائزیشن - حکمت عملی کو الگورتھمائز اور منظم کریں تاکہ اس کی پیمائش اور اصلاح کی جاسکے۔
ٹریڈنگ وی ایم اے ایک خود کو اپنانے والی مقداری حکمت عملی ہے۔ یہ مارکیٹ کے رجحانات کو پکڑنے کے لئے خاص طور پر ڈیزائن کردہ وی ایم اے اشارے کا استعمال کرتا ہے ، جس میں تیزی سے ردعمل ، شور کو فلٹر کرنے کی صلاحیت ہے۔ یہ حکمت عملی بہتر کارکردگی کے ل many بہت سے طریقوں سے بہتر بنائی جاسکتی ہے۔ لیکن اس سے بھی اس مسئلے کو مکمل طور پر بچایا نہیں جاسکتا ہے۔
/*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)