Z दूरी पर आधारित VWAP रणनीति


निर्माण तिथि: 2023-11-10 12:02:19 अंत में संशोधित करें: 2023-11-10 12:02:19
कॉपी: 0 क्लिक्स: 803
1
ध्यान केंद्रित करना
1617
समर्थक

Z दूरी पर आधारित VWAP रणनीति

अवलोकन

यह रणनीति LazyBear के Z दूरी VWAP सूचकांक पर आधारित है, यह निर्धारित करने के लिए कि क्या कीमतों को VWAP की Z दूरी के साथ ओवरबॉट किया गया है या नहीं, और प्रवेश के लिए। रणनीति ईएमए औसत रेखा और Z दूरी रिटर्न 0 अक्ष के निर्णय को जोड़ती है, जो कुछ शोर संकेतों को फ़िल्टर कर सकती है।

रणनीति सिद्धांत

  1. VWAP की गणना करें
  2. मूल्य और VWAP की Z दूरी
  3. ओवरबॉय लाइन सेट करें (२.५) और ओवरसोल लाइन (०.५)
  4. जब तेज़ रेखा धीमी रेखा से बड़ी होती है, तो Z दूरी ओवरसेलिंग रेखा से कम होती है, और Z दूरी 0 अक्ष के ऊपर होती है
  5. जब Z ओवरबाय लाइन से अधिक हो तो ब्लीच करें
  6. स्टॉप लॉजिक जोड़ें

कुंजी फ़ंक्शनः

  • calc_zvwap: मूल्य और VWAP की Z दूरी की गणना करें
  • VWAP मान:vwap(hlc3)
  • फास्ट ईमा
  • धीमी गति से एमा

श्रेष्ठता विश्लेषण

  1. ज़ेड दूरी का उपयोग अधिक सहजता से ओवरबॉय और ओवरसेलिंग का आकलन करने के लिए किया जाता है
  2. ईएमए फ़िल्टरिंग के साथ एक झूठी दरार से बचने के लिए
  3. ट्रेडों से मुनाफा कमाने के लिए शेयरों को बढ़ाने की अनुमति
  4. स्टॉपलॉस लॉजिक, जो जोखिम को नियंत्रित करता है

जोखिम विश्लेषण

  1. सुनिश्चित करें कि पैरामीटर सेट उचित है, जैसे कि ओवरबॉट ओवरसेल लाइन स्थिति, ईएमए चक्र आदि
  2. Z सूचकांक से दूर है, महत्वपूर्ण खरीद-बिक्री बिंदु से चूक सकता है
  3. इस तरह के बयानों से नुकसान का खतरा बढ़ जाता है।
  4. स्टॉप क्षति स्थिति उचित सेटअप की आवश्यकता है

समाधान:

  1. फीडबैक के माध्यम से अनुकूलित पैरामीटर सेट करें
  2. अतिरिक्त संकेतकों के साथ फ़िल्टर संकेत
  3. तर्कसंगत शर्तें
  4. गतिशील समायोजन रोक स्थान

अनुकूलन दिशा

  1. ईएमए चक्र पैरामीटर का अनुकूलन करें
  2. विभिन्न ओवरबॉय और ओवरसेलिंग मानदंडों का परीक्षण करना
  3. सिग्नल शोर को फ़िल्टर करने के लिए अन्य संकेतकों को जोड़ें
  4. विभिन्न रोकथाम परीक्षण
  5. प्रवेश, बढ़त और स्टॉप लॉजिक का अनुकूलन

संक्षेप

इस रणनीति का उपयोग Z दूरी निर्धारित करने के लिए कीमतों और VWAP के संबंध, ईएमए फिल्टर शोर संकेतों के साथ संयोजन में, एक प्रवृत्ति अवसर को पकड़ने के लिए. रणनीति के लिए अनुमति देता है, जबकि रोक नुकसान नियंत्रण के जोखिम की स्थापना. पैरामीटर अनुकूलन और अन्य संकेतकों को जोड़ने के माध्यम से रणनीति की स्थिरता को बढ़ा सकते हैं. लेकिन Z दूरी संकेतकों के पीछे की समस्या है, अनुकूलन में विचार की जरूरत है. कुल मिलाकर, इस रणनीति के लिए सरल और स्पष्ट तर्क के साथ प्रवृत्ति को पकड़ने, पर्याप्त अनुकूलन के बाद एक उच्च कुशल प्रवृत्ति ट्रैकिंग रणनीति हो सकता है.

रणनीति स्रोत कोड
/*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