এই কৌশলটি ওয়েভট্রেন্ড সূচকের উপর ভিত্তি করে একটি পরিমাণগত ট্রেডিং সিস্টেম, যা গতিশীল ঝুঁকি ব্যবস্থাপনা প্রক্রিয়াকে অন্তর্ভুক্ত করে। কৌশলটি মূল্যের ওঠানামা দ্বারা প্রবণতা শক্তি গণনা করে, অতিরিক্ত ক্রয় এবং অতিরিক্ত বিক্রয় অঞ্চলে সংকেতগুলি ফিল্টার করে এবং স্টপ-লস, লভ্যাংশ গ্রহণ এবং ট্রেলিং স্টপ প্রক্রিয়া সহ ঝুঁকি নিয়ন্ত্রণ ব্যবস্থা প্রয়োগ করে।
কৌশলটির মূলটি হ'ল এইচএলসি 3 দাম ব্যবহার করে ওয়েভট্রেন্ড সূচক গণনা করা। এটি প্রথমে একটি বেসলাইন হিসাবে 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))