विलियम्स संकेतक की एसी बैकटेस्ट रणनीति

लेखक:चाओझांग, दिनांकः 2023-12-18 12:03:38
टैगः

img

अवलोकन

यह रणनीति प्रसिद्ध व्यापारी बिल विलियम्स द्वारा डिजाइन किए गए विलियम्स संकेतक में भयानक थरथरानवाला (एओ) पर आधारित है। विभिन्न अवधियों के मध्य मूल्य एसएमए के बीच अंतर की गणना करके, यह रुझानों और बाजार की गति का निदान करने के लिए एक थरथरानवाला संकेतक बनाता है और लंबी और छोटी गाइड करने के लिए संबंधित ट्रेडिंग संकेतों को डिजाइन करता है।

सिद्धांत

इस रणनीति का मुख्य संकेतक Awesome Oscillator (AO) है, जिसकी गणना इस प्रकार की जाती हैः एओ = एसएमए ((मध्य मूल्य, 5 दिन) - एसएमए ((मध्य मूल्य, 34 दिन) जहां मध्य मूल्य को (उच्चतम मूल्य + निम्नतम मूल्य) / 2 के रूप में परिभाषित किया गया है। यह सूत्र विभिन्न अवधियों में मध्य मूल्य के दो एसएमए से मूल्य गति की जानकारी निकालता है। खरीद संकेत तब उत्पन्न होते हैं जब तेज एसएमए (5 दिन) धीमी एसएमए (34 दिन) से अधिक होता है, और बिक्री संकेत तब उत्पन्न होते हैं जब तेज एसएमए धीमी एसएमए से कम होता है।

त्रुटिपूर्ण संकेतों को फ़िल्टर करने के लिए, यह रणनीति AO पर 5-दिवसीय SMA ऑपरेशन भी लागू करती है। एक रिवर्स मोड प्रदान किया जाता है जहां लंबे / छोटे संकेतों को उलटने से विभिन्न व्यापारिक दिशाओं का एहसास होता है। जब AO पिछले मूल्य से अधिक होता है, तो इसे खरीद अवसर माना जाता है और इसे नीली पट्टी के रूप में चिह्नित किया जाता है। जब AO पिछले मूल्य से अधिक नहीं होता है, तो इसे बिक्री अवसर माना जाता है और इसे लाल पट्टी के रूप में चिह्नित किया जाता है।

लाभ

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

जोखिम और समाधान

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

अनुकूलन दिशाएँ

  1. सिग्नल की गुणवत्ता में सुधार के लिए ट्रेडिंग वॉल्यूम जैसे फ़िल्टर बढ़ाएं
  2. व्यक्तिगत संचालन घाटे को नियंत्रित करने के लिए स्टॉप लॉस रणनीतियों को शामिल करें
  3. बाजार की अस्थिरता के अनुसार स्थिति प्रबंधन को अनुकूलित करें, स्थिति जोड़ें या कम करें
  4. अन्य संकेतकों को संयोजित करें ताकि उतार-चढ़ाव के उलटने से बचने के लिए प्रवृत्ति की दिशा निर्धारित की जा सके

निष्कर्ष

यह रणनीति बाजार गति परिवर्तनों का निदान करने के लिए तेजी से और धीमी औसत मूल्य एसएमए संरचना के साथ डिज़ाइन किए गए भयानक थरथरानवाला का उपयोग करती है, सहज और स्पष्ट ट्रेडिंग संकेतों के साथ। लेकिन यह दोलन और उलट के प्रभावों के अधीन है, स्थिरता में सुधार के लिए उचित पैरामीटर ट्यूनिंग और स्टॉप लॉस रणनीतियों की आवश्यकता होती है। प्रभावी जोखिम नियंत्रण के साथ, यह रणनीति सरल, व्यावहारिक और आगे अनुकूलन और अनुप्रयोग के लायक है।


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

//@version=2
////////////////////////////////////////////////////////////
//  Copyright by HPotter v1.0 28/12/2016
//    This indicator plots the oscillator as a histogram where blue denotes 
//    periods suited for buying and red . for selling. If the current value 
//    of AO (Awesome Oscillator) is above previous, the period is considered 
//    suited for buying and the period is marked blue. If the AO value is not 
//    above previous, the period is considered suited for selling and the 
//    indicator marks it as red.
//
// You can change long to short in the Input Settings
// Please, use it only for learning or paper trading. Do not for real trading.
////////////////////////////////////////////////////////////
strategy("Bill Williams. Awesome Oscillator (AC)")
nLengthSlow = input(34, minval=1, title="Length Slow")
nLengthFast = input(5, minval=1, title="Length Fast")
reverse = input(false, title="Trade reverse")
xSMA1_hl2 = sma(hl2, nLengthFast)
xSMA2_hl2 = sma(hl2, nLengthSlow)
xSMA1_SMA2 = xSMA1_hl2 - xSMA2_hl2
xSMA_hl2 = sma(xSMA1_SMA2, nLengthFast)
nRes =  xSMA1_SMA2 - xSMA_hl2
cClr = nRes > nRes[1] ? blue : red
pos = iff(nRes > nRes[1], 1,
	   iff(nRes < nRes[1], -1, nz(pos[1], 0))) 
possig = iff(reverse and pos == 1, -1,
          iff(reverse and pos == -1, 1, pos))	   
if (possig == 1) 
    strategy.entry("Long", strategy.long)
if (possig == -1)
    strategy.entry("Short", strategy.short)	   	    
barcolor(possig == -1 ? red: possig == 1 ? green : blue )
plot(nRes, style=histogram, linewidth=1, color=cClr)

अधिक