यह रणनीति मूल्य और संकेतक के बीच विचलन की पहचान करके संभावित प्रवृत्ति उलट अवसरों को पकड़ने के लिए वेवट्रेंड ऑसिलेटर (डब्ल्यूटी) और वॉल्यूम वेटेड एवरेज प्राइस (वीडब्ल्यूएपी) को जोड़ती है। यह रणनीति स्टॉप-लॉस स्तर निर्धारित करने के लिए औसत सच्ची रेंज (एटीआर) का उपयोग करती है और खाता जोखिम प्रतिशत के आधार पर गतिशील रूप से स्थिति आकार को समायोजित करती है। रणनीति की मुख्य ताकत इसकी प्रवृत्ति-अनुसरण क्षमताओं और जोखिम प्रबंधन उपायों में निहित है, लेकिन यह चंचल बाजारों में नुकसान झेल सकती है। अनुकूलन दिशाओं में अतिरिक्त फ़िल्टर जोड़ना और प्रवेश और निकास नियमों में सुधार शामिल है।
वेवट्रेंड ऑसिलेटर विचलन रणनीति वेवट्रेंड संकेतक और वॉल्यूम वेटेड एवरेज प्राइस को संभावित रुझान उलटने के अवसरों की पहचान करने के लिए जोड़ती है। रणनीति की ताकत इसकी प्रवृत्ति-अनुसरण क्षमताओं और जोखिम प्रबंधन उपायों में निहित है, लेकिन यह अस्थिर बाजारों में जोखिम का सामना कर सकती है। रणनीति को अतिरिक्त फिल्टर, गतिशील पैरामीटर समायोजन, और बेहतर प्रवेश और निकास नियमों को पेश करके और अनुकूलित किया जा सकता है। रणनीति को लागू करने से पहले गहन बैकटेस्टिंग और भविष्यवादी विश्लेषण महत्वपूर्ण हैं।
/*backtest start: 2023-05-22 00:00:00 end: 2024-05-27 00:00:00 period: 1d basePeriod: 1h exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=5 strategy("PipShiesty Swagger", overlay=true) // WaveTrend Oscillator (WT) n1 = input.int(10, "Channel Length") n2 = input.int(21, "Average Length") obLevel1 = input.float(60.0, "Overbought Level 1") obLevel2 = input.float(53.0, "Overbought Level 2") osLevel1 = input.float(-60.0, "Oversold Level 1") osLevel2 = input.float(-53.0, "Oversold Level 2") ap = hlc3 esa = ta.ema(ap, n1) d = ta.ema(math.abs(ap - esa), n1) ci = (ap - esa) / (0.015 * d) tci = ta.ema(ci, n2) // VWAP vwap = ta.vwma(close, n1) // Signal Line wt1 = tci wt2 = ta.sma(wt1, 4) // Bullish and Bearish Divergences bullishDivergence = (ta.lowest(close, 5) > ta.lowest(close[1], 5)) and (wt1 < wt1[1]) and (close > close[1]) bearishDivergence = (ta.highest(close, 5) < ta.highest(close[1], 5)) and (wt1 > wt1[1]) and (close < close[1]) // Plot WaveTrend Oscillator plot(wt1, title="WT1", color=color.blue) plot(wt2, title="WT2", color=color.red) // Plot Divergences plotshape(series=bullishDivergence, location=location.belowbar, color=color.green, style=shape.labelup, title="Bullish Divergence") plotshape(series=bearishDivergence, location=location.abovebar, color=color.red, style=shape.labeldown, title="Bearish Divergence") // Risk Management Parameters riskPercentage = input.float(1, title="Risk Percentage per Trade", minval=0.1, step=0.1) / 100 stopLossATR = input.float(1.5, title="Stop Loss ATR Multiplier", minval=0.5, step=0.1) // ATR Calculation atr = ta.atr(14) // Position Size Calculation calculatePositionSize(stopLoss) => riskAmount = strategy.equity * riskPercentage positionSize = riskAmount / stopLoss positionSize // Entry and Exit Logic with Stop Loss if bullishDivergence stopLoss = low - atr * stopLossATR positionSize = calculatePositionSize(close - stopLoss) strategy.entry("Buy", strategy.long, qty=positionSize) strategy.exit("Sell", from_entry="Buy", stop=stopLoss) if bearishDivergence strategy.close("Buy") // Plot VWAP plot(vwap, title="VWAP", color=color.orange) // Background color to indicate Overbought/Oversold conditions bgcolor(wt1 > obLevel1 ? color.new(color.red, 90) : na, title="Overbought Level 1") bgcolor(wt1 < osLevel1 ? color.new(color.green, 90) : na, title="Oversold Level 1") bgcolor(wt1 > obLevel2 ? color.new(color.red, 70) : na, title="Overbought Level 2") bgcolor(wt1 < osLevel2 ? color.new(color.green, 70) : na, title="Oversold Level 2")