মূল্যের অস্থিরতার উপর ভিত্তি করে ট্রেন্ড-অনুসরণকারী স্টপ-লস কৌশল


সৃষ্টির তারিখ: 2023-12-01 17:53:36 অবশেষে সংশোধন করুন: 2023-12-01 17:53:36
অনুলিপি: 6 ক্লিকের সংখ্যা: 666
1
ফোকাস
1619
অনুসারী

মূল্যের অস্থিরতার উপর ভিত্তি করে ট্রেন্ড-অনুসরণকারী স্টপ-লস কৌশল

ওভারভিউ

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

কৌশল নীতি

এই কৌশলটি প্রথমে একটি নির্দিষ্ট সময়কালের জন্য গড় প্রকৃত ওঠানামার এটিআর গণনা করে। তারপরে, বর্তমান মূল্য প্রবণতার দিকনির্দেশের উপর ভিত্তি করে, যদি এটি একটি উত্থান হয় তবে স্টপলাইনটি বর্তমান সর্বোচ্চ মূল্যের n গুণ কম ATR হিসাবে সেট করা হয়। যদি এটি একটি পতন হয় তবে স্টপলাইনটি বর্তমান সর্বনিম্ন মূল্যের n গুণ বেশি ATR হিসাবে সেট করা হয়। যার n মানটি প্যারামিটার দ্বারা সামঞ্জস্য করা যেতে পারে যা স্টপলাইন এবং দামের দূরত্ব নিয়ন্ত্রণের জন্য ব্যবহৃত হয়।

যখন দাম একটি উত্থান প্রবণতা স্টপ লাইন অতিক্রম বা একটি পতন প্রবণতা স্টপ লাইন অতিক্রম করে, একটি প্রবণতা পরিবর্তন নির্ধারণ করা হয়। এই সময়ে কৌশলটি পজিশন বন্ধ করে দেয় এবং নতুন প্রবণতা দিক অনুযায়ী একটি নতুন স্টপ লাইন সেট করে।

সামগ্রিকভাবে, এই কৌশলটি মূল্যের অস্থিরতা ব্যবহার করে স্টপ লিন্ড সেট করার ক্ষমতা অর্জন করে যা ট্রেন্ডের পরিবর্তনের সুনির্দিষ্ট বিচার করার ক্ষমতা অর্জন করে। যখন ট্রেন্ড পরিবর্তিত হয় তখন সময়মতো স্টপ লস কৌশলটিকে নতুন ট্রেন্ডের দিকটি ধরতে সহায়তা করে।

কৌশলগত সুবিধা

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

কৌশলগত ঝুঁকি

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

কৌশল অপ্টিমাইজেশন

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

সারসংক্ষেপ

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

কৌশল সোর্স কোড
/*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)