But after all, it was a tedious work creating this indicator because like I've already said, pine script is a very odd and weak language which does not have many ordinary features like useful loops, simple line drawing and even reasonable variable casting!
So I was forced to use its built-in pivothigh() and pivotlow() functions without any handy documentation. I assume that even these functions don't work as expected, and because of that, I embedded "Sensitivity" and "Lookback Time" options in the indicator as a workaround.
Feel free to use it and send me your comments/solutions.
Added an option to use bars for looking back instead of time