এই কৌশলটি ওয়েভট্রেন্ড সূচক এবং প্রবণতা অনুসরণের উপর ভিত্তি করে একটি পরিমাণগত ট্রেডিং সিস্টেম। এটি একটি সম্পূর্ণ ট্রেডিং সিদ্ধান্তের কাঠামো গঠনের জন্য ওয়েভট্রেন্ড সূচককে চলমান গড়ের সাথে একত্রিত করে। কৌশলটি তরঙ্গ প্রবণতা মান এবং সামগ্রিক বাজারের প্রবণতা গণনা করতে ইএমএ এবং এসএমএ ব্যবহার করে, ওভারকপ এবং ওভারসোল্ড থ্রেশহোল্ডের মাধ্যমে বাজারের বাঁক চিহ্নিত করে এবং ট্রেডিং নির্ভুলতা উন্নত করতে প্রবণতা ফিল্টার অন্তর্ভুক্ত করে।
এই কৌশল নিম্নলিখিত ধাপগুলির মাধ্যমে বাস্তবায়িত হয়:
কৌশলটি ওয়েভট্রেন্ড সূচককে প্রবণতা ফিল্টারগুলির সাথে বুদ্ধিমানভাবে একত্রিত করে একটি শক্তিশালী ট্রেডিং সিস্টেম তৈরি করে। অপারেশনাল সরলতা বজায় রেখে এটি ব্যাপক বাজার বিশ্লেষণ অর্জন করে। যদিও কিছু ঝুঁকি রয়েছে, কৌশলটি সঠিক ঝুঁকি ব্যবস্থাপনা এবং ক্রমাগত অপ্টিমাইজেশনের মাধ্যমে ভাল ব্যবহারিক মূল্য এবং বিকাশের সম্ভাবনা রয়েছে।
/*backtest start: 2019-12-23 08:00:00 end: 2024-12-18 08:00:00 period: 1d basePeriod: 1d exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ // This Pine Script™ code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/ // © mojomarv //@version=6 strategy("WaveTrend with Trend Filter", shorttitle="WaveTrend Trend", overlay=false, initial_capital = 100000) // Inputs for the WaveTrend indicator inputLength = input.int(10, title="Channel Length", minval=1) avgLength = input.int(21, title="Average Length", minval=1) obLevel = input.float(45, title="Overbought Level") osLevel = input.float(-45, title="Oversold Level") showSignals = input.bool(true, title="Show Buy/Sell Signals") // Trend filter input maLength = input.int(500, title="Trend MA Length", minval=1) // Calculate WaveTrend values hlc_avg = (high + low + close) / 3 // Renamed from hlc3 to hlc_avg esa = ta.ema(hlc_avg, inputLength) d = ta.ema(math.abs(hlc_avg - esa), inputLength) k = (hlc_avg - esa) / (0.015 * d) ci = ta.ema(k, avgLength) tci = ta.ema(ci, avgLength) // Moving average for trend detection trendMA = ta.sma(close, maLength) // Determine trend bullishTrend = close > trendMA bearishTrend = close < trendMA // Generate signals with trend filter crossUp = ta.crossover(tci, osLevel) crossDown = ta.crossunder(tci, obLevel) // Plot WaveTrend plot(tci, title="WaveTrend Line", color=color.new(color.blue, 0), linewidth=2) hline(obLevel, "Overbought", color=color.red, linestyle=hline.style_dotted) hline(osLevel, "Oversold", color=color.green, linestyle=hline.style_dotted) hline(0, "Zero Line", color=color.gray, linestyle=hline.style_solid) // Plot moving average for trend visualization plot(trendMA, title="Trend MA", color=color.orange, linewidth=1) // Plot buy and sell signals plotshape(showSignals and crossUp, title="Buy Signal", location=location.belowbar, style=shape.labelup, color=color.new(color.green, 0), size=size.small) plotshape(showSignals and crossDown, title="Sell Signal", location=location.abovebar, style=shape.labeldown, color=color.new(color.red, 0), size=size.small) // Alerts alertcondition(crossUp, title="Buy Alert", message="WaveTrend Buy Signal (Trend Confirmed)") alertcondition(crossDown, title="Sell Alert", message="WaveTrend Sell Signal (Trend Confirmed)") alertcondition(bullishTrend, title="bull", message="WaveTrend Sell Signal (Trend Confirmed)") alertcondition(bearishTrend, title="bear", message="WaveTrend Sell Signal (Trend Confirmed)") // Strategy logic if crossUp and bullishTrend strategy.entry("Long", strategy.long) if crossDown strategy.close("Long") if crossDown and bearishTrend strategy.entry("Short", strategy.short) if crossUp strategy.close("Short")