ইম্পোমেন্টাম ব্রেকআউট ট্রেডিং কৌশল

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

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

এই কৌশলটি গতির সূচক ব্রেনিং বন্ড ব্যবহার করে ব্রেক-পয়েন্ট ট্রেডিং করে, মূলত দাম ব্রেকিং বন্ডের ট্র্যাকটি ভেঙেছে কিনা তা নির্ধারণ করে এবং কেনার বা বিক্রয়ের সংকেত দেয়।

মূলনীতি

এই কৌশলটি মূলত ব্রাইন বন্ডের সূচকগুলির প্রবণতা নির্ধারণের দিকনির্দেশের উপর ভিত্তি করে তৈরি করা হয়। ব্রাইন বন্ডটি একটি বন্ডযুক্ত অঞ্চল যা একটি চলমান গড় এবং এর স্ট্যান্ডার্ড ডিফেন্স দ্বারা গঠিত হয়। ব্রাইন বন্ডের মধ্যরেখাটি একটি এন-দিনের চলমান গড়, উপরের রেখাটি মধ্যরেখা +২ গুণ স্ট্যান্ডার্ড ডিফেন্স, নীচের রেখাটি মধ্যরেখা +২ গুণ স্ট্যান্ডার্ড ডিফেন্স। যখন দামটি উপরের দিকে চলে যায় তখন এটি ওভারবোর্ড হয়, যখন ট্র্যাকের কাছে আসে তখন এটি oversold হয়।

বিশেষ করে, কৌশলটি প্রথমে n দিনের মধ্যে সর্বোচ্চ মূল্য, সর্বনিম্ন মূল্য এবং মধ্যম মূল্য গণনা করে (((সর্বোচ্চ মূল্য + সর্বনিম্ন মূল্য) / 2) । তারপর বন্ধের মূল্য এবং মধ্যম মূল্যের দূরত্বের ওজনযুক্ত চলমান গড় গণনা করে ব্রিন বন্ডের মধ্যরেখা গঠন করে, মধ্যরেখার নীচে প্রতিটি দ্বিগুণ মানদণ্ডের পার্থক্য যুক্ত করে।

বন্ধের মূল্য যদি ট্রেকটি ভেঙে দেয় তবে এটি একটি উচ্চ প্রবণতা নির্দেশ করে; যদি এটি ট্র্যাকটি ভেঙে দেয় তবে এটি হ্রাসের প্রবণতা নির্দেশ করে। ট্রেকটি ভেঙে দেওয়ার সময় আরও বেশি করুন, ট্রেকটি ভেঙে দেওয়ার সময় খালি করুন।

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

সুবিধা

  1. ব্রিন ব্যান্ড ব্যবহার করে ট্রেন্ডের দিকনির্দেশনা দেওয়া হয় এবং এর কিছু ট্রেন্ড ট্র্যাকিং ক্ষমতা রয়েছে।

  2. বিপরীতমুখী ট্রেড ডিজাইন বিপরীতমুখী মুনাফা অর্জন করতে পারে।

  3. ব্রাইন বন্ড চক্র, স্ট্যান্ডার্ড ডিফেক্ট গুণক ইত্যাদি প্যারামিটার কাস্টমাইজ করা যায়, যা বিভিন্ন চক্রের লেনদেনের জন্য উপযুক্ত।

  4. এটি রিভার্স ওপেনিং বন্ধ করতে পারে, ঝুঁকি হ্রাস করে।

ঝুঁকি ও প্রতিকার

  1. ব্রাইন বন্ডগুলি সাধারণত উচ্চতর উদ্বায়ী স্টকগুলির জন্য ব্যবহৃত হয় এবং দীর্ঘ-চক্রের সম্পদ বা সূচকের মতো জাতের জন্য উপযুক্ত নাও হতে পারে।

  2. একটি ব্রেক-ইন সংকেত একটি মিথ্যা ব্রেক-ইন হতে পারে। এটি অন্যান্য কারণের সাথে সংমিশ্রণে ফিল্টার করা যেতে পারে।

  3. বিপরীতমুখী পজিশন খোলা থাকলে ক্ষতি আরও বাড়তে পারে। বিপরীতমুখী পজিশন মডিউল বন্ধ করা যেতে পারে।

  4. প্রত্যাহারটি বড় হতে পারে।

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

  1. একটি প্রবণতা ফিল্টার যোগ করার বিষয়টি বিবেচনা করা যেতে পারে, যা অনিশ্চিত দিকের বাজারের অস্থিরতা এড়াতে পারে।

  2. ব্রাইন বন্ডের স্ট্যান্ডার্ড ডিফেক্টের গুণমান পরীক্ষা করে আরও উপযুক্ত পরামিতি খুঁজে পাওয়া যায়।

  3. একক ক্ষতি নিয়ন্ত্রণের জন্য স্টপ লস কৌশল প্রবর্তন করা যেতে পারে।

  4. ট্রেডিং সিগন্যালগুলি আরও স্পষ্ট করার জন্য পজিশন খোলার এবং পজিশনিং লজিককে অনুকূল করা যায়।

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

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

সারসংক্ষেপ

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

নীতিমালা

কৌশলটি মূলত ট্রেন্ডের দিকনির্দেশ নির্ধারণের জন্য বলিংজার ব্যান্ড সূচকের উপর ভিত্তি করে। বলিংজার ব্যান্ডগুলি একটি চলমান গড় এবং স্ট্যান্ডার্ড ডিভিয়েশন দ্বারা সংজ্ঞায়িত উপরের / নীচের ব্যান্ডগুলির উপর ভিত্তি করে একটি মধ্যবর্তী ব্যান্ড নিয়ে গঠিত। মধ্যবর্তী ব্যান্ডটি একটি এন-পরিয়ড চলমান গড়, উপরের ব্যান্ডটি মধ্যবর্তী ব্যান্ড + 2 স্ট্যান্ডার্ড ডিভিয়েশন এবং নীচের ব্যান্ডটি মধ্যবর্তী ব্যান্ড - 2 স্ট্যান্ডার্ড ডিভিয়েশন। যখন দামটি উপরের ব্যান্ডের কাছে আসে তখন এটি ওভারকুপিং শর্তগুলি নির্দেশ করে এবং যখন এটি নিম্ন ব্যান্ডের কাছে আসে তখন এটি ওভারসোল্ড শর্তগুলিকে নির্দেশ করে।

বিশেষত, কৌশলটি প্রথমে সর্বশেষ এন সময়ের মধ্যে সর্বোচ্চ উচ্চ এবং সর্বনিম্ন নিম্ন গণনা করে এবং মধ্যম মূল্য ((সর্বোচ্চ উচ্চ + সর্বনিম্ন নিম্ন) /২) গণনা করে। এটি তারপরে বন্ধ মূল্য এবং মধ্যম মূল্যের মধ্যে দূরত্ব গণনা করে, মধ্যবর্তী ব্যান্ড গঠনের জন্য দূরত্বের এক্সপোনেনশিয়াল চলমান গড় ব্যবহার করে এবং উপরের এবং নীচের ব্যান্ড গঠনের জন্য 2 বার স্ট্যান্ডার্ড বিচ্যুতি যোগ / বিয়োগ করে।

যখন বন্ধ মূল্য উপরের ব্যান্ডটি ভেঙে যায়, তখন এটি একটি আপট্রেন্ডের সংকেত দেয়; যখন এটি নিম্ন ব্যান্ডটি ভেঙে যায়, তখন এটি একটি ডাউনট্রেন্ডের সংকেত দেয়। উপরের ব্যান্ডটি ভেঙে গেলে কৌশলটি দীর্ঘ হয় এবং নিম্ন ব্যান্ডটি ভেঙে গেলে সংক্ষিপ্ত হয়।

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

সুবিধা

  1. ট্রেন্ডের দিকনির্দেশনা নির্ধারণের জন্য বোলিংজার ব্যান্ড ব্যবহার করা নির্দিষ্ট ট্রেন্ড অনুসরণ করার ক্ষমতা প্রদান করে।

  2. কাউন্টার-ট্রেন্ড ডিজাইন বিপরীতমুখী থেকে লাভ করার অনুমতি দেয়।

  3. সময়কাল এবং স্ট্যান্ডার্ড ডিভিয়েশন মাল্টিপল এর মতো কাস্টমাইজযোগ্য প্যারামিটারগুলি এটিকে বিভিন্ন ট্রেডিং দিগন্তের সাথে খাপ খাইয়ে নিতে সক্ষম করে।

  4. ঝুঁকি কমানোর জন্য বিপরীত প্রবণতা ট্রেডিং নিষ্ক্রিয় করুন।

ঝুঁকি এবং হ্রাস

  1. বোলিংজার ব্যান্ড উচ্চ অস্থিরতা স্টক জন্য ভাল কাজ করে, স্থিতিশীল পণ্য বা সূচক জন্য উপযুক্ত নাও হতে পারে। বিভিন্ন সময়ের পরামিতি পরীক্ষা করতে পারেন।

  2. ব্রেকআউট সিগন্যালগুলোতে মিথ্যা ব্রেকআউট থাকতে পারে।

  3. কাউন্টার-ট্রেন্ড ট্রেডিং ক্ষতি আরও বাড়িয়ে তুলতে পারে।

  4. পজিশনের আকার সামঞ্জস্য করতে পারে।

উন্নতির সুযোগ

  1. নন-ডাইরেকশনাল মার্কেটে হুইপসো এড়াতে ট্রেন্ড ফিল্টার যুক্ত করার কথা বিবেচনা করুন।

  2. সর্বোত্তম পরামিতি খুঁজে পেতে বিভিন্ন স্ট্যান্ডার্ড ডিভিয়েশন মাল্টিপল পরীক্ষা করুন।

  3. একক ট্রেড লস নিয়ন্ত্রণের জন্য স্টপ লস অন্তর্ভুক্ত করুন।

  4. আরও স্পষ্ট ট্রেডিং সিগন্যালের জন্য এন্ট্রি এবং অ্যাড-অন লজিক অপ্টিমাইজ করুন।

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

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


/*backtest
start: 2023-08-18 00:00:00
end: 2023-09-17 00:00:00
period: 4h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//Noro
//2018

//@version=2
strategy("Noro's Bands Scalper Strategy v1.6", shorttitle = "Scalper str 1.6", overlay = true, default_qty_type = strategy.percent_of_equity, default_qty_value = 100.0, pyramiding = 0)

//Settings
needlong = input(true, defval = true, title = "Long")
needshort = input(true, defval = true, title = "Short")
takepercent = input(0, defval = 0, minval = 0, maxval = 1000, title = "take, %")
needbe = input(true, defval = true, title = "Bands Entry")
needct = input(false, defval = false, title = "Counter-trend entry")
bodylen = input(10, defval = 10, minval = 0, maxval = 50, title = "Body length")
trb = input(1, defval = 1, minval = 1, maxval = 5, title = "Trend bars")
len = input(20, defval = 20, minval = 2, maxval = 200, title = "Period")
needbb = input(true, defval = true, title = "Show Bands")
needbg = input(true, defval = true, title = "Show Background")
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")
src = close

//PriceChannel 1
lasthigh = highest(src, len)
lastlow = lowest(src, len)
center = (lasthigh + lastlow) / 2

//Distance
dist = abs(src - center)
distsma = sma(dist, len)
hd = center + distsma
ld = center - distsma
hd2 = center + distsma * 2
ld2 = center - distsma * 2

//Trend
chd = close > hd
cld = close < ld
uptrend = trb == 1 and chd ? 1 : trb == 2 and chd and chd[1] ? 1 : trb == 3 and chd and chd[1] and chd[2] ? 1 : trb == 4 and chd and chd[1] and chd[2] and chd[3] ? 1 : trb == 5 and chd and chd[1] and chd[2] and chd[3] and chd[4] ? 1 : 0
dntrend = trb == 1 and cld ? 1 : trb == 2 and cld and cld[1] ? 1 : trb == 3 and cld and cld[1] and cld[2] ? 1 : trb == 4 and cld and cld[1] and cld[2] and cld[3] ? 1 : trb == 5 and cld and cld[1] and cld[2] and cld[3] and cld[4] ? 1 : 0
trend = dntrend == 1 and high < center ? -1 : uptrend == 1 and low > center ? 1 : trend[1]

//trend = close < ld and high < center ? -1 : close > hd and low > center ? 1 : trend[1]

//Lines
colo = needbb == false ? na : black
plot(hd2, color = colo, linewidth = 1, transp = 0, title = "High band 2")
plot(hd, color = colo, linewidth = 1, transp = 0, title = "High band 1")
plot(center, color = colo, linewidth = 1, transp = 0, title = "center")
plot(ld, color = colo, linewidth = 1, transp = 0, title = "Low band 1")
plot(ld2, color = colo, linewidth = 1, transp = 0, title = "Low band 2")

//Background
col = needbg == false ? na : trend == 1 ? lime : red
bgcolor(col, transp = 80)

//Body
body = abs(close - open)
smabody = ema(body, 30) / 10 * bodylen

//Signals
bar = close > open ? 1 : close < open ? -1 : 0
up7 = trend == 1 and ((bar == -1 and bar[1] == -1) or (body > smabody and bar == -1)) ? 1 : 0
dn7 = trend == 1 and ((bar == 1 and bar[1] == 1) or (close > hd and needbe == true)) and close > strategy.position_avg_price * (100 + takepercent) / 100 ? 1 : 0
up8 = trend == -1 and ((bar == -1 and bar[1] == -1) or (close < ld2 and needbe == true)) and close < strategy.position_avg_price * (100 - takepercent) / 100 ? 1 : 0
dn8 = trend == -1 and ((bar == 1 and bar[1] == 1) or (body > smabody and bar == 1)) ? 1 : 0

if up7 == 1 or up8 == 1 
    strategy.entry("Long", strategy.long, needlong == false ? 0 : trend == -1 and needct == false ? 0 : na, when=(time > timestamp(fromyear, frommonth, 01, 00, 00) and time < timestamp(toyear, tomonth, 31, 00, 00)))

if dn7 == 1 or dn8 == 1
    strategy.entry("Short", strategy.short, needshort == false ? 0 : trend == 1 and needct == false ? 0 : na, when=(time > timestamp(fromyear, frommonth, 01, 00, 00) and time < timestamp(toyear, tomonth, 31, 00, 00)))
    
if time > timestamp(toyear, tomonth, 31, 00, 00)
    strategy.close_all()

আরো