ZVWAP حکمت عملی VWAP سے Z فاصلے پر مبنی ہے

مصنف:چاؤ ژانگ، تاریخ: 2023-11-10 12:02:19
ٹیگز:

img

جائزہ

یہ حکمت عملی لیزی بیئر کے VWAP اشارے سے Z فاصلے پر مبنی ہے۔ یہ قیمت اور VWAP کے درمیان Z فاصلے کا استعمال اوور بک اور اوور سیلڈ حالات ، نیز اندراجات اور باہر نکلنے کا تعین کرنے کے لئے کرتا ہے۔ اس حکمت عملی میں کچھ شور کو فلٹر کرنے کے لئے EMA لائنز اور Z فاصلے کو عبور کرنے والی 0 سطح شامل ہے۔

حکمت عملی منطق

  1. VWAP قدر کا حساب لگائیں
  2. قیمت اور VWAP کے درمیان Z فاصلے کا حساب لگائیں
  3. سیٹ اوور بکڈ لائن (2.5) اور اوور سیلڈ لائن (-0.5)
  4. جب تیز EMA > سست EMA ، Z-distance < oversold line اور Z-distance 0 سے اوپر ہوتے ہیں تو طویل ہوجائیں
  5. بند پوزیشن جب Z-distance > overbought line
  6. سٹاپ نقصان منطق شامل کریں

اہم افعال:

  • calc_zvwap: قیمت اور VWAP کے درمیان Z فاصلے کا حساب لگائیں
  • VWAP قدر: vwap(hlc3)
  • فاسٹ ای ایم اے: ای ایم اے (قریب، فاسٹ ای ایم اے)
  • سست ای ایم اے: ای ایم اے (بند، سست ای ایم اے)

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

  1. Z-distance بدیہی طور پر overbought/oversold سطحوں کو ظاہر کرتا ہے
  2. ای ایم اے جھوٹے بریک آؤٹس کو فلٹر کرتا ہے
  3. پیرامیڈائزنگ کو رجحانات پر سرمایہ کاری کرنے کی اجازت دیتا ہے
  4. خطرے کو کنٹرول کرنے کے لئے سٹاپ نقصان منطق ہے

خطرے کا تجزیہ

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

حل:

  1. بیک ٹسٹنگ کے ذریعے پیرامیٹرز کو بہتر بنائیں
  2. فلٹر سگنل میں دیگر اشارے شامل کریں
  3. پیرامائڈنگ کے لئے مناسب حالات قائم کریں
  4. متحرک سٹاپ نقصان کا استعمال کریں

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

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

خلاصہ

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


/*backtest
start: 2022-11-03 00:00:00
end: 2023-11-09 00:00:00
period: 1d
basePeriod: 1h
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/
// © mohanee

//@version=4
//This is based on Z distance from VWAP by Lazybear
strategy(title="ZVWAP[LB] strategy", overlay=false,pyramiding=2, default_qty_type=strategy.fixed, default_qty_value=3,    initial_capital=10000, currency=currency.USD)
length=input(13,"length")

calc_zvwap(pds, source1) =>
	mean = sum(volume*source1,pds)/sum(volume,pds)
	vwapsd = sqrt(sma(pow(source1-mean, 2), pds) )
	(close-mean)/vwapsd


upperTop=2.5  //input(2.5)
upperBottom=2.0  //input(2.0)
lowerTop=-0.5  //input(-0.5)
lowerBottom=-2.0 //input(-2.0)

buyLine=input(-0.5, title="OverSold Line",minval=-2, maxval=3)
sellLine=input(2.0, title="OverBought Line",minval=-2, maxval=3)

fastEma=input(13, title="Fast EMA",minval=1, maxval=50)
slowEma=input(55, title="Slow EMA",minval=10, maxval=200)

stopLoss =input(5, title="Stop Loss",minval=1) 

hline(0, title="Middle Line", linestyle=hline.style_dotted, color=color.green)

ul1=plot(upperTop, "OB High")
ul2=plot(upperBottom, "OB Low")
fill(ul1,ul2, color=color.red)
ll1=plot(lowerTop, "OS High")
ll2=plot(lowerBottom, "OS Low")
fill(ll1,ll2, color=color.green)
zvwapVal=calc_zvwap(length,close)
plot(zvwapVal,title="ZVWAP",color=color.purple, linewidth=2)


longEmaVal=ema(close,slowEma)
shortEmaVal=ema(close,fastEma)  

vwapVal=vwap(hlc3)


zvwapDipped=false

for i = 1 to 10
    zvwapDipped := zvwapDipped or zvwapVal[i]<=buyLine

longCondition=  shortEmaVal > longEmaVal  and zvwapDipped and  crossover(zvwapVal,0)

barcolor(longCondition ? color.yellow: na)

strategy.entry(id="ZVWAPLE", long=true,  when= longCondition  and strategy.position_size<1) 


//Add
strategy.entry(id="ZVWAPLE", comment="Add", long=true,  when= strategy.position_size>1 and close<strategy.position_avg_price and crossover(zvwapVal,0)) 


//calculate stop Loss
stopLossVal =  strategy.position_avg_price -  (strategy.position_avg_price*stopLoss*0.01)

strategy.close(id="ZVWAPLE",comment="SL Exit",    when=close<stopLossVal)   //close all on stop loss

strategy.close(id="ZVWAPLE",comment="TPExitAll",    qty=strategy.position_size ,   when= crossunder(zvwapVal,sellLine))   //close all      zvwapVal>sellLine

مزید