এটি ব্রেকআউট এবং অস্থিরতা স্টপ উপর ভিত্তি করে একটি প্রবণতা অনুসরণকারী কৌশল। কৌশলটি গতিশীল স্টপ লস লাইনের দামের ব্রেকআউট দ্বারা প্রবণতা দিক চিহ্নিত করে। এটি যখন দাম স্টপ লস লাইনে প্রবেশ করে তখন এটি ট্রেডে প্রবেশ করে এবং প্রবণতা ট্র্যাক করতে এবং মুনাফা লক করতে স্টপ লস লাইন ব্যবহার করে। কৌশলটি গতিশীল স্টপগুলির সাথে ঝুঁকি নিয়ন্ত্রণের সময় মাঝারি-দীর্ঘমেয়াদী প্রবণতা ক্যাপচার করার লক্ষ্য রাখে।
এই কৌশলটি ট্রেন্ডের দিকনির্দেশ এবং ট্র্যাক স্টপ লস নির্ধারণের জন্য ভোলাটিলিটি স্টপ সূচক ব্যবহার করে। ভোলাটিলিটি স্টপ মূল্যের ওঠানামা পরিসরের উপর ভিত্তি করে একটি গতিশীল স্টপ লস লাইন গণনা করে। নির্দিষ্ট পদক্ষেপগুলি হলঃ
স্টপ লস লাইন দামের সাথে উপরে এবং নীচে পরিবর্তিত হয়, একটি গতিশীল চ্যানেল গঠন করে।
যখন মূল্য স্টপ লস লাইনে প্রবেশ করে, তখন এটি একটি ট্রেন্ড বিপরীতের সংকেত দেয়।
খোলা পজিশনের পর, স্ট্র্যাটেজি স্টপ লস লাইন দিয়ে ট্র্যাক করেঃ
যখন মূল্য আবার স্টপ লস লাইনে আসবে, তখন পজিশনটি বন্ধ হয়ে যাবে।
এইভাবে, কৌশলটি ঝুঁকি নিয়ন্ত্রণের সাথে সাথে সময়মতো প্রবণতা অনুসরণ করতে পারে।
এই কৌশলটির নিম্নলিখিত সুবিধা রয়েছে:
এছাড়াও কিছু ঝুঁকি রয়েছে যা বিবেচনা করা উচিতঃ
সমাধান:
কৌশলটি নিম্নলিখিত দিকগুলিতে আরও অনুকূলিত করা যেতে পারেঃ
সামগ্রিকভাবে, অস্থিরতা স্টপ সহ এই গতির ব্রেকআউট কৌশলটি একটি খুব ব্যবহারিক প্রবণতা অনুসরণকারী সিস্টেম। এটি প্রবণতা বিপরীত সুযোগগুলি ক্যাপচার করতে পারে এবং গতিশীল স্টপগুলির সাথে কার্যকরভাবে ঝুঁকি নিয়ন্ত্রণ করার সময় প্রবণতা অনুসরণ করতে পারে। সঠিক পরামিতি টিউনিংয়ের সাথে, এটি ট্রেন্ডিং বাজারের সময় ভাল রিটার্ন অর্জন করতে পারে। তবে কিছু সমস্যা যেমন অতি সংবেদনশীল স্টপ, উচ্চ ট্রেডিং ফ্রিকোয়েন্সি ইত্যাদির মতো সমাধান করা দরকার। আরও অপ্টিমাইজেশন এটিকে একটি দক্ষ এবং শক্তিশালী পরিমাণ ট্রেডিং কৌশলতে পরিণত করতে পারে।
/*backtest start: 2023-11-11 00:00:00 end: 2023-11-12 00:00:00 period: 3m basePeriod: 1m exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ // This source code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/ //@version=4 strategy(shorttitle='Volatility Stop Strategy',title='Volatility Stop Strategy (by Coinrule)', overlay=true, initial_capital = 100, process_orders_on_close=true, default_qty_type = strategy.percent_of_equity, default_qty_value = 100, commission_type=strategy.commission.percent, commission_value=0.1) // Works better on 3h, 1h, 2h, 4h // Best time frame 2H //Backtest dates fromMonth = input(defval = 1, title = "From Month", type = input.integer, minval = 1, maxval = 12) fromDay = input(defval = 1, title = "From Day", type = input.integer, minval = 1, maxval = 31) fromYear = input(defval = 2021, title = "From Year", type = input.integer, minval = 1970) thruMonth = input(defval = 1, title = "Thru Month", type = input.integer, minval = 1, maxval = 12) thruDay = input(defval = 1, title = "Thru Day", type = input.integer, minval = 1, maxval = 31) thruYear = input(defval = 2112, title = "Thru Year", type = input.integer, minval = 1970) showDate = input(defval = true, title = "Show Date Range", type = input.bool) start = timestamp(fromYear, fromMonth, fromDay, 00, 00) // backtest start window finish = timestamp(thruYear, thruMonth, thruDay, 23, 59) // backtest finish window window() => time >= start and time <= finish ? true : false // create function "within window of time" length = input(20, "Length", minval = 2) src = input(close, "Source") factor = input(3.0, "vStop Multiplier", minval = 0.25, step = 0.25) volStop(src, atrlen, atrfactor) => var max = src var min = src var uptrend = true var stop = 0.0 atrM = nz(atr(atrlen) * atrfactor, tr) max := max(max, src) min := min(min, src) stop := nz(uptrend ? max(stop, max - atrM) : min(stop, min + atrM), src) uptrend := src - stop >= 0.0 if uptrend != nz(uptrend[1], true) max := src min := src stop := uptrend ? max - atrM : min + atrM [stop, uptrend] [vStop, uptrend] = volStop(src, length, factor) //Entry strategy.entry(id="long", long = true, when = crossover(close, vStop) and window()) //Exit strategy.close("long", when = crossunder(close, vStop)) plot(vStop,"Vstop", color.black, linewidth=2)