यह रणनीति औसत प्रतिगमन के सिद्धांत पर आधारित है, व्यापारिक निर्णय लेने के लिए चलती औसत से कीमतों के विचलन का उपयोग करते हुए। जब कीमत ऊपरी बैंड से ऊपर विचलित होती है तो यह छोटी हो जाती है और जब यह निचले बैंड से नीचे विचलित होती है तो यह लंबी हो जाती है। जब कीमत चलती औसत पर वापस लौटती है तो स्थिति बंद हो जाती है। इस रणनीति की मुख्य धारणा यह है कि कीमतें हमेशा औसत स्तर पर लौटेंगी।
औसत प्रतिगमन रणनीति सांख्यिकीय सिद्धांतों पर आधारित एक मात्रात्मक व्यापारिक रणनीति है, जो औसत मूल्य के आसपास ऊपरी और निचले बैंड का निर्माण करके व्यापारिक निर्णय लेती है। रणनीति का सरल तर्क और स्पष्ट निष्पादन है, लेकिन साधनों के चयन और मापदंडों के अनुकूलन पर ध्यान दिया जाना चाहिए। व्यावहारिक अनुप्रयोग में, रणनीति की मजबूती और लाभप्रदता में सुधार के लिए प्रवृत्ति, व्यापार लागत और जोखिम नियंत्रण जैसे कारकों पर भी विचार करने की आवश्यकता है। सामान्य तौर पर, औसत प्रतिगमन रणनीति एक आम और मात्रात्मक व्यापार के क्षेत्र में गहन अध्ययन के योग्य है।
/*backtest start: 2024-05-01 00:00:00 end: 2024-05-31 23:59:59 period: 4h basePeriod: 15m exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=5 strategy("Mean Regression Strategy", overlay=true) // Define the lookback period for the moving average length = input.int(20, title="Moving Average Length") mult = input.float(1.5, title="Standard Deviation Multiplier") // Calculate the moving average and standard deviation ma = ta.sma(close, length) dev = mult * ta.stdev(close, length) // Calculate upper and lower bands upper_band = ma + dev lower_band = ma - dev // Plot the moving average and bands plot(ma, color=color.blue, linewidth=2, title="Moving Average") plot(upper_band, color=color.red, linewidth=2, title="Upper Band") plot(lower_band, color=color.green, linewidth=2, title="Lower Band") // Entry conditions long_condition = ta.crossover(close, lower_band) short_condition = ta.crossunder(close, upper_band) // Exit conditions exit_long_condition = ta.crossunder(close, ma) exit_short_condition = ta.crossover(close, ma) // Strategy orders if (long_condition) strategy.entry("Long", strategy.long) if (short_condition) strategy.entry("Short", strategy.short) if (exit_long_condition) strategy.close("Long") if (exit_short_condition) strategy.close("Short") // Plot signals on the chart plotshape(series=long_condition, location=location.belowbar, color=color.green, style=shape.labelup, title="Buy Signal") plotshape(series=short_condition, location=location.abovebar, color=color.red, style=shape.labeldown, title="Sell Signal")