স্প্রেজ ইমপুটাম ইন্ডিকেটর

লেখক:চাওঝাং, তারিখঃ ২০২২-০৫-০৬ ১৭ঃ১৯ঃ১০
ট্যাগঃএসএমএ

এটি জন কার্টার এর TTM Squeeze অস্থিরতা সূচক থেকে উদ্ভূত, যেমনটি তার বই মাস্টারিং দ্য ট্রেড (অধ্যায় 11) তে আলোচনা করা হয়েছে।

মাঝারি রেখায় কালো ক্রসগুলি দেখায় যে বাজারটি সবেমাত্র একটি সংকোচনে প্রবেশ করেছে (বোলিংজার ব্যান্ডগুলি কেল্টনার চ্যানেলে রয়েছে) । এটি কম অস্থিরতার প্রতিনিধিত্ব করে, বাজারটি একটি বিস্ফোরক পদক্ষেপের জন্য নিজেকে প্রস্তুত করছে (উপরে বা নীচে) । ধূসর ক্রসগুলি স্ক্র্যাশ রিলিজ এর প্রতিনিধিত্ব করে।

মিঃ কার্টার একটি কালো ক্রস পরে প্রথম ধূসর পর্যন্ত অপেক্ষা করার পরামর্শ দেয়, এবং গতির দিক একটি অবস্থান গ্রহণ (যেমন, যদি গতির মান শূন্যের উপরে হয়, দীর্ঘ যান). গতির পরিবর্তন যখন অবস্থান প্রস্থান (বৃদ্ধি বা হ্রাস একটি রঙ পরিবর্তন দ্বারা নির্দেশিত) । এই সঙ্গে আমার (সীমিত) অভিজ্ঞতা দেখায়, একটি অতিরিক্ত সূচক যেমন ADX / ওয়েভ ট্রেন্ড, ভাল এন্ট্রি পয়েন্ট মিস না প্রয়োজন. এছাড়াও, মিঃ কার্টার সহজ গতির সূচক ব্যবহার করে, যখন আমি একটি ভিন্ন পদ্ধতি ব্যবহার করেছি (রেগলিন ভিত্তিক) হিস্টোগ্রাম প্লট করতে।

পুনরায় পরীক্ষা

img


/*backtest
start: 2021-05-05 00:00:00
end: 2022-05-04 23:59:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Bitfinex","currency":"BTC_USD"}]
*/

//
// @author LazyBear 
// List of all my indicators: https://www.tradingview.com/v/4IneGo8h/
//
study(shorttitle = "SQZMOM_LB", title="Squeeze Momentum Indicator [LazyBear]", overlay=false)

length = input(20, title="BB Length")
mult = input(2.0,title="BB MultFactor")
lengthKC=input(14, title="KC Length")
multKC = input(1.5, title="KC MultFactor")

useTrueRange = input(true, title="Use TrueRange (KC)",defval=true)

// Calculate BB
source = close
basis = ta.sma(source, length)
dev = multKC * ta.stdev(source, length)
upperBB = basis + dev
lowerBB = basis - dev

// Calculate KC
ma = ta.sma(source, lengthKC)
range = useTrueRange ? ta.tr : (high - low)
rangema = ta.sma(range, lengthKC)
upperKC = ma + rangema * multKC
lowerKC = ma - rangema * multKC

sqzOn  = (lowerBB > lowerKC) and (upperBB < upperKC)
sqzOff = (lowerBB < lowerKC) and (upperBB > upperKC)
noSqz  = (sqzOn == false) and (sqzOff == false)

val = ta.linreg(source  -  math.avg(math.avg(ta.highest(high, lengthKC), ta.lowest(low, lengthKC)),ta.sma(close,lengthKC)), 
            lengthKC,0)

bcolor = iff( val > 0, 
            iff( val > nz(val[1]), color.lime, color.green),
            iff( val < nz(val[1]), color.red, color.maroon))

scolor = noSqz ? color.blue : sqzOn ? color.black : color.gray 
plot(val, color=bcolor, style=plot.style_histogram, linewidth=4)
plot(0, color=scolor, style=plot.style_cross, linewidth=2)

if val >0 and val < nz(val[1])
    strategy.entry("entry short", strategy.short)
else if val <0 and val > nz(val[1]) 
    strategy.entry("entry long", strategy.long) 
       
    
    

সম্পর্কিত

আরো