मूविंग एवरेज ट्रैकिंग रणनीति सरल मूविंग एवरेज पर आधारित एक प्रवृत्ति-अनुसरण रणनीति है। यह मूल्य प्रवृत्ति की दिशा निर्धारित करने के लिए 200-दिवसीय सरल मूविंग एवरेज का उपयोग करती है। जब कीमत मूविंग एवरेज से ऊपर जाती है, तो यह लंबी जाती है। जब कीमत मूविंग एवरेज से नीचे जाती है, तो यह छोटी जाती है। यह रणनीति लाभ के लिए प्रवृत्ति का पालन करती है।
यह रणनीति निम्नलिखित सिद्धांतों पर आधारित हैः
यह रणनीति औसत दिशा में आगे बढ़कर प्रवृत्ति को ट्रैक करती है और जब एमए क्रॉसओवर होता है, तो प्रवृत्ति से लाभ कमाने के लिए रिवर्स ट्रेड करती है।
इस रणनीति के निम्नलिखित फायदे हैंः
कुछ जोखिम भी हैं:
जोखिमों को निम्नलिखित अनुकूलन के माध्यम से संबोधित किया जा सकता हैः
इस रणनीति को निम्नलिखित पहलुओं में और अधिक अनुकूलित किया जा सकता हैः
इष्टतम मापदंडों को खोजने के लिए वॉक फॉरवर्ड विश्लेषण जैसे तरीकों का उपयोग करके एमए अवधि पैरामीटर का अनुकूलन करें।
दीर्घकालिक और अल्पकालिक दोनों रुझानों को ट्रैक करने के लिए एक अल्पकालिक एमए जोड़ें।
रुझान उलटा पहचान में सुधार के लिए एमएसीडी जैसे रुझान संकेतक शामिल करें।
एकल व्यापार हानि को नियंत्रित करने के लिए ट्रैलिंग स्टॉप लॉस जैसे स्टॉप लॉस तंत्र जोड़ें।
विभिन्न उत्पादों और समय अवधि पर मजबूती परीक्षण।
पैरामीटर अनुकूलन अनुकूलन के लिए मशीन सीखने का उपयोग करें.
चलती औसत ट्रैकिंग रणनीति एक सरल और व्यावहारिक प्रवृत्ति-अनुसरण रणनीति है। इसमें एक स्पष्ट तर्क है और रुझानों को पकड़ने के लिए इसे लागू करना आसान है। लेकिन इसमें कुछ कमजोरियां भी हैं जैसे कि अल्पकालिक सुधारों के प्रति असंवेदनशीलता और कमजोर जोखिम नियंत्रण। हम रणनीति को कई पहलुओं से अनुकूलित कर सकते हैं ताकि इसे अधिक मजबूत, बेहतर पैरामीटर और मजबूत जोखिम प्रबंधन के साथ बनाया जा सके। कुल मिलाकर, चलती औसत ट्रैकिंग रणनीति का अच्छा अनुप्रयोग मूल्य है और मात्रात्मक व्यापार में एक महत्वपूर्ण प्रवृत्ति व्यापार अवधारणा है।
/*backtest start: 2023-09-19 00:00:00 end: 2023-10-19 00:00:00 period: 1h basePeriod: 15m exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=4 strategy("MA X 200 BF", overlay=true, initial_capital=10000, default_qty_type=strategy.percent_of_equity, default_qty_value=100, commission_type=strategy.commission.percent, commission_value=0.0) /////////////// Time Frame /////////////// testStartYear = input(2012, "Backtest Start Year") testStartMonth = input(1, "Backtest Start Month") testStartDay = input(1, "Backtest Start Day") testPeriodStart = timestamp(testStartYear,testStartMonth,testStartDay, 0, 0) testStopYear = input(2019, "Backtest Stop Year") testStopMonth = input(12, "Backtest Stop Month") testStopDay = input(31, "Backtest Stop Day") testPeriodStop = timestamp(testStopYear,testStopMonth,testStopDay, 0, 0) testPeriod() => true ///////////// MA 200 ///////////// slowMA = sma(close, input(200)) /////////////// Strategy /////////////// long = close > slowMA short = close < slowMA last_long = 0.0 last_short = 0.0 last_long := long ? time : nz(last_long[1]) last_short := short ? time : nz(last_short[1]) long_signal = crossover(last_long, last_short) short_signal = crossover(last_short, last_long) /////////////// Execution /////////////// if testPeriod() strategy.entry("Long Entry", strategy.long, when=long_signal) strategy.entry("Short Entry", strategy.short, when=short_signal) strategy.exit("Long Ex", "Long Entry") strategy.exit("Short Ex", "Short Entry") /////////////// Plotting /////////////// plot(slowMA, color = long ? color.lime : color.red, linewidth=2) bgcolor(strategy.position_size > 0 ? color.lime : strategy.position_size < 0 ? color.red : color.white, transp=80) bgcolor(long_signal ? color.lime : short_signal ? color.red : na, transp=30)