चलती औसत और स्टोकास्टिक ट्रेडिंग रणनीति

लेखक:चाओझांग, दिनांकः 2024-02-02 10:48:37
टैगः

img

अवलोकन

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

रणनीति तर्क

1. चलती औसत

एक तेज रेखा (5 दिन) और धीमी रेखा (20 दिन) चलती औसत का उपयोग किया जाता है। धीमी रेखा के ऊपर तेजी से रेखा पार करना एक खरीद संकेत है, जबकि नीचे पार करना एक बिक्री संकेत है। चलती औसत मूल्य प्रवृत्ति और दिशा निर्धारित करती है।

2. स्टोकैस्टिक ऑसिलेटर

स्टोकैस्टिक मापदंडों को सेट किया गया हैः K लाइन अवधि 14, K लाइन चिकनी अवधि 3, D लाइन चिकनी अवधि 3. K लाइन पर 20 से नीचे ओवरसोल्ड क्षेत्र है, जबकि 80 से ऊपर ओवरबोल्ड क्षेत्र है। स्टोकैस्टिक थरथरानवाला निर्धारित करता है कि यह ओवरबोल्ड / ओवरसोल्ड क्षेत्रों में है या नहीं।

3. प्रवेश नियम

खरीद की शर्तः धीमी एमए और के लाइन <20 (अतिविक्री क्षेत्र) से ऊपर तेजी से एमए क्रॉसओवर बिक्री की शर्तः धीमी एमए और के लाइन > 80 (अतिविक्री क्षेत्र) से नीचे तेजी से एमए क्रॉसओवर

जब खरीद की शर्त पूरी हो जाती है तो लांग जाएं; जब बेचने की शर्त पूरी हो जाती है तो शॉर्ट जाएं।

4. स्टॉप लॉस सेटिंग

खरीद के बाद 1% लाभ लक्ष्य निर्धारित करें; बिक्री के बाद 1% स्टॉप लॉस निर्धारित करें।

लाभ विश्लेषण

यह रणनीति मध्यम से दीर्घकालिक मूल्य रुझानों को प्रभावी ढंग से पकड़ने के लिए प्रवृत्ति और संकेतकों को जोड़ती है, जबकि ट्रेडों के समय को नियंत्रित करने और स्पष्ट दिशात्मक पूर्वाग्रह के बिना यादृच्छिक प्रविष्टियों से बचने के लिए स्टोकेस्टिक ऑसिलेटर का उपयोग करती है। रणनीति मापदंडों को विभिन्न बाजार वातावरण के लिए समायोजित किया जा सकता है। कुल मिलाकर यह रणनीति अपट्रेंड में बड़े / मिड-कैप स्टॉक पर बहुत अच्छी तरह से काम करती है।

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

  • महत्वपूर्ण समाचार घटनाओं से मूल्य में वृद्धि से बड़े नुकसान हो सकते हैं। स्टॉप लॉस जोखिम को नियंत्रित कर सकते हैं।

  • निरंतर सीमाबद्ध बाजार लगातार छोटे घाटे का कारण बन सकते हैं। घाटे को कम करने के लिए एमए अवधि को समायोजित करें।

  • बाजार के महत्वपूर्ण समय से बचें जब कीमतें उलट जाती हैं।

अनुकूलन

  • इष्टतम मापदंडों को खोजने के लिए विभिन्न मापदंड संयोजनों का परीक्षण करें, जैसे कि विभिन्न एमए लंबाई।

  • लाभ दर में सुधार के लिए फ़िल्टर स्थितियों के लिए मात्रा, अस्थिरता जैसे अन्य विश्लेषण उपकरण शामिल करें।

  • एकल स्टॉक जोखिमों को कम करने के लिए मजबूत स्टॉक या कैप-वेटेड इंडेक्स चुनने जैसे स्टॉक चयन तंत्र का शोध करें।

निष्कर्ष

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


/*backtest
start: 2024-01-25 00:00:00
end: 2024-02-01 00:00:00
period: 5m
basePeriod: 1m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=4
strategy("Moving Average and Stochastic Strategy 80% ", overlay=true)

// Moving Average Settings
maShortLength = input(5, title="Short MA Length")
maLongLength = input(20, title="Long MA Length")

// Stochastic Settings
stochLength = input(14, title="Stochastic Length")
smoothK = input(3, title="Stochastic %K")
smoothD = input(3, title="Stochastic %D")
stochOverbought = 80
stochOversold = 20

// Profit Target Settings
profitTarget = input(1, title="Profit Target (%)") // 1% profit target

// Calculate Moving Averages
maShort = sma(close, maShortLength)
maLong = sma(close, maLongLength)

// Calculate Stochastic
k = sma(stoch(close, high, low, stochLength), smoothK)
d = sma(k, smoothD)

// Entry Conditions
longConditionMA = crossover(maShort, maLong) and k < stochOversold
shortConditionMA = crossunder(maShort, maLong) and k > stochOverbought

// Opposite Conditions
oppositeLongConditionMA = crossunder(maShort, maLong) and k < stochOversold
oppositeShortConditionMA = crossover(maShort, maLong) and k > stochOverbought

// Strategy Logic
if (longConditionMA)
    strategy.entry("Buy", strategy.long)
    strategy.exit("Exit Buy", "Buy", profit=close * (50 + profitTarget / 100))

if (shortConditionMA)
    strategy.entry("Sell", strategy.short)
    strategy.exit("Exit Sell", "Sell", profit=close * (20 - profitTarget / 100))

// Opposite Strategy Logic
if (oppositeLongConditionMA)
    strategy.entry("Sell", strategy.short)
    strategy.exit("Exit Sell", "Sell", profit=close * (50 - profitTarget / 100))

if (oppositeShortConditionMA)
    strategy.entry("Buy", strategy.long)
    strategy.exit("Exit Buy", "Buy", profit=close * (20 + profitTarget / 100))

// Plot Moving Averages
plot(maShort, color=color.blue, title="Short MA")
plot(maLong, color=color.red, title="Long MA")

// Plot Stochastic
hline(stochOverbought, "Overbought", color=color.red)
hline(stochOversold, "Oversold", color=color.green)
plot(k, color=color.black, title="Stochastic %K")

अधिक