
গতিশীল দ্বি-সমতুল্য ট্রেডিং কৌশল হ’ল একটি সংক্ষিপ্ত ট্রেডিং কৌশল যা দামের গতিশীলতা এবং প্রবণতা সূচকগুলি ব্যবহার করে। এই কৌশলটি সমাপ্তির মূল্য, খোলার মূল্য, মূল্য চ্যানেল, দ্রুত আরএসআই ইত্যাদির মতো একাধিক সূচক ব্যবহার করে ট্রেডিং সংকেত উত্পন্ন করে। যখন দামের ব্রেকডাউন বা সূচক সংকেত আসে তখন কৌশলটি দীর্ঘ বা সংক্ষিপ্ত অবস্থান স্থাপন করে। এছাড়াও, এই কৌশলটি স্টপ লস শর্তও নির্ধারণ করে, যখন ক্ষতির পরিমাণ একটি নির্দিষ্ট পরিমাণে পৌঁছে যায় তখন পজিশনটি সমতল করতে বাধ্য করে।
এই কৌশলটি মূলত নিম্নলিখিত কয়েকটি মূল্যায়ন সূচকের উপর ভিত্তি করে লেনদেন করেঃ
মূল্য চ্যানেলঃ গত 30 টি কে লাইনের সর্বোচ্চ এবং সর্বনিম্ন মূল্য গণনা করে চ্যানেলের পরিধি বের করা হয়েছে। যখন বন্ধের মূল্য চ্যানেলের মধ্যবর্তী লাইনের চেয়ে বেশি হয় তখন এটি একটি মুনাফা হিসাবে বিবেচিত হয় এবং যখন বন্ধের মূল্য চ্যানেলের মধ্যবর্তী লাইনের চেয়ে কম হয় তখন এটি একটি পতন হিসাবে বিবেচিত হয়।
দ্রুত আরএসআইঃ ২টি কে-লাইনের আরএসআই মান গণনা করা হয়, আরএসআই ২৫ এর নিচে ওভারসোল্ড এবং ৭৫ এর উপরে ওভারবোল্ড হিসেবে গণনা করা হয়।
সূর্যোদয় রেখা বিচারঃ গণনা শেষ 2 K রেখার সত্তা আকার। 2 সূর্যোদয় রেখা একটি bearish সংকেত হিসাবে গণনা করা হয়, 2 সূর্যোদয় রেখা একটি bullish সংকেত হিসাবে গণনা করা হয়।
স্টপ লস শর্তঃ যখন ক্ষতির একটি নির্দিষ্ট অনুপাত পৌঁছায় তখন স্টপ লস প্লেইন বাধ্যতামূলক করা হয়।
উপরোক্ত বিভিন্ন বিচারক সূচকের উপর ভিত্তি করে, কৌশলটি একই সাথে প্রবণতা, গতিশীলতা এবং ওভারবাইট ওভারসোলের উপর নিয়ন্ত্রণ রাখতে পারে, বিপরীত পয়েন্টের সময়ে ট্রেডিং সিগন্যাল তৈরি করে, যা একটি সাধারণ সংক্ষিপ্ত ট্রেডিং কৌশল।
এই কৌশলটির বেশ কিছু সুবিধা রয়েছেঃ
একই সময়ে, একাধিক সূচক ব্যবহার করে, সিগন্যালের নির্ভুলতা বাড়ানো যায়। একক সূচকটি মিথ্যা সংকেত তৈরি করতে পারে, সংমিশ্রণটি একে অপরকে যাচাই করতে পারে, কিছু গোলমাল ফিল্টার করতে পারে।
দ্রুত আরএসআই আরও সংবেদনশীল, সময়মত টার্নিং পয়েন্ট ক্যাপচার করতে পারে। সাধারণ আরএসআই সহজেই পিছিয়ে যায় এবং সেরা প্রবেশের সময়টি মিস করে।
কৌশলগত পরামিতিগুলি একাধিক পরীক্ষার পরে অপ্টিমাইজ করা হয়েছে, উচ্চ স্থায়িত্ব অর্জন করেছে। বিভিন্ন জাত এবং সময়কালের উপর নির্ভরযোগ্য।
স্বয়ংক্রিয় ক্ষতি বন্ধ ব্যবস্থা ক্ষতি নিয়ন্ত্রণ করে। অনির্দিষ্টকালের জন্য অনুসরণ করা হয় না, যা প্রত্যাশার চেয়ে বেশি ক্ষতি হ্রাস করতে পারে।
এই কৌশলটির কিছু ঝুঁকি রয়েছে যা সম্পর্কে সতর্ক থাকা দরকারঃ
প্রাইস চ্যানেলের প্যারামিটারগুলি ভুলভাবে সেট করা শক সৃষ্টি করতে পারে। যদি চ্যানেলের ব্যাসার্ধটি খুব ছোট হয় তবে ভুয়া ব্রেকআউটের ঝুঁকি থাকে।
একতরফা অবস্থান ধরে রাখার সময়টি খুব দীর্ঘ হতে পারে। প্রবণতা খুব শক্তিশালী হলে, অবস্থান ধরে রাখার সময়কাল প্রত্যাশার চেয়ে বেশি হবে।
স্টপ লস পয়েন্টটি ভুলভাবে সেট করা হলে ক্ষতির পরিমাণ বাড়তে পারে। এই প্যারামিটারটি সাবধানতার সাথে সেট করা দরকার, খুব বড় বা খুব ছোট উভয়ই খারাপ।
উপরের ঝুঁকিগুলি এড়ানো এবং হ্রাস করা যেতে পারে, প্রবেশের সময়কে অনুকূলিতকরণ এবং স্টপ লস পয়েন্টকে গতিশীলভাবে সামঞ্জস্য করে।
এই কৌশলটির আরও কয়েকটি দিক রয়েছে যা উন্নত করা যেতে পারেঃ
মেশিন লার্নিং অ্যালগরিদম যোগ করা, প্যারামিটারগুলির স্বয়ংক্রিয় অপ্টিমাইজেশান করা। আরও বুদ্ধিমান এবং অভিযোজিত কৌশল প্রশিক্ষণ দেওয়া যেতে পারে।
এই তথ্যগুলোকে আরও তথ্যের উৎস হিসেবে ব্যবহার করা হচ্ছে, যেমন নিউজফেস তথ্য, যা ট্রেডিং সিদ্ধান্তের ক্ষেত্রে সাহায্য করে।
ডায়নামিক পজিশন ম্যানেজমেন্ট ম্যানেজমেন্ট সিস্টেম তৈরি করুন যা বাজারের অবস্থার উপর ভিত্তি করে পজিশনগুলি স্বয়ংক্রিয়ভাবে সামঞ্জস্য করে। এটি ঝুঁকি নিয়ন্ত্রণ করতে পারে।
ফরচার্ড অ্যারিগ্যান্ট ট্রেডিং বাড়ানো, কৌশল প্রয়োগের সুযোগ বিস্তৃত করা। এটি উচ্চতর পরম আয় অর্জন করতে পারে।
এই কৌশলটি মূল্যের ব্রেকআউট, সূচক সংকেত, স্টপ লস আউট ইত্যাদির মতো একাধিক প্রযুক্তিগত উপায় ব্যবহার করে। এটি পুনরাবৃত্তি এবং রিয়েল-টাইম প্রক্রিয়াতে ভাল পারফরম্যান্স করে এবং উচ্চ স্থিতিশীলতা রয়েছে। অ্যালগরিদম এবং ডেটা প্রযুক্তির বিকাশের সাথে সাথে কৌশলটি আরও উন্নত এবং উন্নত করার জন্য প্রচুর জায়গা রয়েছে।
/*backtest
start: 2023-11-23 00:00:00
end: 2023-11-30 00:00:00
period: 30m
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//Noro
//2018
//@version=2
strategy(title = "Noro's Price Channel Strategy v1.2", shorttitle = "Price Channel str 1.2", overlay=true, default_qty_type = strategy.percent_of_equity, default_qty_value = 100, pyramiding = 0)
//Settings
needlong = input(true, defval = true, title = "Long")
needshort = input(true, defval = true, title = "Short")
capital = input(100, defval = 100, minval = 1, maxval = 100000, title = "capital, %")
uset = input(true, defval = true, title = "Use trend entry")
usect = input(true, defval = true, title = "Use counter-trend entry")
usersi = input(true, defval = true, title = "Use RSI strategy")
pch = input(30, defval = 30, minval = 2, maxval = 200, title = "Price Channel Period")
showcl = input(true, defval = true, title = "Price Channel")
fromyear = input(2018, defval = 2018, 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")
src = close
//Price channel
lasthigh = highest(src, pch)
lastlow = lowest(src, pch)
center = (lasthigh + lastlow) / 2
trend = low > center ? 1 : high < center ? -1 : trend[1]
col = showcl ? blue : na
col2 = showcl ? black : na
plot(lasthigh, color = col2, linewidth = 2)
plot(lastlow, color = col2, linewidth = 2)
plot(center, color = col, linewidth = 2)
//Bars
bar = close > open ? 1 : close < open ? -1 : 0
rbars = sma(bar, 2) == -1
gbars = sma(bar, 2) == 1
//Fast RSI
fastup = rma(max(change(src), 0), 2)
fastdown = rma(-min(change(src), 0), 2)
fastrsi = fastdown == 0 ? 100 : fastup == 0 ? 0 : 100 - (100 / (1 + fastup / fastdown))
//Signals
body = abs(close - open)
abody = sma(body, 10)
up1 = rbars and close > center and uset
dn1 = gbars and close < center and uset
up2 = close <= lastlow and close < open and usect
dn2 = close >= lasthigh and close > open and usect
up3 = fastrsi < 25 and close > center and usersi
dn3 = fastrsi > 75 and close < center and usersi
exit = (((strategy.position_size > 0 and close > open) or (strategy.position_size < 0 and close < open)) and body > abody / 2)
lot = strategy.position_size == 0 ? strategy.equity / close * capital / 100 : lot[1]
//Trading
if up1 or up2 or up3
if strategy.position_size < 0
strategy.close_all()
strategy.entry("Long", strategy.long, needlong == false ? 0 : lot, when=(time > timestamp(fromyear, frommonth, fromday, 00, 00) and time < timestamp(toyear, tomonth, today, 23, 59)))
if dn1 or dn2 or dn3
if strategy.position_size > 0
strategy.close_all()
strategy.entry("Short", strategy.short, needshort == false ? 0 : lot, when=(time > timestamp(fromyear, frommonth, fromday, 00, 00) and time < timestamp(toyear, tomonth, today, 23, 59)))
if time > timestamp(toyear, tomonth, today, 23, 59) or exit
strategy.close_all()