এই সূচকটি এমন পয়েন্টগুলিকে তুলে ধরে যেখানে মূল্য একটি কেন্দ্রীয় স্তর থেকে উল্লেখযোগ্যভাবে বিচ্যুত হয়। এই বিচ্যুতি দূরত্বটি ব্যবহারকারীর সেট মান দ্বারা বা 200 Atr সময়ের গুণক ব্যবহার করে নির্ধারিত হয় এবং ফিবোনাচি ক্রমের ধারাবাহিক মান দ্বারা গুণিত হয়।
সেটিংস
পদ্ধতিঃ দূরত্ব পদ্ধতি, বিকল্পগুলির মধ্যে রয়েছে
ব্যবহার
সূচকটি সম্ভাব্য বিপরীতমুখী পয়েন্টগুলিকে তুলে ধরতে সক্ষম করে, তবে এটি কেন্দ্রীয় স্তর ব্যবহার করে প্রবণতাও নির্ধারণ করতে পারে, যদি কেন্দ্রীয় স্তরটি তার পূর্ববর্তী মানের চেয়ে বেশি হয় তবে একটি আপট্রেন্ড সনাক্ত করা হয় এবং বিপরীতভাবে একটি ডাউনট্রেন্ডের জন্য।
যখন একটি আপট্রেন্ড সনাক্ত করা হয়, এবং দামটি এর থেকে উল্লেখযোগ্যভাবে উর্ধ্বমুখী হয় তখন একটি প্রথম চেকমার্কটি গুণক হিসাবে ব্যবহৃত ফিবোনাচি ক্রমের পাশে হাইলাইট করা হবে, যদি দামটি নীচে বিচ্যুত হয় তবে পরিবর্তে একটি ক্রস প্রদর্শিত হবে, তারপরে দূরত্বের থ্রেশহোল্ডটি ফিবোনাচি ক্রমের পরবর্তী মান দ্বারা গুণিত হবে।
যদি মূল্য কেন্দ্রীয় স্তর থেকে বিচ্যুত হয় যাতে ক্রমের দৈর্ঘ্য ব্যবহারকারীর সেট করা ক্রম দৈর্ঘ্যের চেয়ে বড় হয়, তবে একটি নতুন কেন্দ্রীয় স্তরের পাশে একটি বিরতি লেবেল প্রদর্শিত হবে যার মান বর্তমান বন্ধের দাম দ্বারা নির্ধারিত হয়, যখন ফিবোনাচি গুণক 1 এ পুনরায় সেট করা হবে।
কেন্দ্রীয় স্তর এবং প্রান্তিক দূরত্ব থেকে তৈরি উপরের এবং নীচের extremities হাইলাইট করা হয় এবং সমর্থন এবং প্রতিরোধ হিসাবে ব্যবহার করা যেতে পারে।
ব্যাকটেস্ট
/*backtest start: 2022-04-10 00:00:00 end: 2022-05-07 23:59:00 period: 5m basePeriod: 1m exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ // This work is licensed under a Attribution-NonCommercial-ShareAlike 4.0 International (CC BY-NC-SA 4.0) https://creativecommons.org/licenses/by-nc-sa/4.0/ // © LuxAlgo //@version=5 indicator("Fibonacci Progression With Breaks [LUX]",overlay=1,max_labels_count=500,max_lines_count=500) method = input.string('Atr',options=['Atr','Manual'],inline='inline1') size = input(1.,'',inline='inline1') max = input(3,'Sequence Length') //---- var fib = array.from(1,1) var dist = 0.,var avg = 0.,var fib_n = 1,var os = 0 src = close n = bar_index if barstate.isfirst for i = 1 to max array.push(fib,array.get(fib,i-1) + array.get(fib,i)) //---- if method == 'Atr' dist := ta.atr(200)*size*array.get(fib,fib_n) else dist := size*array.get(fib,fib_n) fib_n := math.abs(src-avg) > dist ? fib_n+1 : fib_n avg := nz(fib_n > max+1 ? src : avg[1],src) fib_n := fib_n > max+1 ? 1 : fib_n buy = avg > avg[1] sell = avg < avg[1] os := buy ? 1 : sell ? 0 : os tp = avg != avg[1] ? na : os == 1 ? avg + dist : avg - dist sl = avg != avg[1] ? na : os == 0 ? avg + dist : avg - dist //---- css = os == 1 ? #0cb51a : #ff1100 plot0 = plot(src,color=na) plot1 = plot(avg,color=na) fill(plot0,plot1,color.new(css,80)) //---- plotshape(buy ? low : na,"Buy Label",shape.labelup,location.absolute,#0cb51a,0,text="B",textcolor=color.white,size=size.tiny) plotshape(sell ? high : na,"Sell Label",shape.labeldown,location.absolute,#ff1100,0,text="S",textcolor=color.white,size=size.tiny) plot(tp,'Target',#0cb51a,1,plot.style_linebr) plot(sl,'Stop',#ff1100,1,plot.style_linebr) if buy strategy.entry("Enter Long", strategy.long) else if sell strategy.entry("Enter Short", strategy.short)