एसएमए और ईएमए पर आधारित मात्रात्मक ट्रेडिंग रणनीति

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

img

I. रणनीति का अवलोकन

इस रणनीति को SMA और EMA पर आधारित मात्रात्मक ट्रेडिंग रणनीति कहा जाता है। इसका मुख्य विचार व्यापार संकेतों का निर्माण करने के लिए विभिन्न मापदंडों के साथ SMA लाइनों और EMA लाइनों को जोड़ना है।

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

  1. बंद मूल्य और ईएमए20 के एसएमए9, एसएमए50, एसएमए180 की गणना करें।

  2. बंद मूल्य और समर्थन और प्रतिरोध के बीच संबंध के आधार पर खरीद और बिक्री संकेत निर्धारित करें। बंद ब्रेक के माध्यम से खरीद सिग्नल उत्पन्न करें, और बंद ब्रेक के माध्यम से बिक्री सिग्नल उत्पन्न करें।

  3. सिग्नल ट्रिगर खरीदते समय, लंबी स्थिति रणनीति निष्पादित करें; सिग्नल ट्रिगर बेचते समय, लंबी स्थिति बंद करें।

  4. सिग्नल ट्रिगर बेचते समय, शॉर्ट पोजीशन रणनीति निष्पादित करें; सिग्नल ट्रिगर खरीदते समय, शॉर्ट पोजीशन बंद करें।

III. लाभ विश्लेषण

  1. ट्रेडिंग सिग्नल बनाने के लिए कई चलती औसतों का संयोजन सटीकता और स्थिरता में सुधार करता है।

  2. गतिशील समर्थन और प्रतिरोध की गणना व्यापार संकेतों को अधिक विश्वसनीय बनाती है।

  3. उच्च, मध्यम और निम्न अस्थिरता वाले चलती औसत को अपनाने से दीर्घकालिक प्रवृत्ति और अल्पकालिक सफलता दोनों को ध्यान में रखा जाता है, जिससे रणनीति की लाभप्रदता में सुधार होता है।

  4. लंबी और छोटी दोनों पदों का समर्थन करने से ट्रेंडिंग और साइडवेज बाजारों में लाभ प्राप्त हो सकता है।

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

  1. एसएमए में लेगिंग इफेक्ट होता है, जो खरीद और बिक्री संकेतों में देरी कर सकता है और रणनीति के प्रदर्शन को प्रभावित कर सकता है।

  2. कोई स्टॉप लॉस तंत्र नहीं, नुकसान बढ़ सकता है।

  3. पर्याप्त बैकटेस्टिंग डेटा नहीं है, बाजार के अनुसार मापदंडों को समायोजित करने की आवश्यकता है।

  4. तकनीकी संकेतकों पर भरोसा करते हुए, ब्लैक स्वान घटनाओं का सामना करने में असमर्थ।

समाधान:

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

V. अनुकूलन

  1. एकल हानि को नियंत्रित करने के लिए अस्थिरता आधारित स्टॉप लॉस जोड़ें।

  2. ट्रेंड जजमेंट और सिग्नल जनरेशन में सहायता के लिए मशीन लर्निंग मॉडल जोड़ें।

  3. समर्थन और प्रतिरोध सटीकता में सुधार के लिए प्रमुख मूल्य विश्लेषण जोड़ें।

  4. बेहतर मापदंडों को खोजने के लिए विभिन्न मापदंड संयोजनों का परीक्षण करें।

VI. सारांश

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

]


/*backtest
start: 2023-12-10 00:00:00
end: 2023-12-11 00:00:00
period: 3m
basePeriod: 1m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=4
strategy(title="StrategySMA 9/50/180 | EMA 20 | BUY/SELL", overlay=true, initial_capital=10000, default_qty_type=strategy.percent_of_equity, default_qty_value=100)

//SMA and EMA code
smaInput1 = input(9, title="SMA1")
smaInput2 = input(50, title="SMA2")
smaInput3 = input(180, title="SMA3")
emaInput1 = input(20, title="EMA1")
sma1 = sma(close, smaInput1)
sma2 = sma(close, smaInput2)
sma3 = sma(close, smaInput3)
EMA1 = ema(close, emaInput1)
plot(sma1, color= color.red , title="SMA1")
plot(sma2, color = color.blue, title="SMA2")
plot(sma3, color= color.white, title="SMA3")
plot(EMA1, color = color.yellow, title="EMA1")

no=input(3,title="BUY/SELL Swing")
Barcolor=input(false,title="BUY/SELL Bar Color")
Bgcolor=input(false,title="BUY/SELL Background Color")
res=highest(high,no)
sup=lowest(low,no)
avd=iff(close>res[1],1,iff(close<sup[1],-1,0))
avn=valuewhen(avd!=0,avd,0)
tsl=iff(avn==1,sup,res)

// Buy/sell signals
BuySignal = crossover(close, tsl)
SellSignal = crossunder(close, tsl)

// Enter long position
strategy.entry("Buy", strategy.long, when=BuySignal)

// Exit long position
strategy.exit("Sell", "Buy", when=SellSignal)

// Enter short position
strategy.entry("Sell", strategy.short, when=SellSignal)

// Exit short position
strategy.exit("Buy", "Sell", when=BuySignal)

colr = close>=tsl ? color.green : close<=tsl ? color.red : na
plot(tsl, color=colr)


अधिक