
یہ حکمت عملی ایک تکنیکی اشارے پر مبنی ایک دن کی مختصر لائن ٹریڈنگ سسٹم ہے جس میں ٹریڈنگ سگنل کا تعین کرنے کے لئے بنیادی طور پر 20 سیکنڈ کے انڈیکس کی حرکت پذیری اوسط ((EMA 20) اور ٹائپک قیمتوں پر مبنی ٹرانزیکشن ویلیو ویٹڈ اوسط قیمت ((VWAP)) کے مابین تعلقات کا استعمال کیا جاتا ہے۔ حکمت عملی متحرک اسٹاپ نقصان اور ہدف منافع کی ترتیب کا استعمال کرتی ہے ، جس میں اے ٹی آر ((حقیقی طول و عرض کا اوسط) اور ہتھیاروں کی ہڈی ((سائنل کوریج) کی مقدار کے ذریعہ خطرہ اور منافع کے تناسب کا صحیح حساب کتاب کیا جاتا ہے ، جس سے خطرہ پر قابو پانے اور منافع کو زیادہ سے زیادہ کرنے کا توازن حاصل ہوتا ہے۔ یہ حکمت عملی خاص طور پر مارکیٹ کے ماحول کے لئے موزوں ہے جس میں زیادہ تر اتار چڑھاؤ ہوتا ہے۔
اس حکمت عملی کا بنیادی اصول دو اوسط لائنوں (ای ایم اے 20 اور فکسڈ وی ڈبلیو اے پی) کے مابین کراس ریلیشنز اور ان اوسط لائنوں کے ساتھ قیمتوں کے تعامل پر مبنی ہے۔ خاص طور پر:
ان پٹ سگنل جنریٹر:
عام قیمتوں کا اطلاقحکمت عملی: وی ڈبلیو اے پی کا حساب لگانے کے لئے عام قیمت ((اعلی قیمت + کم قیمت + اختتامی قیمت) / 3 کا استعمال کریں ، جو صرف اختتامی قیمت کا استعمال کرنے سے کہیں زیادہ جامع قیمت کی معلومات فراہم کرتا ہے۔
وی ڈبلیو اے پی کا فیصلہ:VWAP ہر ٹریڈنگ دن کے آغاز پر دوبارہ ترتیب دیا جاتا ہے ، اس بات کو یقینی بناتا ہے کہ اشارے اس دن کی قیمت اور حجم کے مابین تعلقات کی عکاسی کرتے ہیں ، جو دن کے تاجروں کے استعمال کے لئے موزوں ہے۔
متحرک خطرے کے انتظام:
خطرے کی واپسی کا تناسباسٹریٹجی میں ڈیفالٹ طور پر 1: 3 کا رسک ٹو ریٹرن کا استعمال کیا جاتا ہے ، یعنی ممکنہ منافع ممکنہ خطرے سے تین گنا زیادہ ہے ، جو پیشہ ور تاجروں کے لئے خطرے کے انتظام کے معیار کے مطابق ہے۔
جامع تکنیکی اشارے کے فوائد کا امتزاج: ای ایم اے کی رجحانات کی پیروی کرنے کی صلاحیت اور وی ڈبلیو اے پی کے حجم وزن کے ساتھ مل کر سگنل کو زیادہ قابل اعتماد بنا دیا گیا ہے۔
مارکیٹ میں اتار چڑھاو کے ساتھ متحرک سٹاپ نقصان: اے ٹی آر کے ذریعہ اسٹاپ نقصان کی پوزیشن کا حساب لگائیں ، جس سے اسٹاپ نقصان کی پوزیشن کو مارکیٹ کے حقیقی اتار چڑھاؤ کے حالات کے مطابق خود بخود ایڈجسٹ کیا جاسکے ، جس سے مختلف اتار چڑھاؤ والے ماحول میں فکسڈ اسٹاپ نقصان کی عدم موافقت کو روکا جاسکے۔
ٹنڈر سائز پر مبنی اہداف: سگنل کالم کی اصل سائز کا استعمال کرتے ہوئے ہدف کی قیمت کا تعین کرنے کے لئے، یہ طریقہ موجودہ مارکیٹ کے اتار چڑھاؤ کی خصوصیات کے لئے بہتر ہے، بڑے اتار چڑھاؤ کے لئے زیادہ دور کا ہدف مقرر کریں، چھوٹے اتار چڑھاؤ کے لئے زیادہ قریب کا ہدف مقرر کریں.
VWAP دن کے حساب سے دوبارہ ترتیب دیا گیا: ہر ٹریڈنگ دن کے لئے VWAP کا دوبارہ حساب لگایا جاتا ہے ، جس سے موجودہ ٹریڈنگ دن کے لئے تاریخی اعداد و شمار کی مداخلت سے بچا جاتا ہے ، جس سے دن کے اندر قیمتوں کا واضح حوالہ ملتا ہے۔
ایک سے زیادہ توثیق کا طریقہ کار: مساوی لائن کراسنگ اور قیمت کراسنگ کے مجموعی شرائط کی ضرورت ہوتی ہے ، جعلی سگنل کے امکانات کو کم کرتی ہے ، اور تجارت کی درستگی کو بہتر بناتی ہے۔
بصری اثراتحکمت عملی واضح گرافک اشارے فراہم کرتی ہے ، بشمول خرید و فروخت کے اشارے ، اسٹاپ نقصان اور ہدف کی قیمت کی لائنیں ، تاجر کو بصری طور پر سمجھنے اور تجارتی فیصلے کرنے کی اجازت دیتی ہیں۔
اوسط خطے کے پیچھے کا خطرہای ایم اے سادہ منتقل اوسط سے زیادہ تیزی سے جواب دینے کے باوجود ، کچھ تاخیر موجود ہے ، جس کی وجہ سے تیزی سے بدلتے ہوئے بازاروں میں بہترین داخلے کے مقامات سے محروم رہنا یا تاخیر کا اشارہ پیدا کرنا ممکن ہے۔
وی ڈبلیو اے پی حساب کتاب ٹرانزیکشن حجم پر منحصر ہے: غیر معمولی معاملات کی صورت میں ، جیسے کہ بڑے اداروں میں ایک ہی بڑی مقدار میں لین دین ، VWAP میں انحراف پیدا ہوسکتا ہے ، جس سے سگنل کی درستگی متاثر ہوتی ہے۔
ٹریڈنگ فریکوئینسی کا خطرہاس کے علاوہ ، یہ بھی کہا گیا ہے کہ اس طرح کے معاملات میں بہت زیادہ تجارت کی جاتی ہے ، جس کی وجہ سے تجارت کی لاگت میں اضافہ ہوتا ہے۔
خطرے کو روکنے کا خطرہمارکیٹ میں مختصر مدت کے لئے قیمتوں میں اضافہ ہوسکتا ہے ، اور پھر اسٹاپ نقصان کو متحرک کرنے کے بعد ، غیر ضروری نقصانات کا سبب بننے کے لئے اصل رجحان کی سمت میں واپس آجائیں۔
ہدف قیمت کی حدود: انفرادی حجم پر مبنی اہداف کا تعین تمام مارکیٹ کے حالات کے مطابق نہیں ہوسکتا ہے ، خاص طور پر جب مارکیٹ کی ساخت میں تبدیلی آتی ہے۔
حل:
پیرامیٹرز کی اصلاح:
مارکیٹ کے ماحول کا فلٹر شامل کریں۔:
وقت کا فلٹر:
سٹاپ نقصان کی اصلاح:
ملٹی ٹائم فریم تجزیہ انٹیگریشن:
ان اصلاحاتی سمتوں کے نفاذ سے حکمت عملی کی استحکام اور منافع بخش صلاحیت میں نمایاں اضافہ ہوسکتا ہے ، لیکن اس بات پر توجہ دی جانی چاہئے کہ ضرورت سے زیادہ اصلاح سے زیادہ فٹ ہونے کا مسئلہ پیدا نہ ہو۔ ہر بہتری کو اس کی تاثیر کی تصدیق کے لئے سخت ردعمل اور آگے کی جانچ پڑتال کے ذریعے کی جانی چاہئے۔
ڈبل مساوی کراس ٹائپک قیمتوں کا تعین VWAP دن کے اندر متحرک اسٹاپ اسٹاپ نقصان کی مقدار کی حکمت عملی ایک جامع تجارتی نظام ہے جس میں متعدد تکنیکی تجزیہ کے اوزار شامل ہیں۔ یہ ای ایم اے 20 اور ٹائپک قیمتوں کے حساب سے VWAP کے مابین تعلقات کے ذریعہ ممکنہ تجارتی مواقع کی نشاندہی کرتا ہے اور خطرے کو کنٹرول کرنے اور منافع کو بہتر بنانے کے لئے اے ٹی آر اور کراس سائز پر مبنی متحرک رسک مینجمنٹ میکانزم کا استعمال کرتا ہے۔
حکمت عملی کا بنیادی فائدہ مارکیٹ میں اتار چڑھاؤ کو اپنانے کی اس کی صلاحیت اور متعدد تکنیکی اشارے کے ساتھ مل کر فراہم کردہ سگنل کی وشوسنییتا ہے۔ تاہم ، اس میں اوسط سے پیچھے رہ جانے اور زیادہ تجارت جیسے خطرات کا بھی سامنا کرنا پڑتا ہے ، جس کو اضافی فلٹرنگ شرائط اور پیرامیٹرز کی اصلاح کے ذریعہ کم کرنے کی ضرورت ہے۔
دن کے تاجروں کے لئے ، یہ حکمت عملی ایک منظم تجارتی فریم ورک مہیا کرتی ہے ، خاص طور پر ان تاجروں کے لئے جو خطرہ پر مناسب کنٹرول برقرار رکھتے ہوئے قلیل مدتی مارکیٹ کے مواقع کو پکڑنے کی تلاش میں ہیں۔ مسلسل بازیافت ، اصلاح اور مشق کے ذریعہ ، تاجر اپنی خطرے کی برداشت اور تجارتی اہداف کے مطابق اس حکمت عملی کو مزید بہتر بنا سکتے ہیں ، تاکہ یہ ایک ذاتی نوعیت کا ، مستحکم تجارتی نظام ہو۔
/*backtest
start: 2024-07-25 00:00:00
end: 2025-07-23 08:00:00
period: 2d
basePeriod: 2d
exchanges: [{"eid":"Futures_Binance","currency":"SOL_USDT"}]
*/
//@version=5
strategy("EMA 20 and Anchored VWAP with Typical Price", overlay=true)
// === INPUTS ===
emaLength = input.int(20, title="EMA Length")
atrMultiplier = input.float(2.0, title="Stop Loss Multiplier (x ATR)", minval=1)
riskRewardRatio = input.float(3.0, title="Risk/Reward Ratio", minval=1, step=0.1) // 1:3 Risk/Reward Ratio
// === CALCULATIONS ===
// EMA 20
ema20 = ta.ema(close, emaLength)
// === TYPICAL PRICE ===
typicalPrice = (high + low + close) / 3
// === VWAP CALCULATION (ANCHOR PERIOD = SESSION) ===
// Reset at the start of each session (new day)
var float cumPriceVol = na
var float cumVol = na
if (dayofweek != dayofweek[1]) // Reset at the start of each day
cumPriceVol := typicalPrice * volume
cumVol := volume
else
cumPriceVol := cumPriceVol + (typicalPrice * volume)
cumVol := cumVol + volume
vwap = cumPriceVol / cumVol // VWAP = cumulative price-volume / cumulative volume
// ATR Calculation
atr = ta.atr(14)
// === BUY CONDITIONS ===
// EMA 20 above VWAP and close crosses EMA 20 from below, OR EMA 20 crosses VWAP from below
buyCondition = (ema20 > vwap and ta.crossover(close, ema20)) or ta.crossover(ema20, vwap)
// === SELL CONDITIONS ===
// EMA 20 below VWAP and close crosses EMA 20 from above, OR EMA 20 crosses VWAP from above
sellCondition = (ema20 < vwap and ta.crossunder(close, ema20)) or ta.crossunder(ema20, vwap)
// === STOP LOSS and TARGET ===
// Buy Stop Loss and Target calculation (Weapon Candle is the signal candle)
buyStopLoss = close - atr * atrMultiplier
// Weapon Candle (signal candle) for Buy
weaponCandleSize = high - low
buyTarget = high + 2 * weaponCandleSize // Target = High of weapon candle + 2 * candle size
// Sell Stop Loss and Target calculation (Weapon Candle is the signal candle)
sellStopLoss = close + atr * atrMultiplier
// Weapon Candle (signal candle) for Sell
weaponCandleSizeSell = high - low
sellTarget = low - 2 * weaponCandleSizeSell // Target = Low of weapon candle - 2 * candle size
// === EXECUTE STRATEGY (Buy and Sell) ===
// Buy order entry
if (buyCondition)
strategy.entry("Buy", strategy.long, stop=buyStopLoss, limit=buyTarget)
// Sell order entry
if (sellCondition)
strategy.entry("Sell", strategy.short, stop=sellStopLoss, limit=sellTarget)
// === PLOTS ===
// Plot EMA 20
plot(ema20, color=color.blue, title="EMA 20", linewidth=2)
// Plot VWAP
plot(vwap, color=color.orange, title="Session Anchored VWAP", linewidth=2)
// Plot Buy and Sell signals on the chart
plotshape(series=buyCondition, location=location.belowbar, color=color.green, style=shape.labelup, title="Buy Signal", text="BUY")
plotshape(series=sellCondition, location=location.abovebar, color=color.red, style=shape.labeldown, title="Sell Signal", text="SELL")
// === BACKGROUND COLORS ===
bgcolor(buyCondition ? color.new(color.green, 90) : na, title="Buy Background")
bgcolor(sellCondition ? color.new(color.red, 90) : na, title="Sell Background")