ভোলাটিলিটি স্টপ ট্র্যাকিং কৌশল

লেখক:চাওঝাং, তারিখ: ২০২৩-১২-০১ ১৭ঃ৫৩ঃ৩৬
ট্যাগঃ

img

সারসংক্ষেপ

এটি একটি ট্রেন্ড ট্র্যাকিং স্টপ লস কৌশল যা দামের অস্থিরতার উপর ভিত্তি করে। এটি মূল্যের ওঠানামা জন্য স্টপ লস লাইন সেট করতে গড় সত্য পরিসীমা (এটিআর) ব্যবহার করে। এটিআর দামের অস্থিরতা এবং ঝুঁকি স্তর প্রতিফলিত করে। যখন দাম স্টপ লস লাইন অতিক্রম করে, কৌশলটি প্রবণতা বিপরীত বিচার করে এবং পজিশন খোলার জন্য সংশ্লিষ্ট পদক্ষেপ নেয় বা ক্ষতি বন্ধ করে।

কৌশল নীতি

কৌশলটি প্রথমে একটি নির্দিষ্ট সময়ের জন্য গড় সত্য পরিসীমা (এটিআর) গণনা করে। তারপরে বর্তমান মূল্য প্রবণতা দিকের উপর ভিত্তি করে, যদি এটি একটি আপট্রেন্ড হয় তবে স্টপ লস লাইনটি বর্তমান সর্বোচ্চ মূল্য বিয়োগ এন গুণ এটিআর তে সেট করা হয়; যদি এটি একটি ডাউনট্রেন্ড হয় তবে স্টপ লস লাইনটি বর্তমান সর্বনিম্ন মূল্য প্লাস এন গুণ এটিআর তে সেট করা হয়। স্টপ লস লাইন এবং দামের মধ্যে দূরত্ব নিয়ন্ত্রণের জন্য এন মানটি পরামিতিগুলির মাধ্যমে সামঞ্জস্য করা যেতে পারে।

যখন মূল্য আপট্রেন্ড বা ডাউনট্রেন্ডের স্টপ লস লাইনটি ভেঙে যায়, তখন প্রবণতাটি পরিবর্তিত হয়েছে বলে মনে করা হয়। এই সময়ে, কৌশলটি স্টপ লসের জন্য অবস্থানগুলি পরিষ্কার করে এবং নতুন প্রবণতার দিকের উপর ভিত্তি করে একটি নতুন স্টপ লস লাইন সেট করে।

সংক্ষেপে, কৌশলটি প্রবণতা পরিবর্তনের সময় সঠিক বিচার অর্জনের জন্য স্টপ লস লাইন সেট করতে মূল্যের অস্থিরতা ব্যবহার করে। প্রবণতা পরিবর্তনের সময় সময়মত স্টপ লস কৌশলটি নতুন প্রবণতার দিক বুঝতে সহায়তা করে।

কৌশলটির সুবিধা

  • প্রবণতা মূল্যায়ন এবং সঠিকভাবে মূল্য বাঁক পয়েন্ট বুঝতে মূল্যের অস্থিরতা বৈশিষ্ট্য ব্যবহার করুন
  • বাজারের বিপর্যয়ের ঝুঁকি কমাতে সময়মত হ্রাস এবং অবস্থান পরিবর্তন করা
  • স্টপ লস লাইন এবং মূল্যের ওঠানামা মধ্যে নিয়ন্ত্রণ দূরত্বের জন্য নমনীয় পরামিতি সমন্বয়
  • আরও ভাল অভিযোজনযোগ্যতার জন্য নির্দিষ্ট পণ্যগুলির জন্য পরামিতিগুলি অপ্টিমাইজ করা যেতে পারে

কৌশলটির ঝুঁকি

  • অবৈধ ব্রেকআউটের কারণে ভুল মূল্যায়নের ঝুঁকি। দামের অনিশ্চিত অবৈধ ব্রেকআউটের কারণ হতে পারে, যা প্রবণতা পরিবর্তনের ভুল মূল্যায়ন সৃষ্টি করে
  • অত্যধিক আক্রমণাত্মক পরামিতি সেটিংস ক্ষতি বৃদ্ধি করতে পারে। উদাহরণস্বরূপ, যখন n মান খুব বড়, স্টপ লস লাইন খুব কাছাকাছি এবং ছোট ওঠানামা এটি সক্রিয় করতে পারে
  • স্টপ লস প্রভাব কম অস্থিরতা পণ্য যেমন মুদ্রা জন্য খারাপ হতে পারে। ছোট ATR মান মানে স্টপ লস লাইন দাম কাছাকাছি হয়

অপ্টিমাইজেশান নির্দেশাবলী

  • অবৈধ ব্রেকআউটের ভুল মূল্যায়ন এড়াতে ট্রেডিং ভলিউম বা অস্থিরতা ত্বরণ মত সহায়ক সূচক প্রবর্তন করা যেতে পারে
  • স্টপ লস দূরত্বকে আরও উপযুক্ত করার জন্য বিভিন্ন পণ্যের বৈশিষ্ট্যগুলির উপর ভিত্তি করে এন মান সামঞ্জস্য করুন
  • মূল্য ব্যবধানের অস্থিরতা বিচার করার জন্য সবচেয়ে উপযুক্ত সময়ের পরামিতি নির্বাচন করতে ATR সময়কালও অপ্টিমাইজ করা যেতে পারে

সংক্ষিপ্তসার

সামগ্রিকভাবে, এটি মূল্যের অস্থিরতার উপর ভিত্তি করে স্টপ লস লাইন সেট করার জন্য একটি ভাল অ্যালগরিদম বাস্তবায়ন। মূল্যের প্রবণতা বিচার করার ক্ষেত্রে এর নির্ভুলতা উচ্চ এবং এটি প্রবণতার মূল বাঁক পয়েন্টগুলি ক্যাপচার করতে পারে। এটি আরও ভাল অভিযোজনযোগ্যতার জন্য পরামিতি টিউনিংয়ের জন্য কিছু জায়গা সরবরাহ করে। স্টপ লস কৌশল হিসাবে, এটি কার্যকরভাবে বাজারের বিপরীতমুখী ঝুঁকি এড়াতে পারে এবং লাইভ ট্রেডিংয়ে প্রয়োগ করার মতো।


/*backtest
start: 2022-11-30 00:00:00
end: 2023-11-30 00:00:00
period: 1d
basePeriod: 1h
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/
// © laptevmaxim92

//@version=4
strategy("Volatility stop strategy", overlay=true)

length = input(20)
mult = input(2, step = 0.1)
utp = input(false, "Use take profit?")
pr = input(100, "Take profit pips")
usl = input(false, "Use stop loss?")
sl = input(100, "Stop loss pips")
fromday = input(01, defval=01, minval=01, maxval=31, title="From Day")
frommonth = input(01, defval=01, minval= 01, maxval=12, title="From Month")
fromyear = input(2000, minval=1900, maxval=2100, title="From Year")
today = input(31, defval=01, minval=01, maxval=31, title="To Day")
tomonth = input(12, defval=12, minval=01, maxval=12, title="To Month")
toyear = input(2039, minval=1900, maxval=2100, title="To Year")

use_date = (time > timestamp(fromyear, frommonth, fromday, 00, 00) and time < timestamp(toyear, tomonth, today, 00, 00))

atr_ = atr(length)
max_ = 0.0
min_ = 0.0
max1 = 0.0
max1 := max(nz(max_[1]), close)
min1 = 0.0
min1 := min(nz(min_[1]), close)
vstop = 0.0
is_uptrend = false
is_uptrend_prev = false
is_uptrend_prev := nz(is_uptrend[1], true)
stop = is_uptrend_prev ? max1 - mult * atr_ : min1 + mult * atr_
vstop_prev = nz(vstop[1])
vstop1 = is_uptrend_prev ? max(vstop_prev, stop) : min(vstop_prev, stop)
is_uptrend := close - vstop1 >= 0
is_trend_changed = is_uptrend != is_uptrend_prev
max_ := is_trend_changed ? close : max1
min_ := is_trend_changed ? close : min1
vstop := is_trend_changed ? is_uptrend ? max_ - mult * atr_ : min_ + mult * atr_ : vstop1
plot(vstop, color = is_uptrend ? color.green : color.red, linewidth=2)

longCondition = is_uptrend
if (longCondition and use_date)
    strategy.entry("BUY", strategy.long)

shortCondition = not is_uptrend
if (shortCondition and use_date)
    strategy.entry("SELL", strategy.short)
    
if (utp and not usl)
    strategy.exit("TP", "BUY", profit = pr)
    strategy.exit("TP", "SELL", profit = pr)
    
if (usl and not utp)
    strategy.exit("SL", "BUY", loss = sl)
    strategy.exit("SL", "SELL", loss = sl)
    
if (usl and utp)
    strategy.exit("TP/SL", "BUY", loss = sl, profit = pr)
    strategy.exit("TP/SL", "SELL", loss = sl, profit = pr)

আরো