मूविंग एवरेज फ़िल्टर के साथ विलियम्स % आर क्रॉसओवर रणनीति

लेखक:चाओझांग, दिनांक: 2023-09-19 21:57:46
टैगः

अवलोकन

यह रणनीति विलियम्स %R क्रॉसओवर संकेतों का उपयोग करती है और एक लचीली अल्पकालिक ट्रेडिंग प्रणाली बनाने के लिए एक चलती औसत फ़िल्टर जोड़ती है। यह ओवरबॉट और ओवरसोल्ड स्थितियों को स्पष्ट रूप से पकड़ सकती है, जबकि एमए फ़िल्टर अधिक स्थिरता के लिए बाजार शोर से बचता है।

रणनीति तर्क

  1. विलियम्स %आर और 200-अवधि सरल चलती औसत (एमए) की गणना करें।

  2. जब %R एक सीमा से -50 के स्तर से ऊपर जाता है और बंद MA से ऊपर होता है, तो लंबा हो जाता है।

  3. जब %R एक सीमा से -50 स्तर से नीचे जाता है और बंद MA से नीचे होता है तो शॉर्ट करें।

  4. यदि लंबी हो, तो बंद स्थिति जब बंद हो जाती है तो लाभ लें (प्रवेश मूल्य + लाभ लें पिप्स) या स्टॉप लॉस स्तर (प्रवेश मूल्य - स्टॉप लॉस पिप्स) ।

  5. यदि शॉर्ट है, तो बंद स्थिति जब निकट पहुंच लाभ (प्रवेश मूल्य - लाभ पिप्स) या स्टॉप लॉस स्तर (प्रवेश मूल्य + स्टॉप लॉस पिप्स) लेती है।

यह रणनीति विलियम्स %R की ओवरबॉट/ओवरसोल्ड प्रकृति पर पूंजीकरण करती है, और अधिक विश्वसनीय संकेतों के लिए MA ट्रेंड फिल्टर को जोड़ती है। स्टॉप लॉस/टेक प्रॉफिट लॉजिक सरल और स्पष्ट है। कुल मिलाकर यह एक पूर्ण अल्पकालिक प्रणाली है।

लाभ विश्लेषण

  1. विलियम्स %R प्रभावी रूप से स्पष्ट संकेतों के साथ ओवरबॉट/ओवरसोल्ड स्तरों की पहचान करता है।

  2. एमए फ़िल्टर चकमक से बचने के लिए प्रवृत्ति पूर्वाग्रह जोड़ता है।

  3. लचीलापन के लिए अनुकूलन योग्य मापदंड।

  4. अधिकांश मुनाफे में स्टॉप लॉस को ट्रैक करना।

  5. सरल स्पष्ट तर्क, समझने और लागू करने में आसान।

  6. लचीलेपन के साथ कई उत्पादों पर लागू।

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

  1. विलियम्स % आर में विलंब प्रभाव है, कुछ अवसर चूक सकते हैं।

  2. एमए फिल्टर में भी कुछ विलंब होता है।

  3. अति-खरीद/अति-बिक्री के सख्त नियम कुछ रुझानों को नजरअंदाज कर सकते हैं।

  4. स्टॉप लॉस बहुत सख्त हो सकता है, इसे whipsaws द्वारा रोक दिया जा सकता है।

  5. बहुत व्यापक स्टॉप लॉस लाभ को सीमित कर सकता है।

  6. मापदंडों को विभिन्न बाजार वातावरणों के लिए समायोजित करने की आवश्यकता है।

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

  1. उच्च जीत दर के लिए मापदंडों का अनुकूलन करें।

  2. अन्य फ़िल्टर जैसे एमएसीडी, केडीजे आदि जोड़ें।

  3. विभिन्न एमए प्रकारों की कोशिश करो जैसे घातीय एमए.

  4. प्रवृत्ति पूर्वाग्रह जोड़ें, केवल प्रवृत्ति दिशा में व्यापार करें।

  5. गतिशील स्टॉप, झूमर बाहर निकलने आदि जैसे स्टॉप लॉस रणनीतियों का अनुकूलन करें।

  6. निश्चित अंश, मार्टिंगेल आदि की तरह स्थिति आकार का प्रयास करें

  7. बेहतर पैरामीटर अनुकूलन के लिए मशीन लर्निंग का उपयोग करें।

निष्कर्ष

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


/*backtest
start: 2023-08-19 00:00:00
end: 2023-09-18 00:00:00
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=5
strategy("Williams %R Cross Strategy with MA Filter", overlay=true)

// User Inputs
wrLength = input(14, title="Williams %R Length")
crossPips = input(10, title="Cross Threshold (Pips)")
takeProfitPips = input(30, title="Take Profit (Pips)")
stopLossPips = input(20, title="Stop Loss (Pips)")

// Calculate Williams %R
wrHigh = ta.highest(high, wrLength)
wrLow = ta.lowest(low, wrLength)
wr = (wrHigh - close) / (wrHigh - wrLow) * -100

// Calculate 200-period Simple Moving Average
ma200 = ta.sma(close, 200)

// Entry Conditions
enterLong = ta.crossover(wr, -50 - crossPips) and close > ma200
enterShort = ta.crossunder(wr, -50 + crossPips) and close < ma200

// Exit Conditions
exitLong = close >= (strategy.position_avg_price + (takeProfitPips / syminfo.mintick)) or close <= (strategy.position_avg_price - (stopLossPips / syminfo.mintick))
exitShort = close <= (strategy.position_avg_price - (takeProfitPips / syminfo.mintick)) or close >= (strategy.position_avg_price + (stopLossPips / syminfo.mintick))

// Order Management
if enterLong
    strategy.entry("Long", strategy.long)
    
if enterShort
    strategy.entry("Short", strategy.short)

if exitLong
    strategy.close("Long")

if exitShort
    strategy.close("Short")


अधिक