OPEN-SOURCE SCRIPT
已更新 Function Highest/Lowest by PeterO

No matter how much I like PineScript, there are still things missing in the language. One of the most annoying issues is that you cannot set dynamic length value for highest/lowest functions. This length must be fixed integer. But it doesn't make sense in a lot of cases, when you'd like to know what was the highest/lowest value of a series SINCE EVENT in the past, but you don't know WHEN this event exactly happened.
Us, coders would like to do this: `highest(series,barssince(...))`
But it is not working.
Numerous coders are using RicardoSantos' f_highest/f_lowest script (tradingview.com/script/32ohT5SQ-Function-Highest-Lowest/), probably the most often copy/pasted snippet of PineScript code out there. It is doing more-less what `highest(series,barssince(...))` would be doing, but with hardcoded max bars back.
Ricardo is my idol by the way, but that didn't stop me from creating my own version of Highest/Lowest functions. They are fast, simple, effective and very light for Pine engine.
Please treat this as an OPEN SOURCE snippet of code, which can be used in variety of ways.
I have implemented a simple use-case myself, to demonstrate what can be done. The example shows what was the highest/lowest value of RSI since the previous cross of Stochastic. So that you don't enter SHORT on Stochastic crossunder, if RSI didn't reach oversold (<30) since the previous Stochastic crossunder = aka maybe the downtrend has exhausted.
I'm sure you'll find plenty of use cases for it in your studies and strategies as well. If you create your own code using my Highest/Lowest functions, don't hesitate to put a link down here in comments.
P.S. This is not a strategy in any way, so don't ask me "does it backtest well?".
P.S.2 This code doesn't repaint as well ;)
Us, coders would like to do this: `highest(series,barssince(...))`
But it is not working.
Numerous coders are using RicardoSantos' f_highest/f_lowest script (tradingview.com/script/32ohT5SQ-Function-Highest-Lowest/), probably the most often copy/pasted snippet of PineScript code out there. It is doing more-less what `highest(series,barssince(...))` would be doing, but with hardcoded max bars back.
Ricardo is my idol by the way, but that didn't stop me from creating my own version of Highest/Lowest functions. They are fast, simple, effective and very light for Pine engine.
Please treat this as an OPEN SOURCE snippet of code, which can be used in variety of ways.
I have implemented a simple use-case myself, to demonstrate what can be done. The example shows what was the highest/lowest value of RSI since the previous cross of Stochastic. So that you don't enter SHORT on Stochastic crossunder, if RSI didn't reach oversold (<30) since the previous Stochastic crossunder = aka maybe the downtrend has exhausted.
I'm sure you'll find plenty of use cases for it in your studies and strategies as well. If you create your own code using my Highest/Lowest functions, don't hesitate to put a link down here in comments.
P.S. This is not a strategy in any way, so don't ask me "does it backtest well?".
P.S.2 This code doesn't repaint as well ;)
發行說明
Removed unnecessary nz() calls. This is much cleaner. Thanks LucF for tutoring me!發行說明
One more cleaning fix delivered thanks to LucF's mentorship :)開源腳本
本著TradingView的真正精神,此腳本的創建者將其開源,以便交易者可以查看和驗證其功能。向作者致敬!雖然您可以免費使用它,但請記住,重新發佈程式碼必須遵守我們的網站規則。
I auto-execute TradingView Alerts into MT4/MT5 using this: tradingconnector.com 1-second delivery. Ping me if you need support with installation.
免責聲明
這些資訊和出版物並不意味著也不構成TradingView提供或認可的金融、投資、交易或其他類型的意見或建議。請在使用條款閱讀更多資訊。
開源腳本
本著TradingView的真正精神,此腳本的創建者將其開源,以便交易者可以查看和驗證其功能。向作者致敬!雖然您可以免費使用它,但請記住,重新發佈程式碼必須遵守我們的網站規則。
I auto-execute TradingView Alerts into MT4/MT5 using this: tradingconnector.com 1-second delivery. Ping me if you need support with installation.
免責聲明
這些資訊和出版物並不意味著也不構成TradingView提供或認可的金融、投資、交易或其他類型的意見或建議。請在使用條款閱讀更多資訊。