وسائل لوڈ ہو رہے ہیں... لوڈنگ...

قیمت چینل VWAP ٹریڈنگ حکمت عملی

مصنف:چاؤ ژانگ، تاریخ: 2024-02-19 14:25:18
ٹیگز:

img

جائزہ

اس حکمت عملی کو Price Channel VWAP Trading Strategy کہا جاتا ہے۔ یہ ایک ایسی حکمت عملی ہے جو قیمت چینلز کی بنیاد پر VWAP ٹریڈنگ کو نافذ کرتی ہے۔ اس حکمت عملی کا بنیادی خیال یہ ہے کہ: قیمت چینل کے اندر ، VWAP اشارے کی حرکت پذیر اوسط لائن اور اس کی اوپری اور نچلی آفسیٹ چینل لائنوں کو خرید و فروخت کے نقطہ نظر کے لئے استعمال کریں۔ جب چینل لائنیں ٹوٹ جاتی ہیں تو ، کل اثاثوں کے مقررہ فیصد کے مطابق پوزیشنیں کھولیں ، اور جب قیمتیں VWAP حرکت پذیر اوسط لائن پر واپس آجاتی ہیں تو پوزیشنیں بند کردیں۔

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

یہ حکمت عملی VWAP اشارے کے ذریعے موجودہ اوسط لین دین کی قیمت کا حساب لگاتی ہے۔ VWAP اوسط قیمت کی نمائندگی کرتا ہے اور یہ تجارت کے حجم کے مقابلے میں کاروبار کا تناسب ہے۔ VWAP اشارے موجودہ قیمت اور تاریخی اوسط تجارتی قیمت کے درمیان انحراف کی ڈگری کی عکاسی کرتا ہے۔

حکمت عملی VWAP اشارے کی حرکت پذیر اوسط لائن اور اس کی آفسیٹ چینل لائنوں کا استعمال کرتی ہے۔ آفسیٹ چینل لائنوں کے تناسب پیرامیٹرز longlevel1 اور shortlevel1 کے ذریعے مقرر کیے جاتے ہیں۔ جب قیمت اوپری آفسیٹ چینل لائن سے ٹکرا جاتی ہے تو ، پیرامیٹر lotsizelong کے ذریعہ مقرر کردہ پوزیشنوں کے فیصد کے مطابق طویل پوزیشنیں کھولیں۔ جب قیمت نچلی آفسیٹ چینل لائن سے ٹکرا جاتی ہے تو ، پیرامیٹر lotsizeshort کے ذریعہ مقرر کردہ پوزیشنوں کے فیصد کے مطابق مختصر پوزیشنیں کھولیں۔ کھولنے کے بعد ، جب قیمتیں VWAP کی حرکت پذیر اوسط لائن کے گرد رجعت کرتی ہیں تو ، پوزیشنوں کو بند کرنے کا انتخاب کریں۔

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

فوائد کا تجزیہ

اس تجارتی حکمت عملی کے مندرجہ ذیل فوائد ہیں:

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

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

خطرے کا تجزیہ

اس حکمت عملی میں کچھ خطرات بھی ہیں جن پر نوٹ کیا جانا چاہئے:

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

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

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

اصلاح کی ہدایات

اس حکمت عملی کو مندرجہ ذیل سمتوں میں بہتر بنایا جاسکتا ہے:

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

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

خلاصہ

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


/*backtest
start: 2023-02-12 00:00:00
end: 2024-02-18 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=4
strategy(title = "VWAP Bands Backtest", shorttitle = "VWAP Bands Backtest", overlay = true, default_qty_type = strategy.percent_of_equity, default_qty_value = 100, pyramiding = 3)

//Settings
lotsizelong = input(100, defval = 100, minval = 0, maxval = 10000, title = "Lot long, %")
lotsizeshort = input(100, defval = 100, minval = 0, maxval = 10000, title = "Lot short, %")
short1 = input(true, title = "short 1")
long1 = input(true, title = "long 1")
shortlevel1 = input(1.0, title = "Short line 1")
longlevel1 = input(-1.0, title = "Long line 1")
needoffset = input(true, title = "Offset")

fromyear = input(1900, defval = 1900, minval = 1900, maxval = 2100, title = "From Year")
toyear = input(2100, defval = 2100, minval = 1900, maxval = 2100, title = "To Year")
frommonth = input(01, defval = 01, minval = 01, maxval = 12, title = "From Month")
tomonth = input(12, defval = 12, minval = 01, maxval = 12, title = "To Month")
fromday = input(01, defval = 01, minval = 01, maxval = 31, title = "From day")
today = input(31, defval = 31, minval = 01, maxval = 31, title = "To day")

//Variables
size = strategy.position_size
mult = 1 / syminfo.mintick
truetime = true

//VWAP
ma = vwap(hlc3)

//Levels
longline1 = long1 ? round(ma * ((100 + longlevel1) / 100) * mult) / mult : close
shortline1 = short1? round(ma * ((100 + shortlevel1) / 100) * mult) / mult : close


//Lines
colorlong1 = long1 ? color.lime : na
colorshort1 = short1 ? color.red : na
offset = needoffset ? 1 : 0
plot(shortline1, offset = offset, color = colorshort1, title = "Short line 1")
plot(ma, offset = offset, color = color.blue, title = "MA line")
plot(longline1, offset = offset, color = colorlong1, title = "Long line 1")


//Trading
lotlong = 0.0
lotshort = 0.0
lotlong := size == 0 ? (strategy.equity / close) * (lotsizelong / 100) : lotlong[1]
lotshort := size == 0 ? (strategy.equity / close) * (lotsizeshort / 100) : lotshort[1]


if ma > 0
    if lotlong > 0
        lotslong = 0.0
        lotslong := strategy.position_size > 0 ? round(strategy.position_size / lotlong) : 0.0
        strategy.entry("L1", strategy.long, lotlong, limit = longline1, when = (lotslong == 0 and long1 and truetime))
    if lotshort > 0
        lotsshort = 0.0
        lotsshort := strategy.position_size < 0 ? round(strategy.position_size / lotshort) : 0.0
        strategy.entry("S1", strategy.short, lotshort, limit = shortline1, when = (lotsshort == 0 and short1 and truetime))
if strategy.position_size > 0
    strategy.exit("TPL", "L1", limit = ma)
if strategy.position_size < 0
    strategy.exit("TPS", "S1", limit = ma)
if time > timestamp(toyear, tomonth, today, 23, 59)
    strategy.close_all()
    strategy.cancel("L1")
    strategy.cancel("S1")
    strategy.cancel("TPL")
    strategy.cancel("TPS")

مزید