
यह रणनीति WaveTrend के अस्थिरता सूचक (WT) और व्यय भारित औसत मूल्य (VWAP) को जोड़ती है, कीमत और सूचक के विचलन की पहचान करके संभावित रुझान उलट अवसरों को पकड़ने के लिए। यह रणनीति एटीआर (औसत सच्ची सीमा) का उपयोग करती है ताकि स्टॉपलॉस की स्थिति का पता लगाया जा सके और खाते के जोखिम प्रतिशत के आधार पर गतिशील रूप से स्थिति को समायोजित किया जा सके। इस रणनीति का मुख्य लाभ इसकी प्रवृत्ति ट्रैकिंग क्षमता और जोखिम प्रबंधन उपायों में है, लेकिन अस्थिर बाजारों में नुकसान हो सकता है। अनुकूलन दिशा में अतिरिक्त ओवरराइडिंग शर्तों को जोड़ना और सुधारना शामिल है।
WaveTrend Oscillator Divergence Strategy ने संभावित रुझान पलटने के अवसरों की पहचान करने के लिए अस्थिर रुझान संकेतक और लेन-देन भारित औसत मूल्य को जोड़ा। इस रणनीति की ताकत इसकी प्रवृत्ति ट्रैकिंग क्षमता और जोखिम प्रबंधन उपायों में है, लेकिन यह अस्थिर बाजारों में जोखिम के साथ हो सकती है। अतिरिक्त फ़िल्टरिंग स्थितियों, गतिशील पैरामीटर समायोजन और सुधारित प्रवेश नियम को पेश करके रणनीति के प्रदर्शन को और अनुकूलित किया जा सकता है। इस रणनीति को लागू करने से पहले, व्यापक प्रतिक्रिया और पूर्वानुमान विश्लेषण महत्वपूर्ण है।
/*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")