यह रणनीति वेवट्रेंड संकेतक पर आधारित एक मात्रात्मक ट्रेडिंग प्रणाली है, जिसमें गतिशील जोखिम प्रबंधन तंत्र शामिल हैं। यह रणनीति मूल्य उतार-चढ़ाव के माध्यम से प्रवृत्ति की ताकत की गणना करती है, ओवरबॉट और ओवरसोल्ड क्षेत्रों में संकेतों को फ़िल्टर करती है, और स्टॉप-लॉस, टेक-प्रॉफिट और ट्रैलिंग स्टॉप तंत्र सहित जोखिम नियंत्रण उपायों को लागू करती है।
रणनीति का मूल HLC3 कीमतों का उपयोग करके वेवट्रेंड संकेतक की गणना में निहित है। यह पहले एक आधार रेखा के रूप में एक n1-अवधि घातीय चलती औसत (ईएमए) की गणना करता है, फिर इस आधार रेखा से मूल्य विचलन की गणना करता है, उन्हें 0.015 गुणांक के साथ सामान्य करता है। इसके परिणामस्वरूप क्रमशः तेज़ और धीमी रेखाओं का प्रतिनिधित्व करने वाली दो तरंग रेखाएं, wt1 और wt2 होती हैं। ट्रेडिंग सिग्नल इन रेखाओं के आधार पर उत्पन्न होते हैं जो ओवरबॉट और ओवरसोल्ड स्तरों को पार करते हैं, एक बहु-स्तरित जोखिम नियंत्रण प्रणाली के साथ संयुक्त होते हैं।
यह रणनीति एक व्यापक मात्रात्मक व्यापारिक दृष्टिकोण प्राप्त करती है जो वेवट्रेंड संकेतक को एक मजबूत जोखिम प्रबंधन प्रणाली के साथ जोड़ती है। इसकी मुख्य ताकत इसकी अनुकूलन क्षमता और नियंत्रित जोखिम जोखिम में निहित है, हालांकि व्यापारियों को वास्तविक बाजार की स्थिति के आधार पर मापदंडों को अनुकूलित करने और रणनीति में सुधार करने की आवश्यकता होती है। निरंतर अनुकूलन और परिष्करण के माध्यम से, यह रणनीति वास्तविक व्यापारिक वातावरण में स्थिर रिटर्न प्राप्त करने के लिए वादा करती है।
/*backtest start: 2024-11-12 00:00:00 end: 2024-12-11 08:00:00 period: 3h basePeriod: 3h exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=5 strategy(title="WaveTrend [LazyBear] with Risk Management", shorttitle="WT_LB_RM", overlay=true) // Input Parameters n1 = input.int(10, "Channel Length") n2 = input.int(21, "Average Length") obLevel1 = input.int(60, "Over Bought Level 1") obLevel2 = input.int(53, "Over Bought Level 2") osLevel1 = input.int(-60, "Over Sold Level 1") osLevel2 = input.int(-53, "Over Sold Level 2") // Risk Management Inputs stopLossPercent = input.float(50.0, "Stop Loss (%)", minval=0.1, maxval=100) takeProfitPercent = input.float(5.0, "Take Profit (%)", minval=0.1, maxval=100) trailingStopPercent = input.float(3.0, "Trailing Stop (%)", minval=0.1, maxval=100) trailingStepPercent = input.float(2.0, "Trailing Stop Step (%)", minval=0.1, maxval=100) // WaveTrend Calculation 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) wt1 = tci wt2 = ta.sma(wt1, 4) // Plotting Original Indicators plot(0, color=color.gray) plot(obLevel1, color=color.red) plot(osLevel1, color=color.green) plot(obLevel2, color=color.red, style=plot.style_line) plot(osLevel2, color=color.green, style=plot.style_line) plot(wt1, color=color.green) plot(wt2, color=color.red, style=plot.style_line) plot(wt1-wt2, color=color.blue, style=plot.style_area, transp=80) // Buy and Sell Signals with Risk Management longCondition = ta.crossover(wt1, osLevel1) or ta.crossover(wt1, osLevel2) shortCondition = ta.crossunder(wt1, obLevel1) or ta.crossunder(wt1, obLevel2) // Strategy Entry with Risk Management if (longCondition) entryPrice = close stopLossPrice = entryPrice * (1 - stopLossPercent/100) takeProfitPrice = entryPrice * (1 + takeProfitPercent/100) strategy.entry("Long", strategy.long) strategy.exit("Long Exit", "Long", stop=stopLossPrice, limit=takeProfitPrice, trail_price=close * (1 + trailingStopPercent/100), trail_offset=close * (trailingStepPercent/100)) if (shortCondition) entryPrice = close stopLossPrice = entryPrice * (1 + stopLossPercent/100) takeProfitPrice = entryPrice * (1 - takeProfitPercent/100) strategy.entry("Short", strategy.short) strategy.exit("Short Exit", "Short", stop=stopLossPrice, limit=takeProfitPrice, trail_price=close * (1 - trailingStopPercent/100), trail_offset=close * (trailingStepPercent/100))