মূল্য ব্রেকআউট বলিঙ্গার ব্যান্ড একটি কৌশল


সৃষ্টির তারিখ: 2023-11-06 11:43:14 অবশেষে সংশোধন করুন: 2023-11-06 11:43:14
অনুলিপি: 0 ক্লিকের সংখ্যা: 402

মূল্য ব্রেকআউট বলিঙ্গার ব্যান্ড একটি কৌশল

ওভারভিউ

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

কৌশল নীতি

এই কৌশলটি মূলত নিম্নলিখিত কয়েকটি সূচক নিয়ে গঠিতঃ

  1. বুলিন লাইন সূচক, যার মধ্যে রয়েছে বুলিন লাইনের মধ্যম রেল, উপরের রেল এবং নিচের রেল। বুলিন লাইন দামের স্ট্যান্ডার্ড ডিফারেনশিয়ালের মাধ্যমে দামের ওঠানামা পরিমাপ করে, যার ফলে দামের ওঠানামার প্রবণতা নির্ধারণ করা হয়।

  2. স্টক সূচক, শেয়ারগুলি ওভারব্রেক ওভারসোল অবস্থায় রয়েছে কিনা তা নির্ধারণ করে। কে লাইন এবং ডি লাইনগুলি ব্রেক আপ এবং ব্রেক ডাউন নির্ধারণ করতে পারে।

  3. K-রেখা আকৃতি, কিছু সাধারণ আকৃতি যেমন বড় সূর্য, বড় শাবক ইত্যাদিকে বিকল্প ক্রয়-বিক্রয়ের সময় হিসাবে বিবেচনা করুন।

ক্রয় শর্তাবলীঃ দাম বুলিনের নীচের লাইনটি অতিক্রম করে, স্টোক সূচকটি ওভারসোল্ড ((K <20, D <20) দেখায়, দ্রুত চলমান গড় লাইনটি ধীর চলমান গড় লাইনটি অতিক্রম করে।

বিক্রির শর্তঃ মূল্যের নিচে ব্রিন লাইন লাইন, অথবা মুনাফা পরে ক্ষতি বন্ধ।

এই কৌশলটি একই সাথে প্রবণতা বিশ্লেষণ এবং ওভারবয় ওভারসেলিংয়ের বিচারকে সংযুক্ত করে, কারণ মিথ্যা বিজয় হ্রাস করে, যখন প্রবণতা দেখা দেয় তখন সময়মতো বাজারে প্রবেশ করা যায়। তবে প্যাডিংয়ের ঝুঁকিও রয়েছে, যথাযথভাবে স্টপ লস প্রয়োজন।

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

  1. বুলিন লাইন এবং স্টোক সূচকের সংমিশ্রণে, শেয়ারের দামের একটি স্পষ্ট নিম্ন পয়েন্টের সময় কেনা যায়, যা ঝুঁকি হ্রাস করে।

  2. K-লাইন আকৃতি একটি সহায়ক শর্ত হিসাবে, একটি ঝড়ের পরিস্থিতিতে ভুল ক্রয় এড়াতে।

  3. এর ফলে কৌশলটির স্থিতিশীলতা এবং নির্ভরযোগ্যতা বৃদ্ধি পায়।

  4. ক্ষতিপূরণ ব্যবস্থা বড় ধরনের ক্ষতি এড়াতে পারে।

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

  1. ব্রিনলাইন ট্রেডিংয়ের ক্ষেত্রে, এটি সহজেই জালিয়াতি করা যায়। যখন বাজারে বিভাজন ঘটে, তখন বড় ক্ষতি হতে পারে।

  2. Stoch সূচকটি মিথ্যা সংকেত প্রেরণের সম্ভাবনা বেশি, এবং একা Stoch ব্যবহার করলে ক্ষতির ঝুঁকি বেশি।

  3. এই ধরনের পরিস্থিতিতে, ট্রেডিং সিগন্যালের ত্রুটি ঘটতে পারে।

  4. সময়মতো ক্ষতি বন্ধ করা এবং ঝুঁকি নিয়ন্ত্রণ করা প্রয়োজন।

  5. এদিকে, ব্রেক-আপের তীব্রতার দিকে নজর দিতে হবে, যাতে এড়ানো যায় যে, এই ধাক্কাটি আবার ফিরে আসবে।

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

  1. স্টক পুলের অপ্টিমাইজেশন করুন, উচ্চতর ওঠানামা এবং প্রবণতাযুক্ত স্টক নির্বাচন করুন।

  2. ব্রিন লাইন প্যারামিটার অপ্টিমাইজ করুন, মধ্যম ট্র্যাকের চক্রটি সামঞ্জস্য করুন, এবং ক্রয়-বিক্রয় পয়েন্টগুলি অনুকূলিত করুন।

  3. স্টোচ প্যারামিটারগুলিকে অপ্টিমাইজ করুন, K লাইন এবং D লাইন চক্রগুলিকে সামঞ্জস্য করুন এবং সূচকের নির্ভরযোগ্যতা বাড়ান।

  4. “অন্তত, আমরা আমাদের লক্ষ্যে পৌঁছাতে সক্ষম হবো।

  5. ক্ষতির ঝুঁকি নিয়ন্ত্রণের জন্য স্টপ স্টপ, ট্র্যাকিং স্টপ, মুভিং স্টপ ইত্যাদির মতো স্টপ স্ট্র্যাটেজি যুক্ত করুন।

  6. অন্যান্য প্রযুক্তিগত সূচক যেমন MACD, KDJ ইত্যাদি যোগ করে কৌশলগত স্থিতিশীলতা বাড়ানোর মূল্যায়ন।

  7. বিভিন্ন পজিশনের সময় পরীক্ষা করে লাভ ও প্রত্যাহারের অনুপাত অনুকূলিতকরণ।

সারসংক্ষেপ

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

কৌশল সোর্স কোড
/*backtest
start: 2023-10-29 00:00:00
end: 2023-11-03 18:00:00
period: 1m
basePeriod: 1m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=3
strategy("Bollinger e Tendência", overlay=true)

//MÉDIAS 
periodolenta = 14
periodosimples = 47
periodome = 7

psimples = input(title="Período da média simples", defval=periodosimples)
pexp = input(title="Período da média exponencial", defval=periodome)
pexplenta = input(title="Período da média exp lenta", defval=periodolenta)
msimples = sma(close, psimples)
mexp = ema(close, pexp)
mexplenta = ema(close, pexplenta)

plot(msimples, linewidth=2, color=yellow)
plot(mexp, linewidth=5, color=white)
plot(mexplenta, linewidth=2, color=orange)

//BOLLANGER
length = input(21, minval=2)
src = input(close, title="Source")
mult = input(1.5, minval=0.001, maxval=50)
basis = sma(src, length)
dev = mult * stdev(src, length)
upperBol = basis + dev
lowerBol = basis - dev

p1 = plot(upperBol, title="Upper", color=blue, linewidth=3)
p2 = plot(lowerBol, title="Lower", color=blue, linewidth=3)
fill(p1, p2, color = purple, transp=90)

//BBW (altura do Bollanger)
basis2 = sma(close, 21)
bbw = (upperBol-lowerBol)/basis2


//STOCH E FORÇA
source = close
lengthRSI = input(11, minval=2), lengthStoch = input(7, minval=2)
smoothK = input(3,minval=3), smoothD = input(4,minval=3)
OverSold = input(20), OverBought = input(80)
rsi1 = rsi(source, lengthRSI)
k = sma(stoch(rsi1, rsi1, rsi1, lengthStoch), smoothK)
d = sma(k, smoothD)
hline(OverSold,color=blue)
hline(OverBought,color=blue)



// Cor das Tendências (Verde ou Vermelho)
// Baseado no código: "Pivot Daily Price Color" (by Rimko)
pivot = (high + low + close ) / 3.0 
dtime_pivot = request.security(syminfo.tickerid, 'D', pivot[1]) 
pv = dtime_pivot ? dtime_pivot : na
pe = ema(close,periodome)
col = sma(close,1)>pv?green:red
col2 = sma(close,1)>pe?green:red
offs_daily = 0 
pp=plot(pv, title="Daily Pivot",style=linebr, color=black,linewidth=2) 
p=plot(sma(close,1), transp=100, editable=false)
pema = plot(pe, title="EMA",style=line, color=black,linewidth=2, transp = 50)
fill(p,pema,color=col2,title="EMA to price color", transp = 50)
fill(pp,p,color=col, title="Privot to price color", transp = 90) 


//*************************************************************************************************************************************************
// Candles (identificação):
// Baseado no código: "Candlesticks Pattern Identified" (by Repo32)
trend= input(5, minval=1, title="Trend in Bars")

DojiSize = input(0.05, minval=0.01, title="Doji size")
data=(abs(open - close) <= (high - low) * DojiSize)
//plotchar(data, title="Doji", color=white)
plotshape(data, title="Doji", color=white, style=shape.cross)
 //text='Doji'

data6=(close[1] > open[1] and open > close and open <= close[1] and open[1] <= close and open - close < close[1] - open[1] and open[trend] < open)
plotshape(data6, title= "Bearish Harami", color=red, style=shape.triangledown)
//, text="Harami\nde Baixa"

data8=(close[1] > open[1] and open > close and open >= close[1] and open[1] >= close and open - close > close[1] - open[1] and open[trend] < open)
plotshape(data8,  title= "Bearish Engulfing", color=red, style=shape.triangledown)
//, text="Engolfo\nde Baixa"

data13=(open[1]<close[1] and open<=open[1] and close<=open and open[trend] < open)
plotshape(data13, title= "Bearish Kicker", color=red, style=shape.triangledown)
//, text="Kicker\nde Baixa"

data14=(((high-low>4*(open-close))and((close-low)/(.001+high-low)>=0.75)and((open-low)/(.001+high-low)>=0.75))and open[trend] < open and high[1] < open and high[2] < open)
plotshape(data14,  title= "Hanging Man", location=location.belowbar, color=red, style=shape.triangledown)
//, text="Enforcado"

data7=(open[1] > close[1] and close > open and close <= open[1] and close[1] <= open and close - open < open[1] - close[1] and open[trend] > open)
plotshape(data7,  title= "Bullish Harami", location=location.belowbar, color=lime, style=shape.triangleup)
//, text="Mulher\nGrávida"

data9=(open[1] > close[1] and close > open and close >= open[1] and close[1] >= open and close - open > open[1] - close[1] and open[trend] > open)
plotshape(data9, title= "Bullish Engulfing", location=location.belowbar, color=lime, style=shape.triangleup)
//, text="Engolfo\nde Alta"

//uppercandle = highest(10)[1]
data10=(close[1] < open[1] and  open < low[1] and close > close[1] + ((open[1] - close[1])/2) and close < open[1] and open[trend] > open)
plotshape(data10, title= "Piercing Line", location=location.belowbar, color=lime, style=shape.triangleup)
//, text="Piercing"

lowercandle = lowest(10)[1]
data11=(low == open and  open < lowercandle and open < close and close > ((high[1] - low[1]) / 2) + low[1] and open[trend] > open)
plotshape(data11, title= "Bullish Belt", location=location.belowbar, color=lime, style=shape.triangleup)
//, text="Contenção\nde Alta"

data12=(open[1]>close[1] and open>=open[1] and close>open and open[trend] > open)
plotshape(data12, title= "Bullish Kicker", location=location.belowbar, color=lime, style=shape.triangleup)//, text="Kicker\nde Alta"


data5=(((high - low)>3*(open -close)) and  ((close - low)/(.001 + high - low) > 0.6) and ((open - low)/(.001 + high - low) > 0.6))
plotshape(data5, title= "Hammer", location=location.belowbar, color=white, style=shape.diamond)

data5b=(((high - low)>3*(open -close)) and  ((high - close)/(.001 + high - low) > 0.6) and ((high - open)/(.001 + high - low) > 0.6))
plotshape(data5b, title= "Inverted Hammer", location=location.belowbar, color=white, style=shape.diamond)
//, text="Martelo\nInvertido"

data2=(close[2] > open[2] and min(open[1], close[1]) > close[2] and open < min(open[1], close[1]) and close < open )
//plotshape(data2, title= "Evening Star", location=location.belowbar, color=red, style=shape.arrowdown, text="Estrela\nda Tarde")
plotchar(data2, title="Evening Star", color=white)

data3=(close[2] < open[2] and max(open[1], close[1]) < close[2] and open > max(open[1], close[1]) and close > open )
//plotshape(data3,  title= "Morning Star", location=location.belowbar, color=lime, style=shape.arrowup, text="Estrela\nda Manhã")
plotchar(data3, title="Morning Star", color=white, location=location.belowbar)

data4=(open[1] < close[1] and open > close[1] and high - max(open, close) >= abs(open - close) * 3 and min(close, open) - low <= abs(open - close))
//plotshape(data4, title= "Shooting Star", color=red, style=shape.arrowdown, text="Estrela\nCadente")
plotchar(data4, title="Shooting Star", color=white)



//**********************************************************************************************************



// Ações:

momento = strategy.position_size[0] > strategy.position_size[1]
valorcompra = valuewhen(momento, open, 0)
valorbbw = input(title="Altura Máxima do Bollinger", defval=10)

alerta = crossunder(close, lowerBol)
alertcondition(alerta, title='Abaixo da Banda Baixa', message='Fechou abaixo da banda baixa...!')

//data7 data9 data10 data11 data12

compra =  crossover(close, lowerBol) and ((k<=20) and (d<=20)) and (mexp>mexp[1])
//compra = (data7 or data9 or data10 or data11 or data12) and (msimples>msimples[1]) and ((k<=20) and (d<=20)) and (bbw<valorbbw/1000)
//compra =  (open<close) and (crossover (close, lowerBol)) and ((k<=20) and (d<=20)) and (bbw<valorbbw/1000) and (msimples>msimples[1])

venda = crossover(close, upperBol)
//(close >= (valorcompra + (valorcompra * 0.025))) 

strategy.entry ("Compra", strategy.long, when=compra)
strategy.entry ("Venda", strategy.short, when=venda)


//plotshape(series=compra, title="Compra", style=shape.triangleup, location=location.belowbar, color=green, text="COMPRA", size=size.small)
//plotshape(series=venda, title="Venda", style=shape.triangledown, location=location.abovebar, color=red, text="VENDA", size=size.small)