মূল্যের অগ্রগতি বোলিংজার ব্যান্ড এ কৌশল

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

img

সারসংক্ষেপ

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

কৌশল নীতি

কৌশলটি নিম্নলিখিত প্রধান সূচকগুলির সমন্বয়ে গঠিতঃ

  1. বোলিংজার ব্যান্ড সূচক, যার মধ্যে বোলিংজার মিডল রেল, উপরের রেল এবং নিম্ন রেল অন্তর্ভুক্ত। বোলিংজার ব্যান্ডগুলি দামের মান বিচ্যুতির মাধ্যমে দামের ওঠানামা পরিসীমা গণনা করে, যার ফলে দামের ওঠানামা প্রবণতা বিচার করা হয়।

  2. স্টক ইন্ডিকেটর, স্টকটি অতিরিক্ত ক্রয় বা অতিরিক্ত বিক্রয় অবস্থায় আছে কিনা তা বিচার করতে। কে লাইন এবং ডি লাইনগুলি ভাঙ্গতে এবং ভাঙ্গতে পারে কিনা তা বিচার করতে পারে।

  3. কে-লাইন প্যাটার্ন, বড় ইয়াং লাইন, বড় ইয়েন লাইন ইত্যাদির মতো কিছু সাধারণ প্যাটার্নকে বিকল্প ট্রেডিং সুযোগ হিসাবে বিচার করুন।

ক্রয় শর্তঃ মূল্য বোলিংগারের নিম্ন রেলের উপরে ক্রস করে, স্টক সূচকটি ওভারসোল্ডের অবস্থা দেখায় (কে <২০, ডি <২০), দ্রুত চলমান গড় ধীর চলমান গড়ের উপরে ক্রস করে।

বিক্রয় শর্তঃ মূল্য বোলিংগারের উপরের রেলের নিচে ক্রস করে, বা লাভজনক হলে স্টপ লস করে।

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

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

  1. বোলিংজার ব্যান্ড এবং স্টক সূচককে একত্রিত করে, এটি স্পষ্ট নিম্ন পয়েন্টগুলিতে কিনতে পারে, ঝুঁকি হ্রাস করে।

  2. কে-লাইন প্যাটার্নগুলি একটি সহায়ক শর্ত হিসাবে কাজ করে, ব্যাপ্তি-বান্ধব বাজারে ভুল ক্রয় এড়াতে।

  3. ডাবল কন্ডিশন রায় গ্রহণ কৌশলটির স্থিতিশীলতা এবং নির্ভরযোগ্যতা বাড়ায়।

  4. স্টপ লস পদ্ধতিতে বিপুল ক্ষতি এড়ানো যায়।

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

  1. বোলিংগার ব্যান্ডের সাথে ট্রেডিং ফাঁদে পড়ার প্রবণতা রয়েছে। মূল্য বিচ্ছিন্নতা তুলনামূলকভাবে বড় ক্ষতির কারণ হতে পারে।

  2. স্টোক সূচকটি মিথ্যা সংকেত দেওয়ার উচ্চ সম্ভাবনা রয়েছে। একা স্টোক ব্যবহার করে বড় ক্ষতির ঝুঁকি রয়েছে।

  3. রেঞ্জ-বন্ডেড মার্কেটে ভুল ট্রেডিং সিগন্যাল তৈরি করা সহজ।

  4. ঝুঁকি নিয়ন্ত্রণের জন্য সময়মত স্টপ লস দরকার।

  5. উঁচুতে উঠার পর পিছিয়ে পড়া এড়ানোর জন্য অগ্রগতির শক্তিতে মনোযোগ দিতে হবে।

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

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

  2. বোলিংগার প্যারামিটার অপ্টিমাইজ করুন, মিডল রেল চক্র সামঞ্জস্য করুন, কিনুন/বিক্রয় পয়েন্টের গ্রিপ অপ্টিমাইজ করুন।

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

  4. ট্রেডিং ভলিউম শর্তের বিচার যোগ করুন উচ্চ গতির পরে পলব্যাক এড়াতে।

  5. স্টপ লস কৌশল যোগ করুন যেমন স্টপ লস অনুসরণ করা, স্টপ লস সরানো ইত্যাদি ক্ষতি ঝুঁকি নিয়ন্ত্রণ করতে।

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

  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)  






আরো