একতরফা প্রবণতা শক ব্রেকআউট কৌশল


সৃষ্টির তারিখ: 2024-01-18 14:59:30 অবশেষে সংশোধন করুন: 2024-01-18 14:59:30
অনুলিপি: 1 ক্লিকের সংখ্যা: 614
1
ফোকাস
1617
অনুসারী

একতরফা প্রবণতা শক ব্রেকআউট কৌশল

ওভারভিউ

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

কৌশল নীতি

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

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

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

সামর্থ্য বিশ্লেষণ

এই কৌশলটির কিছু সুবিধা রয়েছেঃ

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

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

এই কৌশলটির কিছু ঝুঁকিও রয়েছেঃ

  1. প্রাইস চ্যানেলের প্যারামিটারগুলি ভুলভাবে সেট করা হয়েছে, যার ফলে চ্যানেলের পরিধি খুব বড় বা খুব ছোট হতে পারে
  2. শক্তিশালী প্রবণতা বিপরীত অপারেশন বড় ক্ষতি হতে পারে
  3. এন্ট্রি ভেঙে ভুয়া সংকেত তৈরি করা সহজ
  4. ভুলভাবে সেট করা স্টপফায়ার, মুনাফার কিছু অংশ হারাতে পারে

ঝুঁকি কমানোর জন্য, প্যারামিটারগুলিকে সংকীর্ণ করা যেতে পারে, শক্তিশালী প্রবণতাগুলির মধ্যে বিপরীত পজিশনিং এড়ানো, স্টপ-অফ লজিক ইত্যাদি অপ্টিমাইজ করা যেতে পারে।

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

এই কৌশলটি নিম্নলিখিত দিকগুলি থেকে অপ্টিমাইজ করা যেতে পারেঃ

  1. প্রবণতা নির্ণয় করার জন্য সূচক বাড়ানো এবং প্রবণতা নির্ণয়ের সঠিকতা নিশ্চিত করা
  2. অপ্টিমাইজড প্যারামিটার যা একটি সত্তা অতিক্রম করে, হেড ফালস সিগন্যাল হ্রাস করে
  3. আরও সূচক যুক্ত করে খেলার সময় নির্ধারণ করুন
  4. ডায়নামিকভাবে স্টপ অবস্থান সামঞ্জস্য

সারসংক্ষেপ

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

কৌশল সোর্স কোড
/*backtest
start: 2024-01-10 00:00:00
end: 2024-01-17 00:00:00
period: 3m
basePeriod: 1m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/


//@version=2
strategy("Noro's Bands Scalper Strategy v1.5", shorttitle = "Scalper str 1.5", 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")
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)

if dn7 == 1 or dn8 == 1
    strategy.entry("Short", strategy.short, needshort == false ? 0 : trend == 1 and needct == false ? 0 : na)