यह रणनीति एक ट्रेंड-फॉलोइंग ट्रेडिंग सिस्टम है जो कई तकनीकी संकेतकों को जोड़ती है। यह आरएसआई (रिलेटिव स्ट्रेंथ इंडेक्स), एमएसीडी (मोविंग एवरेज कन्वर्जेंस डिवर्जेंस), और एसएमए (सिंपल मूविंग एवरेज) को एकीकृत करती है ताकि बाजार के रुझानों को स्पष्ट रूप से परिभाषित किए जाने पर ट्रेडों को निष्पादित किया जा सके। रणनीति में बेहतर जोखिम प्रबंधन के लिए लाभ लेने, स्टॉप लॉस और ट्रेलिंग स्टॉप तंत्र भी शामिल हैं।
रणनीति निम्नलिखित मुख्य शर्तों के आधार पर ट्रेडों को निष्पादित करती है:
जब इन सभी शर्तों को एक साथ पूरा किया जाता है, तो सिस्टम एक लंबा संकेत उत्पन्न करता है। इसके अलावा, रणनीति संचित लाभ की रक्षा के लिए 5% ले लाभ लक्ष्य, 3% स्टॉप लॉस सीमा, और 2% ट्रैलिंग स्टॉप निर्धारित करती है। व्यापार की स्थिति के लिए यह बहु-स्तरित दृष्टिकोण सटीकता और सुरक्षा में सुधार करने में मदद करता है।
यह रणनीति कई तकनीकी संकेतकों के संयोजन के माध्यम से एक व्यापक व्यापार प्रणाली स्थापित करती है। इसमें प्रवृत्ति-अनुसरण तर्क और जोखिम प्रबंधन विचार दोनों शामिल हैं। जबकि अनुकूलन के लिए क्षेत्र हैं, समग्र ढांचा अच्छी स्केलेबिलिटी और अनुकूलन क्षमता प्रदान करता है। सफल कार्यान्वयन के लिए व्यापारियों को पैरामीटर को अनुकूलित करने और वास्तविक बाजार की स्थिति के आधार पर रणनीति में सुधार करने की आवश्यकता होती है।
/*backtest start: 2024-12-03 00:00:00 end: 2024-12-10 00:00:00 period: 45m basePeriod: 45m exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=5 strategy("Flexible Swing Trading Strategy with Trailing Stop and Date Range", overlay=true) // Input parameters rsiPeriod = input.int(14, title="RSI Period") macdFastLength = input.int(12, title="MACD Fast Length") macdSlowLength = input.int(26, title="MACD Slow Length") macdSignalSmoothing = input.int(9, title="MACD Signal Smoothing") smaShortPeriod = input.int(20, title="Short-term SMA Period") smaLongPeriod = input.int(50, title="Long-term SMA Period") takeProfitPercent = input.float(5.0, title="Take Profit Percentage") stopLossPercent = input.float(3.0, title="Stop Loss Percentage") trailingStopPercent = input.float(2.0, title="Trailing Stop Percentage") // Date range inputs startDate = input(timestamp("2023-01-01 00:00"), title="Start Date") endDate = input(timestamp("2023-12-31 23:59"), title="End Date") // Calculate RSI rsi = ta.rsi(close, rsiPeriod) // Calculate MACD [macdLine, signalLine, _] = ta.macd(close, macdFastLength, macdSlowLength, macdSignalSmoothing) // Calculate SMAs smaShort = ta.sma(close, smaShortPeriod) smaLong = ta.sma(close, smaLongPeriod) // Buy condition buyCondition = ta.crossover(macdLine, signalLine) and rsi < 70 and close > smaShort and smaShort > smaLong // Execute buy orders within the date range if (buyCondition ) strategy.entry("Buy", strategy.long) // Calculate take profit and stop loss levels takeProfitLevel = strategy.position_avg_price * (1 + takeProfitPercent / 100) stopLossLevel = strategy.position_avg_price * (1 - stopLossPercent / 100) // Set take profit, stop loss, and trailing stop strategy.exit("Take Profit", "Buy", limit=takeProfitLevel) strategy.exit("Stop Loss", "Buy", stop=stopLossLevel) strategy.exit("Trailing Stop", "Buy", trail_price=close * (1 - trailingStopPercent / 100), trail_offset=trailingStopPercent / 100) // Plot Buy signals plotshape(series=buyCondition, location=location.belowbar, color=color.green, style=shape.labelup, text="BUY") // Plot SMAs plot(smaShort, color=color.blue, title="20 SMA") plot(smaLong, color=color.red, title="50 SMA") // Plot MACD and Signal Line plot(macdLine, color=color.blue, title="MACD Line") plot(signalLine, color=color.orange, title="Signal Line") // Plot RSI hline(70, "Overbought", color=color.red) hline(30, "Oversold", color=color.green) plot(rsi, color=color.purple, title="RSI") // Debugging plots plotchar(buyCondition , char='B', location=location.belowbar, color=color.green, size=size.small) plotchar(strategy.opentrades > 0, char='T', location=location.abovebar, color=color.blue, size=size.small) plot(stopLossLevel, color=color.red, title="Stop Loss Level") plot(takeProfitLevel, color=color.green, title="Take Profit Level")