
यह रणनीति विलियम सूचकांक ((%R), चलती औसत प्रवृत्ति सूचकांक ((MACD) और सूचकांक चलती औसत ((EMA) पर आधारित एक बहु-सूचक संयोजन रणनीति है। बाजार के ओवरबॉट ओवरसोल की स्थिति का आकलन करके, गतिशीलता सूचकांक के बदलते रुझान और औसत रेखा समर्थन के साथ मिलकर, एक पूर्ण प्रवृत्ति ट्रैकिंग ट्रेडिंग सिस्टम का निर्माण किया जाता है। इस रणनीति में न केवल प्रवेश संकेतों का उत्पादन शामिल है, बल्कि एक पूर्ण जोखिम प्रबंधन तंत्र भी है।
यह रणनीति मुख्य रूप से निम्नलिखित तीन मुख्य संकेतकों पर आधारित है:
रणनीति केवल तभी खुलती है जब उपरोक्त तीनों शर्तें एक साथ पूरी होती हैं। इसके अलावा, रणनीति जोखिम-लाभ अनुपात पर आधारित स्टॉप-स्टॉप-लॉस तंत्र को शामिल करती है, जो प्रत्येक व्यापार के जोखिम को नियंत्रित करने के लिए एक निश्चित स्टॉप-लॉस प्रतिशत और जोखिम-लाभ अनुपात निर्धारित करती है।
इस रणनीति के माध्यम से कई तकनीकी संकेतक के सहयोग से एक बेहतर ट्रेंड ट्रैकिंग ट्रेडिंग सिस्टम का निर्माण किया गया है। इस रणनीति की मुख्य विशेषताएं संकेत की उच्च विश्वसनीयता, जोखिम नियंत्रण स्पष्टता हैं, लेकिन कुछ पिछड़ापन और पैरामीटर संवेदनशीलता की समस्याएं भी हैं। इस रणनीति में और भी सुधार करने की जगह है। इस रणनीति को वास्तविक समय में लागू करने के लिए, पहले पैरामीटर के पोर्टफोलियो को पूरी तरह से सत्यापित करने के लिए अनुशंसा की जाती है और बाजार की विशेषताओं के साथ लक्षित अनुकूलन की जाती है।
/*backtest
start: 2025-02-19 00:00:00
end: 2025-02-23 00:00:00
period: 1m
basePeriod: 1m
exchanges: [{"eid":"Binance","currency":"SOL_USDT"}]
*/
//@version=5
strategy("Williams %R & MACD Swing Strategy", overlay=true)
// INPUTS
length_wpr = input(14, title="Williams %R Length")
overbought = input(-20, title="Overbought Level")
oversold = input(-80, title="Oversold Level")
// MACD Inputs
fastLength = input(12, title="MACD Fast Length")
slowLength = input(26, title="MACD Slow Length")
signalSmoothing = input(9, title="MACD Signal Smoothing")
// EMA for Trend Confirmation
ema_length = input(55, title="EMA Length")
ema55 = ta.ema(close, ema_length)
// INDICATORS
wpr = ta.wpr(length_wpr)
[macdLine, signalLine, _] = ta.macd(close, fastLength, slowLength, signalSmoothing)
// LONG ENTRY CONDITIONS
longCondition = ta.crossover(wpr, oversold) and ta.crossover(macdLine, signalLine) and close > ema55
if longCondition
strategy.entry("Long", strategy.long)
// SHORT ENTRY CONDITIONS
shortCondition = ta.crossunder(wpr, overbought) and ta.crossunder(macdLine, signalLine) and close < ema55
if shortCondition
strategy.entry("Short", strategy.short)
// RISK MANAGEMENT
riskRewardRatio = input(1.5, title="Risk-Reward Ratio")
stopLossPerc = input(2, title="Stop Loss %") / 100
takeProfitPerc = stopLossPerc * riskRewardRatio
longSL = strategy.position_avg_price * (1 - stopLossPerc)
longTP = strategy.position_avg_price * (1 + takeProfitPerc)
shortSL = strategy.position_avg_price * (1 + stopLossPerc)
shortTP = strategy.position_avg_price * (1 - takeProfitPerc)
strategy.exit("Take Profit / Stop Loss", from_entry="Long", loss=longSL, profit=longTP)
strategy.exit("Take Profit / Stop Loss", from_entry="Short", loss=shortSL, profit=shortTP)