
औसत रिवर्स ब्रेकआउट रणनीति एक प्रकार की क्वांटिटेटिव ट्रेडिंग रणनीति है जो एक ट्रेंड को ट्रैक करती है। यह रणनीति बाजार की गति को निर्धारित करने के लिए चलती औसत और उसके मानक विचलन चैनल का उपयोग करती है और जब कीमत मानक विचलन चैनल को तोड़ती है तो ट्रेडिंग सिग्नल देती है।
रणनीति पहले N दिन (डिफ़ॉल्ट 50 दिन) के लिए एक सरल चलती औसत SMA की गणना करती है, फिर SMA के आधार पर उस चक्र की कीमतों के लिए मानक विचलन StdDev की गणना करती है। SMA को मध्य अक्ष के रूप में, ऊपर और नीचे StdDev के 2 गुना के साथ ऊपर और नीचे ट्रैक के रूप में स्टैंडर्ड विचलन चैनल ट्रैक बनाते हैं। जब कीमत ऊपर की ओर ट्रैक करती है, तो खाली करें; जब कीमत नीचे की ओर ट्रैक करती है, तो अधिक करें।
बाजार में प्रवेश करने के बाद, रणनीति एक स्टॉप-लॉस स्टॉप सेट करती है। विशेष रूप से, अधिक करने के बाद, स्टॉप-लॉस लाइन प्रवेश के समापन मूल्य के लिए ((100 - स्टॉप-लॉस प्रतिशत); खुले होने के बाद, स्टॉप-ऑफ लाइन प्रवेश के समापन मूल्य के लिए ((100 + स्टॉप-ऑफ प्रतिशत) ।
इस रणनीति के निम्नलिखित फायदे हैं:
इस रणनीति के कुछ जोखिम भी हैं:
जोखिम के लिए समाधान इस प्रकार हैं:
इस रणनीति को और भी बेहतर बनाने के लिए जगह हैः
कई समय चक्रों के लिए औसत रेखा का उपयोग करके सत्यापन करें ताकि वक्र अतिसंवेदनशील न हो।
अन्य संकेतकों जैसे कि MACD के साथ प्रवृत्ति और विचलन के बारे में निर्णय लेना।
मशीन लर्निंग एल्गोरिदम के लिए गतिशील अनुकूलन पैरामीटर का परिचय देना।
औसत वापसी तोड़ने की रणनीति समग्र रूप से एक बहुत ही व्यावहारिक मात्रात्मक ट्रेडिंग रणनीति है। यह प्रवृत्ति का पालन करने, वापस लेने के नियंत्रण के फायदे हैं, सरलता को प्राप्त करने के लिए, मात्रात्मक ट्रेडिंग की आवश्यकता के लिए उपयुक्त है। इसके अलावा, कुछ पैरामीटर चयन और स्टॉप लॉस सेटिंग की समस्याओं पर ध्यान देने की आवश्यकता है, जो बहु समय अक्ष विश्लेषण और पैरामीटर अनुकूलन के साथ मिलकर बेहतर रणनीति प्रदर्शन प्राप्त कर सकते हैं।
/*backtest
start: 2023-02-16 00:00:00
end: 2024-02-22 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=5
strategy("Standard Deviation Bands with Buy/Sell Signals", overlay=true)
// Input for the number of standard deviations
deviationMultiplier = input.float(2.0, title="Standard Deviation Multiplier")
// Input for the length of the moving average
maLength = input.int(50, title="Moving Average Length")
// Input for the stop loss percentage
stopLossPercentage = input.float(12, title="Stop Loss Percentage")
// Calculate the moving average
sma = ta.sma(close, maLength)
// Calculate the standard deviation of the price
priceDeviation = ta.stdev(close, maLength)
// Calculate the upper and lower bands
upperBand = sma + (priceDeviation * deviationMultiplier)
lowerBand = sma - (priceDeviation * deviationMultiplier)
// Plot the bands
plot(upperBand, color=color.green, title="Upper Band")
plot(lowerBand, color=color.red, title="Lower Band")
// Plot the moving average
plot(sma, color=color.blue, title="SMA", linewidth=2)
// Buy Signal
buyCondition = ta.crossover(close, lowerBand)
sellCondition = ta.crossunder(close, upperBand)
// Calculate stop loss level
stopLossLevelBuy = close * (1 - stopLossPercentage / 100)
stopLossLevelSell = close * (1 + stopLossPercentage / 100)
// Create Buy and Sell Alerts
alertcondition(buyCondition, title="Buy Signal", message="Buy Signal - Price Crossed Below Lower Band")
alertcondition(sellCondition, title="Sell Signal", message="Sell Signal - Price Crossed Above Upper Band")
// Plot Buy and Sell Arrows on the chart
plotshape(buyCondition, style=shape.triangleup, location=location.belowbar, color=color.green, title="Buy Signal Arrow")
plotshape(sellCondition, style=shape.triangledown, location=location.abovebar, color=color.red, title="Sell Signal Arrow")
// Exit Long and Short Positions
var float stopLossBuy = na
var float stopLossSell = na
if ta.crossover(close, sma)
stopLossBuy := stopLossLevelBuy
if ta.crossunder(close, sma)
stopLossSell := stopLossLevelSell
strategy.entry("Buy", strategy.long, when = buyCondition)
strategy.exit("Stop Loss/Take Profit Buy", from_entry = "Buy", stop = stopLossBuy)
strategy.entry("Sell", strategy.short, when = sellCondition)
strategy.exit("Stop Loss/Take Profit Sell", from_entry = "Sell", stop = stopLossSell)