यह रणनीति एक मात्रात्मक ट्रेडिंग प्रणाली है जो तकनीकी संकेतकों एमएसीडी और एटीआर के साथ औसत प्रतिगमन सिद्धांतों को जोड़ती है। यह मूल्य विचलन की पहचान करने के लिए बोलिंगर बैंड, गति की पुष्टि के लिए एमएसीडी और गतिशील जोखिम प्रबंधन के लिए एटीआर का उपयोग करती है। मूल अवधारणा कई तकनीकी संकेतकों के माध्यम से मान्य होने पर औसत प्रतिगमन अवसरों को पकड़ना है।
रणनीति में तीन तकनीकी संकेतक एक साथ काम करते हैंः पहला, बोलिंगर बैंड मूल्य विचलन को निर्धारित करते हैं; दूसरा, एमएसीडी मूल्य गति को मान्य करता है, यह सुनिश्चित करता है कि व्यापार की दिशा बाजार के रुझानों के साथ संरेखित हो; अंत में, एटीआर गतिशील स्टॉप-लॉस और टेक-प्रॉफिट स्तर निर्धारित करता है। विशेष रूप से, लंबे संकेत तब उत्पन्न होते हैं जब मूल्य बाजार की अस्थिरता के आधार पर स्टॉप-लॉस और टेक-प्रॉफिट स्तरों को समायोजित करता है।
यह रणनीति क्लासिक तकनीकी विश्लेषण को आधुनिक मात्रात्मक ट्रेडिंग विधियों के साथ जोड़ती है। कई संकेतकों के समन्वित उपयोग के माध्यम से, यह एकल संकेतकों की सीमाओं को दूर करते हुए औसत प्रतिगमन के मुख्य लाभों को बनाए रखता है। यह रणनीति अत्यधिक विस्तार योग्य है, पैरामीटर अनुकूलन और अतिरिक्त कार्यात्मक मॉड्यूल के माध्यम से निरंतर सुधार करने में सक्षम है। इस बीच, इसका व्यापक जोखिम नियंत्रण तंत्र स्थिरता सुनिश्चित करता है।
/*backtest start: 2024-11-12 00:00:00 end: 2024-12-11 08:00:00 period: 3h basePeriod: 3h exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=5 strategy("Enhanced Mean Reversion with MACD and ATR", overlay=true) // Nastavenia Bollinger Bands bbLength = input(20, title="Bollinger Bands Length") bbMult = input(2, title="Bollinger Bands Multiplier") basis = ta.sma(close, bbLength) dev = ta.stdev(close, bbLength) upperBand = basis + bbMult * dev lowerBand = basis - bbMult * dev // MACD indikátor macdShort = input(12, title="MACD Short Length") macdLong = input(26, title="MACD Long Length") macdSignal = input(9, title="MACD Signal Length") [macdLine, signalLine, _] = ta.macd(close, macdShort, macdLong, macdSignal) // ATR pre dynamický Stop Loss a Take Profit atrLength = input(14, title="ATR Length") atrMultiplier = input(1.5, title="ATR Multiplier") atrValue = ta.atr(atrLength) // Vstupné podmienky pre long pozície longCondition = ta.crossover(close, lowerBand) and macdLine > signalLine if (longCondition) strategy.entry("Long", strategy.long) // Vstupné podmienky pre short pozície shortCondition = ta.crossunder(close, upperBand) and macdLine < signalLine if (shortCondition) strategy.entry("Short", strategy.short) // Dynamický Stop Loss a Take Profit na základe ATR longSL = strategy.position_avg_price - atrValue * atrMultiplier longTP = strategy.position_avg_price + atrValue * atrMultiplier * 2 shortSL = strategy.position_avg_price + atrValue * atrMultiplier shortTP = strategy.position_avg_price - atrValue * atrMultiplier * 2 // Pridanie stop loss a take profit if (strategy.position_size > 0) strategy.exit("Take Profit/Stop Loss", "Long", stop=longSL, limit=longTP) if (strategy.position_size < 0) strategy.exit("Take Profit/Stop Loss", "Short", stop=shortSL, limit=shortTP) // Vizualizácia Bollinger Bands a MACD plot(upperBand, color=color.red, title="Upper Bollinger Band") plot(lowerBand, color=color.green, title="Lower Bollinger Band") plot(basis, color=color.blue, title="Bollinger Basis") hline(0, "MACD Zero Line", color=color.gray) plot(macdLine - signalLine, color=color.blue, title="MACD Histogram") plot(macdLine, color=color.red, title="MACD Line") plot(signalLine, color=color.green, title="Signal Line") // Generovanie alertov alertcondition(longCondition, title="Long Alert", message="Long Entry Signal") alertcondition(shortCondition, title="Short Alert", message="Short Entry Signal")