সুপার এটিআর ট্রেন্ড অনুসরণকারী কৌশল একটি এটিআর সূচক ভিত্তিক ট্রেন্ড অনুসরণকারী কৌশল। এটি বাজারের অস্থিরতা পরিমাপ করতে এটিআর সূচক ব্যবহার করে এবং ট্রেন্ডগুলি ট্র্যাক করার জন্য একাধিক এটিআর ভিত্তিক স্টপ লস সেট করে।
কৌশলটি প্রথমে ATR সূচকটি গণনা করে, যা গত N দিনের দামের অস্থিরতার চলমান গড়, বাজারের ঝুঁকি এবং অস্থিরতার প্রতিনিধিত্ব করতে। কৌশলটি আমাদের ATR গণনার পদ্ধতি পরিবর্তন করতে দেয়, নিয়মিত ATR বা SMA।
তারপর উপরের এবং নীচের ব্যান্ডগুলি একটি ফ্যাক্টর দ্বারা গুণিত ATR মানের উপর ভিত্তি করে গণনা করা হয়, অর্থাৎঃclose - Multiplier * ATR
উপরের ব্যান্ডের জন্য;close + Multiplier * ATR
এটি একটি এটিআর ভিত্তিক ট্রেন্ড চ্যানেল গঠন করে।
আমরা তখন বিচার করি যে বর্তমান মূল্য চ্যানেলের উপরের বা নীচের ব্যান্ডটি ভেঙে ফেলেছে কিনা। যদি দাম উপরের ব্যান্ডটি ভেঙে দেয় তবে এটি একটি ডাউনট্রেন্ডে প্রবেশের মতো বিচার করা হয়; যদি দাম নীচের ব্যান্ডটি ভেঙে দেয় তবে এটি একটি আপট্রেন্ডে প্রবেশের মতো বিচার করা হয়। যখন একটি প্রবণতা ব্রেকআউট হয়, আমরা সংশ্লিষ্ট কিনতে এবং বিক্রি করি।
এছাড়া, কৌশলটি শুধুমাত্র নির্দিষ্ট তারিখের সময়সীমার মধ্যে বাণিজ্য করার জন্য একটি ট্রেডিং সময় উইন্ডো নির্ধারণ করেছে।
এই সূচক চ্যানেল ভিত্তিক প্রবণতা অনুসরণ কৌশল নিম্নলিখিত সুবিধা আছেঃ
সাধারণভাবে, এটি একটি সহজ এবং ব্যবহারিক প্রবণতা যা কৌশল অনুসরণ করে কার্যকরভাবে ঝুঁকি নিয়ন্ত্রণ করতে পারে এবং ভাল রিটার্ন অর্জন করতে পারে।
এই কৌশলটির কিছু ঝুঁকিও রয়েছেঃ
এই ঝুঁকিগুলি নিয়ন্ত্রণ করতে, আমরা নিম্নলিখিত ব্যবস্থা গ্রহণ করতে পারিঃ
এই কৌশল আরও উন্নত করার সুযোগ রয়েছেঃ
এই অপ্টিমাইজেশানগুলি কৌশলটির স্থিতিশীলতা এবং লাভজনকতা আরও উন্নত করতে পারে।
সামগ্রিকভাবে এটি একটি খুব ব্যবহারিক প্রবণতা অনুসরণকারী কৌশল। এটি এটিআর সূচক ব্যবহার করে একটি অভিযোজিত চ্যানেল তৈরি করে এবং চ্যানেল ব্রেকআউট দ্বারা এন্ট্রিগুলি নির্ধারণ করে। কৌশলটি ঝুঁকি নিয়ন্ত্রণের জন্য সহজ এবং কার্যকর, মাঝারি-দীর্ঘমেয়াদী প্রবণতা ট্র্যাকিংয়ের জন্য উপযুক্ত। আমরা কৌশলটিকে আরও শক্তিশালী করার জন্য আরও ঝুঁকি নিয়ন্ত্রণ এবং অপ্টিমাইজেশান পরামর্শও প্রস্তাব করেছি।
/*backtest start: 2023-02-12 00:00:00 end: 2024-02-18 00:00:00 period: 1d basePeriod: 1h exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=5 strategy('B厂长 @超级趋势精简优化版', overlay=true) Periods = input(title='ATR周期', defval=10) src = input(hl2, title='价格数据源') Multiplier = input.float(title='ATR 乘数', step=0.1, defval=3.0) changeATR = input(title='更改ATR计算方法', defval=true,tooltip = '默认为art否则sma(ta.tr,ATR周期)') showsignals = input(title='显示买入/卖出信号', defval=false) atr2 = ta.sma(ta.tr, Periods) atr = changeATR ? ta.atr(Periods) : atr2 up = src - Multiplier * atr up1 = nz(up[1], up) up := close[1] > up1 ? math.max(up, up1) : up dn = src + Multiplier * atr dn1 = nz(dn[1], dn) dn := close[1] < dn1 ? math.min(dn, dn1) : dn trend = 1 trend := nz(trend[1], trend) trend := trend == -1 and close > dn1 ? 1 : trend == 1 and close < up1 ? -1 : trend upPlot = plot(trend == 1 ? up : na, title='上涨趋势', style=plot.style_linebr, linewidth=2, color=color.new(color.green, 0)) buySignal = trend == 1 and trend[1] == -1 plotshape(buySignal and showsignals ? up : na, title='买点', text='买点', location=location.absolute, style=shape.labelup, size=size.tiny, color=color.new(color.green, 0), textcolor=color.new(color.white, 0)) dnPlot = plot(trend == 1 ? na : dn, title='下跌趋势', style=plot.style_linebr, linewidth=2, color=color.new(color.red, 0)) sellSignal = trend == -1 and trend[1] == 1 plotshape(sellSignal and showsignals ? dn : na, title='卖点', text='卖点', location=location.absolute, style=shape.labeldown, size=size.tiny, color=color.new(color.red, 0), textcolor=color.new(color.white, 0)) FromMonth = input.int(defval=9, title='From Month', minval=1, maxval=12) FromDay = input.int(defval=1, title='From Day', minval=1, maxval=31) FromYear = input.int(defval=2018, title='From Year', minval=999) ToMonth = input.int(defval=1, title='To Month', minval=1, maxval=12) ToDay = input.int(defval=1, title='To Day', minval=1, maxval=31) ToYear = input.int(defval=9999, title='To Year', minval=999) start = timestamp(FromYear, FromMonth, FromDay, 00, 00) finish = timestamp(ToYear, ToMonth, ToDay, 23, 59) window() => time >= start and time <= finish ? true : false longCondition = buySignal if longCondition and window() strategy.entry('BUY', strategy.long, comment = '做多') shortCondition = sellSignal if shortCondition and window() strategy.entry('SAL', strategy.short, comment = '做空') buy1 = ta.barssince(buySignal) sell1 = ta.barssince(sellSignal) color1 = buy1[1] < sell1[1] ? color.green : buy1[1] > sell1[1] ? color.red : na