সুপার ট্রেন্ড ডুয়াল মুভিং এভারেজ কৌশল হল সুপার ট্রেন্ড সূচক এবং সহজ চলমান গড়ের উপর ভিত্তি করে একটি পরিমাণগত ট্রেডিং কৌশল। এই কৌশলটি বাজারের প্রবণতার দিক নির্ধারণের জন্য সুপার ট্রেন্ড সূচক ব্যবহার করে এবং তারপরে ফিল্টারিংয়ের জন্য 200 দিনের সহজ চলমান গড়কে একত্রিত করে, বড় প্রবণতার দিক দিয়ে দীর্ঘ এবং সংক্ষিপ্ত অবস্থানগুলি খোলার জন্য।
কৌশলটি দুটি সূচক ব্যবহার করেঃ
সুপার ট্রেন্ড ইন্ডিকেটর: এটি সত্যিকারের অস্থিরতা এটিআর এবং একটি গুণক উপর ভিত্তি করে উপরের এবং নীচের রেলগুলি গণনা করে। যখন বন্ধের দাম উপরের রেলের চেয়ে বেশি হয়, তখন এটি একটি উত্থান দৃষ্টিভঙ্গি নির্দেশ করে। যখন নিম্ন রেলের চেয়ে কম হয়, তখন এটি একটি bearish দৃষ্টিভঙ্গি নির্দেশ করে।
200 দিনের সহজ চলমান গড়ঃ এটি গত 200 দিনের মধ্যে বন্ধের দামের গাণিতিক গড় নেয়। যখন বন্ধের দাম এই লাইনের চেয়ে বেশি হয়, এটি একটি বড় উত্থান প্রবণতা প্রতিনিধিত্ব করে। যখন এই লাইনের নীচে হয়, এটি একটি বড় bearish প্রবণতা প্রতিনিধিত্ব করে।
কৌশলগত যুক্তি:
যখন সুপার ট্রেন্ড সূচক একটি উত্থান সংকেত দেয় (সুপার ট্রেন্ড মান 0 এর চেয়ে বড়) এবং বন্ধের মূল্য 200 দিনের এমএ এর চেয়ে বেশি হয়, তখন দীর্ঘ যান।
যখন সুপার ট্রেন্ড ইন্ডিকেটর একটি হ্রাসের সংকেত দেয় (সুপার ট্রেন্ড মান 0 এর চেয়ে কম) এবং বন্ধের মূল্য 200 দিনের এমএ এর চেয়ে কম হয়, তখন শর্ট যান।
যখন সুপার ট্রেন্ড ইন্ডিকেটর পূর্ববর্তীটির তুলনায় বিপরীত সংকেত দেয় তখন অবস্থানটি বন্ধ করুন।
স্টপ লস ২৫%।
কৌশলটি স্বল্পমেয়াদী প্রবণতা নির্ধারণের জন্য সুপার ট্রেন্ড সূচক এবং দীর্ঘমেয়াদী প্রবণতা নির্ধারণের জন্য 200 দিনের এমএকে একত্রিত করে, যা মিথ্যা ব্রেকআউটগুলি কার্যকরভাবে ফিল্টার করতে পারে, জয়ের হার উন্নত করার সময় ব্যবসায়ের ফ্রিকোয়েন্সি হ্রাস করতে পারে। একটি উল্লেখযোগ্য বাজারের প্রবণতায়, প্রবণতাটি বড় স্টপ লস স্পেস এবং মুনাফা লক্ষ্যমাত্রার সাথে যথেষ্ট স্পষ্ট।
এই কৌশলটির প্রধান ঝুঁকি হ'ল স্টপ লস রেঞ্জটি তুলনামূলকভাবে বড়। এটি উচ্চ লিভারেজ পরিস্থিতিতে জোরপূর্বক তরলীকরণের ঝুঁকি বাড়িয়ে তুলতে পারে। এছাড়াও, যখন বাজারটি রেঞ্জ-বদ্ধ থাকে, সুপার ট্রেন্ড সূচকটি অতিরিক্ত সংকেত তৈরি করবে, যার ফলে লেনদেনের ব্যয় এবং ট্রেডিং ফ্রিকোয়েন্সি বৃদ্ধি পাবে।
এটিআর সময়কাল, মাল্টিপ্লাইকার পরামিতি এবং স্টপ লস পরিসীমা যথাযথভাবে সামঞ্জস্য করে ঝুঁকি হ্রাস করা যেতে পারে।
কৌশলটি নিম্নলিখিত দিকগুলিতে অপ্টিমাইজ করা যেতে পারেঃ
সুপার ট্রেন্ড সূচকটি অপ্টিমাইজ করার জন্য ATR সময়কাল এবং গুণক পরামিতিগুলি সামঞ্জস্য করুন।
পরিবর্তনের জন্য EMA এবং VIDYA এর মতো অন্যান্য MA সূচক ব্যবহার করুন।
আরও সিগন্যাল ফিল্টারিংয়ের জন্য অন্যান্য সহায়ক সূচক যেমন BOLL চ্যানেল বা KD সূচক যোগ করুন।
স্টপ লস কৌশলকে অপ্টিমাইজ করুন, যেমন এটিকে উচ্চতর সময়সীমার স্তরের সাথে ব্রেক ইভেন পয়েন্টে বা ট্রেলিং স্টপে সরানো।
সামগ্রিকভাবে, এই কৌশলটি খুব ব্যবহারিক। এটি যুক্তিসঙ্গত স্টপ লস সেটিংসের সাথে স্বল্পমেয়াদী প্রবণতা বিচার এবং দীর্ঘমেয়াদী প্রবণতা বিচার উভয়কেই বিবেচনা করে। এটি পরামিতি সামঞ্জস্য এবং অপ্টিমাইজেশনের মাধ্যমে আরও ভাল ফলাফল অর্জন করতে পারে, যা বাস্তব ট্রেডিং যাচাইকরণ এবং প্রয়োগের মূল্যবান।
/*backtest start: 2023-12-16 00:00:00 end: 2024-01-15 00:00:00 period: 1h basePeriod: 15m exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ // This work is licensed under a Attribution-NonCommercial-ShareAlike 4.0 International (CC BY-NC-SA 4.0) https://creativecommons.org/licenses/by-nc-sa/4.0/ // © wielkieef //@version=5 strategy("Smart SuperTrend Strategy ", shorttitle="ST Strategy", overlay=true, pyramiding=1, initial_capital=10000, default_qty_type=strategy.percent_of_equity, default_qty_value=25, calc_on_order_fills=false, slippage=0, commission_type=strategy.commission.percent, commission_value=0.01) // Parametry wskaźnika SuperTrend atrLength = input(10, title="Lenght ATR") factor = input(3.0, title="Mult.") // Parametry dla SMA lengthSMA = input(200, title="Lenght SMA") // Parametry dla Stop Loss sl = input.float(25.0, '% Stop Loss', step=0.1) // Obliczanie ATR atr = ta.atr(atrLength) // Obliczanie podstawowej wartości SuperTrend up = hl2 - (factor * atr) dn = hl2 + (factor * atr) // Obliczanie 200-SMA sma200 = ta.sma(close, lengthSMA) // Inicjalizacja zmiennych var float upLevel = na var float dnLevel = na var int trend = na var int trendWithFilter = na // Logika SuperTrend upLevel := close[1] > upLevel[1] ? math.max(up, upLevel[1]) : up dnLevel := close[1] < dnLevel[1] ? math.min(dn, dnLevel[1]) : dn trend := close > dnLevel[1] ? 1 : close < upLevel[1] ? -1 : nz(trend[1], 1) // Filtr SMA i aktualizacja trendWithFilter trendWithFilter := close > sma200 ? math.max(trend, 0) : math.min(trend, 0) // Logika wejścia longCondition = trend == 1 shortCondition = trend == -1 // Wejście w pozycje if (longCondition) and close > sma200 strategy.entry("Long", strategy.long) if (shortCondition) and close < sma200 strategy.entry("Short", strategy.short) // Warunki zamknięcia pozycji Long_close = trend == -1 and close > sma200 Short_close = trend == 1 and close < sma200 // Zamknięcie pozycji if (Long_close) strategy.close("Long") if (Short_close) strategy.close("Short") // Kolory superTrendu z filtrem sma200 trendColor = trendWithFilter == 1 ? color.green : trendWithFilter == -1 ? color.red : color.blue //ploty plot(trendWithFilter == 1 ? upLevel : trendWithFilter == -1 ? dnLevel : na, color=trendColor, title="SuperTrend") // Stop Loss ( this code is from author RafaelZioni, modified by wielkieef ) per(procent) => strategy.position_size != 0 ? math.round(procent / 100 * strategy.position_avg_price / syminfo.mintick) : float(na) // -------------------------------------------------------------------------------------------------------------------- strategy.exit('SL',loss=per(sl)) //by wielkieef