রেঞ্জ ব্রেকআউটের উপর ভিত্তি করে দ্বিমুখী ট্রেন্ড ট্র্যাকিং কৌশল

লেখক:চাওঝাং, তারিখঃ 2024-02-01 14:22:26
ট্যাগঃ

img

সারসংক্ষেপ

এই কৌশলটি সর্বশেষ সর্বোচ্চ মূল্য (শেষ বুল) এবং সর্বশেষ সর্বনিম্ন মূল্য (শেষ বিয়ার) গণনা করে। এটি তারপরে বর্তমান মূল্যকে শেষ বুল এবং শেষ বিয়ারের সাথে তুলনা করে নির্ধারণ করে যে দামটি একটি নির্দিষ্ট পরিসরে প্রবেশ করেছে কিনা এবং এইভাবে ট্রেডিং সংকেত তৈরি করে। যখন দামটি নির্দিষ্ট শতাংশে শেষ বুলের উপরে উঠে যায় তখন এটি দীর্ঘ হয় এবং যখন দামটি নির্দিষ্ট শতাংশে শেষ বিয়ারের নীচে পড়ে তখন এটি সংক্ষিপ্ত হয়।

কৌশলগত যুক্তি

কৌশলটি প্রথমে সর্বশেষ সর্বোচ্চ মূল্য lastbull এবং সর্বশেষ সর্বনিম্ন মূল্য lastbear গণনা করে। তারপর এটি lastbull এর তুলনায় বর্তমান মূল্য বন্ধের পরিবর্তনের শতাংশ ddl এবং lastbear এর তুলনায় পরিবর্তনের শতাংশ dds গণনা করে।

যখন ddl কনফিগার করা লং সিগন্যাল থ্রেশহোল্ড সিগন্যাললং এর চেয়ে কম হয়, তখন একটি লং সিগন্যাল আপ তৈরি হয়। যখন dds কনফিগার করা সংক্ষিপ্ত সিগন্যাল থ্রেশহোল্ড সিগন্যালশর্ট এর চেয়ে বেশি হয়, তখন একটি সংক্ষিপ্ত সিগন্যাল dn তৈরি হয়।

লং সিগন্যাল পাওয়ার পরে, এটি দীর্ঘ অবস্থান খোলে যদি প্রান্তিক প্যারামিটারটি সত্য হয়। সংক্ষিপ্ত সংকেত পাওয়ার পরে, এটি সংক্ষিপ্ত অবস্থান খোলে যদি প্রান্তিক প্যারামিটারটি সত্য হয়। অবস্থান আকার মূলধন অ্যাকাউন্ট ইক্যুইটি থেকে গণনা করা হয়।

এটি লং পজিশন বন্ধ করে দেয় যখন লং পজিশন খোলার পর দাম বেড়ে যায় এবং লং পজিশন খোলার পর দাম কমে গেলে শর্ট পজিশন বন্ধ করে দেয়।

সুবিধা বিশ্লেষণ

এই কৌশলটি প্রবণতা এবং ব্যাপ্তি বিশ্লেষণকে একত্রিত করে। এটি প্রবণতা ধরতে পারে এবং ব্যাপ্তি ব্রেকআউট থেকে ট্রেডিং সংকেত তৈরি করতে পারে। সহজ প্রবণতা ট্র্যাকিং কৌশলগুলির তুলনায়, এটি ব্যাপ্তি ব্রেকআউটের পরে দ্রুত নতুন প্রবণতা দিক ধরতে পারে।

বিভিন্ন পণ্যের জন্য পরামিতিগুলি অত্যন্ত কনফিগারযোগ্য। উল্লেখযোগ্য ঘটনা এড়ানোর জন্য ট্রেডিং সময় পরিসীমা কনফিগার করা যেতে পারে।

ঝুঁকি বিশ্লেষণ

এই কৌশলটিতে প্রতি ট্রেডের ক্ষতি সীমাবদ্ধ করার জন্য কোনও স্টপ লস প্রক্রিয়া নেই। ট্রেডিং ব্যাপ্তি যখন বড় হয় তখন পজিশন সাইজিং দামের ওঠানামা দ্বারা ব্যাপকভাবে প্রভাবিত হতে পারে।

স্টপ লস প্রতি ট্রেড ক্ষতি সীমাবদ্ধ করতে যোগ করা যেতে পারে। অবস্থান আকার অ্যালগরিদম অবস্থান আকার স্থিতিশীল করতে পণ্য উপর ভিত্তি করে কাস্টমাইজ করা যেতে পারে।

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

  1. ট্রেড হারের ঝুঁকি প্রতি নিয়ন্ত্রণে চলমান স্টপ লস যোগ করুন
  2. অবস্থান আকারের অ্যালগরিদম উন্নত করুন, উদাহরণস্বরূপ অবস্থান আকার স্থিতিশীল করতে ATR ব্যবহার করুন
  3. এন্ট্রি সিগন্যালের জন্য ফিল্টারিং যোগ করুন, উদাহরণস্বরূপ শুধুমাত্র যখন গোল্ডেন ক্রস ঘটে তখন প্রবেশ করুন
  4. কম সিস্টেমিক ঝুঁকিতে সম্পর্কিত একাধিক পণ্যের সাথে ট্রেড করুন

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

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


/*backtest
start: 2023-01-25 00:00:00
end: 2024-01-31 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//Noro
//2019

//@version=4
strategy(title = "Noro's DDL Strategy", shorttitle = "DDL str", overlay = false, default_qty_type = strategy.percent_of_equity, default_qty_value = 100, pyramiding = 3)

//Settings
needlong = input(true, title = "Long")
needshort = input(true, title = "Short")
capital = input(100, defval = 100, minval = 1, maxval = 10000, title = "Lot")
signalshort = input(3.0, title = "Short, %")
signallong = input(-3.0, title = "Long, %")
fromyear = input(1900, defval = 1900, minval = 1900, maxval = 2100, title = "From Year")
toyear = input(2100, defval = 2100, minval = 1900, maxval = 2100, title = "To Year")
frommonth = input(01, defval = 01, minval = 01, maxval = 12, title = "From Month")
tomonth = input(12, defval = 12, minval = 01, maxval = 12, title = "To Month")
fromday = input(01, defval = 01, minval = 01, maxval = 31, title = "From day")
today = input(31, defval = 31, minval = 01, maxval = 31, title = "To day")

//Levels
bull = close > close[1] ? 1 : 0
bear = close < close[1] ? 1 : 0
lastbull = 0.0
lastbull := bull ? close : lastbull[1]
lastbear = 0.0
lastbear := bear ? close : lastbear[1]

//Signals
ddl = ((close / lastbull) - 1) * 100
up = ddl < signallong
dds = ((close / lastbear) - 1) * 100
dn = dds > signalshort

//Lines
plot(dds, style = plot.style_area, color = color.red, transp = 0)
plot(ddl, style = plot.style_area, color = color.lime, transp = 0)
plot(0, color = color.black, linewidth = 2, transp = 0)

//Background
col = (up and needlong) or (dn and needshort) ? color.yellow : na
bgcolor(col, transp = 20)

//Orders
lot = 0.0
lot := strategy.position_size == 0 ? strategy.equity / close * capital / 100 : lot[1]
truetime = true
if up
    strategy.entry("Long", strategy.long, lot, when = needlong and truetime)
if dn
    strategy.entry("Short", strategy.short, lot, when = needshort and truetime)
if strategy.position_size > 0 and close > open
    strategy.entry("Close", strategy.short, 0)
if strategy.position_size < 0 and close < open
    strategy.entry("Close", strategy.long, 0)

আরো