Intelligent Price Action - Movement Up (Expo)Intelligent Price Action - Movement Up (Expo)
DESCRIPTION
Intelligent Price Action - Movement Up (Expo) identifies important up movements that have an impact on current price characteristics. The indicator is visualizing buying pressure! These price patterns are valuable insight when trading the market.
This indicator response faster to price movement and is more focused on detecting buying pressure rather than exhausted buyers.
• Buying pressure is seen in reversal points.
• Buying pressure can be seen when the buyers are exhausted.
• Buying pressure can be seen in positive breakouts.
HOW TO USE
1. Use the indicator to identify buying pressure.
2. Use the indicator to identify reversal points.
3. Use the indicator to identify exhausted buyers.
4. Use the indicator to identify breakouts.
Combine the indicator with ‘ Intelligent Price Action - Movement Down (Expo) ’ or with my other Price Action indicators.
INDICATOR IN ACTION
EURUSD
BTCUSD
BTCUSD
GOLD
WALL STREET
WALL STREET
BTCUSD
EURUSD
The indicator works with RENKO, HEIKIN ASHI and with KAGI charts as well.
I hope you find this indicator useful , and please comment or contact me if you like the script or have any questions/suggestions for future improvements. Thanks!
I will continue to work on this indicator, so please share your experience and feedback with me so that I can continuously improve it. Thanks to everyone that have contacted me regarding my scripts. Your feedback is valuable for future developments!
ACCESS THE INDICATOR
• Contact me on TradingView or use the links below
-----------------
Disclaimer
Copyright by Zeiierman.
The information contained in my scripts/indicators/ideas does not constitute financial advice or a solicitation to buy or sell any securities of any type. I will not accept liability for any loss or damage, including without limitation any loss of profit, which may arise directly or indirectly from use of or reliance on such information.
All investments involve risk, and the past performance of a security, industry, sector, market, financial product, trading strategy, or individual’s trading does not guarantee future results or returns. Investors are fully responsible for any investment decisions they make. Such decisions should be based solely on an evaluation of their financial circumstances, investment objectives, risk tolerance, and liquidity needs.
My scripts/indicators/ideas are only for educational purposes!
Pesquisar nos scripts por "the script"
Intelligent Price Action - Movement Down (Expo)Intelligent Price Action - Movement Down (Expo)
DESCRIPTION
Intelligent Price Action - Movement Down (Expo) identifies important down movements that have an impact on current price characteristics. The indicator is visualizing selling pressure! These price patterns are valuable insight when trading the market.
This indicator response faster to price movement and is more focused on detecting selling pressure rather than exhausted sellers.
• Selling pressure is seen in reversal points.
• Selling pressure can be seen when the sellers are exhausted.
• Selling pressure can be seen in negative breakouts.
HOW TO USE
1. Use the indicator to identify selling pressure.
2. Use the indicator to identify reversal points.
3. Use the indicator to identify exhausted sellers.
4. Use the indicator to identify breakouts.
Combine the indicator with ‘ Intellilligent Price Action - Movement Up (Expo) ’ or with my other Price Action indicators.
INDICATOR IN ACTION
EURUSD
EURUSD
BTCUSD
BTCUSD
GOLD
WALL STREET
WALL STREET
EURUSD
BTCUSD
BRENT
The indicator works with RENKO, HEIKIN ASHI and with KAGI charts as well.
I hope you find this indicator useful , and please comment or contact me if you like the script or have any questions/suggestions for future improvements. Thanks!
I will continue to work on this indicator, so please share your experience and feedback with me so that I can continuously improve it. Thanks to everyone that have contacted me regarding my scripts. Your feedback is valuable for future developments!
ACCESS THE INDICATOR
• Contact me on TradingView or use the links below
-----------------
Disclaimer
Copyright by Zeiierman.
The information contained in my scripts/indicators/ideas does not constitute financial advice or a solicitation to buy or sell any securities of any type. I will not accept liability for any loss or damage, including without limitation any loss of profit, which may arise directly or indirectly from use of or reliance on such information.
All investments involve risk, and the past performance of a security, industry, sector, market, financial product, trading strategy, or individual’s trading does not guarantee future results or returns. Investors are fully responsible for any investment decisions they make. Such decisions should be based solely on an evaluation of their financial circumstances, investment objectives, risk tolerance, and liquidity needs.
My scripts/indicators/ideas are only for educational purposes!
Intelligent Price Action - Positive Close (Expo)Intelligent Price Action - Positive Close (Expo)
DESCRIPTION
Intelligent Price Action - Positive Close (Expo) identifies important positive closes that have an impact on current price characteristics. The indicator is visualizing buying pressure! These price patterns are valuable insight when trading the market.
• Buying pressure is seen in reversal points.
• Buying pressure can be seen when the buyers are exhausted.
• Buying pressure can be seen in positive breakouts.
HOW TO USE
1. Use the indicator to identify buying pressure.
2. Use the indicator to identify reversal points.
3. Use the indicator to identify exhausted buyers.
4. Use the indicator to identify breakouts.
Combine the indicator with ‘I ntellilligent Price Action - Negative Close (Expo) ’ or with my other Price Action indicators.
INDICATOR IN ACTION
EURUSD
EURUSD
BTCUSD
BRENT
WALL STREET
WALL STREET
WALL STREET
BTCUSD
BTCUSD
EURUSD
EURUSD
The indicator works with RENKO, HEIKIN ASHI and with KAGI charts as well.
I hope you find this indicator useful , and please comment or contact me if you like the script or have any questions/suggestions for future improvements. Thanks!
I will continue to work on this indicator, so please share your experience and feedback with me so that I can continuously improve it. Thanks to everyone that have contacted me regarding my scripts. Your feedback is valuable for future developments!
ACCESS THE INDICATOR
• Contact me on TradingView or use the links below
-----------------
Disclaimer
Copyright by Zeiierman.
The information contained in my scripts/indicators/ideas does not constitute financial advice or a solicitation to buy or sell any securities of any type. I will not accept liability for any loss or damage, including without limitation any loss of profit, which may arise directly or indirectly from use of or reliance on such information.
All investments involve risk, and the past performance of a security, industry, sector, market, financial product, trading strategy, or individual’s trading does not guarantee future results or returns. Investors are fully responsible for any investment decisions they make. Such decisions should be based solely on an evaluation of their financial circumstances, investment objectives, risk tolerance, and liquidity needs.
My scripts/indicators/ideas are only for educational purposes!
Trend Scalper (Expo)Trend Scalper (Expo)
DESCRIPTION
Trend Scalper (Expo) is a Scalping strategy based on RSI, Stochastic and moving averages techniques. The idea is to visualize scalping opportunities in trends.
The trend is determined by the color of the moving average called ‘TrendHolder’ The ‘Trendholer’ consists of 3 colors, green, red and orange. Green is a positive trend, red is a negative trend and orange is a neutral or no trend.
Scalping opportunities are visualized by the circles and the triangles. The circles are based on RSI calculation. The triangles are based on Stochastic calculation.
- If there is a green circle and a green triangle and ‘Trendholder’ is orange or green, Enter Long!
- If there is a red circle and a red triangle and ‘Trendholder’ is orange or red, Enter Short!
Combine the indicator with HEIKIN ASHI candlesticks.
HOW TO USE
1. Use the indicator to find scalping opportunities in trends.
I NDICATOR IN ACTION
BTCUSD
EURUSD
GOLD
The indicator works with RENKO, HEIKIN ASHI and with KAGI charts as well.
I hope you find this indicator useful, and please comment or contact me if you like the script or have any questions/suggestions for future improvements. Thanks!
I will continue to work on this indicator, so please share your experience and feedback with me so that I can continuously improve it. Thanks to everyone that have contacted me regarding my scripts. Y our feedback is valuable for future developments!
ACCESS THE INDICATOR
• Contact me on TradingView or use the links below
-----------------
Disclaimer
Copyright by Zeiierman.
The information contained in my scripts/indicators/ideas does not constitute financial advice or a solicitation to buy or sell any securities of any type. I will not accept liability for any loss or damage, including without limitation any loss of profit, which may arise directly or indirectly from use of or reliance on such information.
All investments involve risk, and the past performance of a security, industry, sector, market, financial product, trading strategy, or individual’s trading does not guarantee future results or returns. Investors are fully responsible for any investment decisions they make. Such decisions should be based solely on an evaluation of their financial circumstances, investment objectives, risk tolerance, and liquidity needs.
My scripts/indicators/ideas are only for educational purposes!
TTTT Trend (Expo)TTTT Trend (Expo)
DESCRIPTION
TTTT Trend (Expo) indicator is designed to visualize negative trends. Negative trends are often categorized with higher volatility and thus the price can change dramatically over a short period in either direction. The indicator detects these price fluctuations and visualizes it with a red cloud. So the trend is negative as long as the indicator has a red cloud. Respectively, if the indicator has no red cloud it’s a sign that the trend is positive.
The TTTT Trend (Expo) comes with 3 trend layers that have different sensitivity and can be enabled or disable.
HOW TO USE
1. Use the indicator to visualize negative trends.
2. Use the indicator to visualize positive trends.
INDICATOR IN ACTION
EURUSD
EURUSD
BTCUSD
BTCUSD
WALL STREET
EURGBP
The indicator works with RENKO, HEIKIN ASHI and with KAGI charts as well.
I hope you find this indicator useful, and please comment or contact me if you like the script or have any questions/suggestions for future improvements. Thanks!
I will continue to work on this indicator, so please share your experience and feedback with me so that I can continuously improve it. Thanks to everyone that have contacted me regarding my scripts. Your feedback is valuable for future developments!
ACCESS THE INDICATOR
• Contact me on TradingView or use the links below
-----------------
Disclaimer
Copyright by Zeiierman.
The information contained in my scripts/indicators/ideas does not constitute financial advice or a solicitation to buy or sell any securities of any type. I will not accept liability for any loss or damage, including without limitation any loss of profit, which may arise directly or indirectly from use of or reliance on such information.
All investments involve risk, and the past performance of a security, industry, sector, market, financial product, trading strategy, or individual’s trading does not guarantee future results or returns. Investors are fully responsible for any investment decisions they make. Such decisions should be based solely on an evaluation of their financial circumstances, investment objectives, risk tolerance, and liquidity needs.
My scripts/indicators/ideas are only for educational purposes!
Trend analysis - Take Profit (Expo)Trend analysis - Take Profit (Expo)
DESCRIPTION
Trend analysis - Take Profit (Expo) indicator is developed to visualize ‘Lock In Profits -points' in trends. It’s a necessity for a professional trader to continuously ‘Lock In Profit’ in order to grow their balance and to reduce their risk. In fact, research shows that exits have more impact on the results than any other factor (Tharp, 2006). So when the indicator shows a ‘TP’ - point, start to lock in some of your profit and continuously do so on every TP - point and exit the trade when a circle is shown.
The indicator does also visualizes the current trend by the color of the cloud. Green color = positive trend. Red color = negative trend.
The professional trader will have the possibility to adjust the sensitivity of the TP - point as well as the length of the trend calculation.
HOW TO USE
1. Use this indicator to identify when to Lock In Profits in trends.
2. Use the indicator to identify trends.
3. Use the indicator to identify a trend shift.
INDICATOR IN ACTION
BTCUSD
BTCUSD
EURUSD
BRENT
EURGBP
The indicator works with RENKO, HEIKIN ASHI and with KAGI charts as well.
I hope you find this indicator useful, and please comment or contact me if you like the script or have any questions/suggestions for future improvements. Thanks!
I will continue to work on this indicator, so please share your experience and feedback with me so that I can continuously improve it. Thanks to everyone that have contacted me regarding my scripts. Your feedback is valuable for future developments!
ACCESS THE INDICATOR
• Contact me on TradingView or use the links below
-----------------
Disclaimer
Copyright by Zeiierman.
The information contained in my scripts/indicators/ideas does not constitute financial advice or a solicitation to buy or sell any securities of any type. I will not accept liability for any loss or damage, including without limitation any loss of profit, which may arise directly or indirectly from use of or reliance on such information.
All investments involve risk, and the past performance of a security, industry, sector, market, financial product, trading strategy, or individual’s trading does not guarantee future results or returns. Investors are fully responsible for any investment decisions they make. Such decisions should be based solely on an evaluation of their financial circumstances, investment objectives, risk tolerance, and liquidity needs.
My scripts/indicators/ideas are only for educational purposes!
Adaptive Trend (Expo)Adaptive Trend (Expo)
DESCRIPTION
This Adaptive Trend (Expo) indicator is used to detect trends as well as to adapt to the trend characteristic in order to filter-out trend noise. Having an indicator like this enables professional traders to stay longer in trends. The indicator is also equipped with upper- and lower boundaries as well as a mid-line.
Positive trend
If the two trendlines (positive & negative trendline) emerges into one single line, it’s regarded as a positive trend. If a green cloud is painted in the indicator it’s a sign that the indicator is categorizing that price move as noise, and thus the professional trader should keep their long position, or enter Long.
Negative trend
If the two trendlines (positive & negative trendline) separates and become two lines as well as a red cloud is painted in the indicator, this is regarded as a negative trend.
As a general rule, if the ‘positive & negative trendline’ is above the midline there is a positive trend. If the ‘positive & negative trendline’ is below the midline there is a negative trend.
You have the possibility to change the ‘trendvalue’, a shorter length is more sensitive than a longer length.
HOW TO USE
1. Use the indicator to identify trends.
2. Use the indicator as a trend following strategy.
INDICATOR IN ACTION
EURUSD
EURUSD
EURUSD
BTCUSD
The indicator works with RENKO, HEIKIN ASHI and with KAGI charts as well.
I hope you find this indicator useful, and please comment or contact me if you like the script or have any questions/suggestions for future improvements. Thanks!
I will continue to work on this indicator, so please share your experience and feedback with me so that I can continuously improve it. Thanks to everyone that have contacted me regarding my scripts. Your feedback is valuable for future developments!
ACCESS THE INDICATOR
• Contact me on TradingView or use the links below
-----------------
Disclaimer
Copyright by Zeiierman.
The information contained in my scripts/indicators/ideas does not constitute financial advice or a solicitation to buy or sell any securities of any type. I will not accept liability for any loss or damage, including without limitation any loss of profit, which may arise directly or indirectly from use of or reliance on such information.
All investments involve risk, and the past performance of a security, industry, sector, market, financial product, trading strategy, or individual’s trading does not guarantee future results or returns. Investors are fully responsible for any investment decisions they make. Such decisions should be based solely on an evaluation of their financial circumstances, investment objectives, risk tolerance, and liquidity needs.
My scripts/indicators/ideas are only for educational purposes!
Extremes (Expo) Extremes (Expo)
DESCRIPTION
This Extreme (Expo) indicator identifies areas where the market is extreme. The length of the extreme calculation can be changed and gives you the flexibility to choose how sensitive the indicator should be. A longer length means that the indicator only identifies bold extremes. A shorter length is more sensitive and thus identifies all extremes in the market.
When the market is in an extreme mode, keep your trade until the extreme mode ends.
Postive extreme is when the price is above the positive extreme lines. (Keep your long trade until the positive extreme ends).
Negative extreme is when the price is below the negative extreme lines. (Keep your short trade until the negative extreme ends).
The Extremes (Expo) can be used to visualize the trend. Price crossing indicates a directional change. Price can also bounce off the extremes lines, which can act as dynamic support and resistance. It is often used in combination with other signals and analysis techniques.
TREND
The indictor has a Trend- feature that can be switched on which identifies trend shifts as well as trend direction.
A positive trend is when all three trendlines are green, and when the price is at least above one of these three lines.
A Negative trend is when all three trendlines are red, and when the price is at least under one of these three lines.
When the color of the trend lines changes color it indicates that the trend might shift direction. When all three trendlines have shifted color a trend is established.
PULLBACK
A bonus feature that is added to the trend-setting is that it can detect pullbacks in trends. This is visualized by that one of the three trendlines change color. For instance, say that all 3 lines are red (negative trend) and one of these lines changes color to green it can be regarded as a pullback in the negative trend.
HOW TO USE
1. Use the indicator to identify extreme areas.
2. Use the indicator to identify trends.
3. Use the indicator to identify trend shifts.
4. Use the indicator to identify pullbacks in trends.
INDICATOR IN ACTION
EXTREMES
BTCUSD
BTCUSD
TESLA
WALL STREET
TREND & PULLBACK
WALL STREET
EURUSD
I hope you find this indicator useful , and please comment or contact me if you like the script or have any questions/suggestions for future improvements. Thanks!
I will continue to work on this indicator, so please share your experience and feedback with me so that I can continuously improve it. Thanks to everyone that have contacted me regarding my scripts. Your feedback is valuable for future developments!
ACCESS THE INDICATOR
• Contact me on TradingView or use the links below
-----------------
Disclaimer
Copyright by Zeiierman.
The information contained in my scripts/indicators/ideas does not constitute financial advice or a solicitation to buy or sell any securities of any type. I will not accept liability for any loss or damage, including without limitation any loss of profit, which may arise directly or indirectly from use of or reliance on such information.
All investments involve risk, and the past performance of a security, industry, sector, market, financial product, trading strategy, or individual’s trading does not guarantee future results or returns. Investors are fully responsible for any investment decisions they make. Such decisions should be based solely on an evaluation of their financial circumstances, investment objectives, risk tolerance, and liquidity needs.
My scripts/indicators/ideas are only for educational purposes!
Volatility Index (Expo)Volatility Index (Expo)
DESCRIPTION
Volatility can be referred to many things, but a commonly accepted definition of volatility is that it’s a measure of the risk or uncertainty in the market. Higher volatility is equal to more risk in the market. A simple way of describing it is that when volatility is high, the value of the market can be spread out over a larger range of values. This means that the price of the market can change dramatically over a short time period in either direction. A lower volatility means that a market's value does not fluctuate dramatically, and tends to be steadier. However, how to calculate and to apply volatility has been widely debated and many different calculations have been used. Volatility Index is a must for a professional trader in today's volatile markets.
This Volatility Index is derived from research within Volatility.
HOW TO USE
1. Use the indicator to detect low- respectively high volatility.
2. Enter the market when the volatility is low, and exit the market when the volatility is high.
3. Use the indicator to identify when the volatility peaks. Can indicate that the market will shift or can be good areas to take profits.
Trend
When the market is in a positive trend, the volatility is low and stable. The opposite happens when the market is in a negative trend, the volatility is high and price moves boldly.
As a rule ,when volatility increases unusually(abnormal) in relation to previous periods something is happening in the market, then wait until the volatility peaks or when the indicator does not make any new highs (the indicator becomes flat), and in conjunction with that the trending price action doesn’t make any new lows or respectively highs. When this happens there is a high probability that the market will take a temporary turn.
Positive volatility refers to when the volatility index increases with green candlesticks this means that the buyers are more aggressive than sellers. (Can indicate a trend change)
Negative volatility refers to when the volatility index increases with red candlesticks this means that the sellers are more aggressive than buyers. (Can indicate a trend change)
INDICATOR IN ACTION
This indicator is best presented live, the graphs below gives a hint of how the Volatility Index works.
The indicator works on any market, security, currency, stock, etc. and on any timeframe.
BTCUSD
EURUSD
WALL STREET
I hope you find this indicator useful , and please comment or contact me if you like the script or have any questions/suggestions for future improvements. Thanks!
I will continue to work on this indicator, so please share your experience and feedback with me so that I can continuously improve it. Thanks to everyone that have contacted me regarding my scripts. Your feedback is valuable for future developments!
ACCESS THE INDICATOR
• Contact me on TradingView or use the links below
-----------------
Disclaimer
Copyright by Zeiierman.
The information contained in my scripts/indicators/ideas does not constitute financial advice or a solicitation to buy or sell any securities of any type. I will not accept liability for any loss or damage, including without limitation any loss of profit, which may arise directly or indirectly from use of or reliance on such information.
All investments involve risk, and the past performance of a security, industry, sector, market, financial product, trading strategy, or individual’s trading does not guarantee future results or returns. Investors are fully responsible for any investment decisions they make. Such decisions should be based solely on an evaluation of their financial circumstances, investment objectives, risk tolerance, and liquidity needs.
My scripts/indicators/ideas are only for educational purposes!
Intelligent Trend (Expo)Intelligent Trend - (Expo)
DESCRIPTION
The Intelligent Trend is a powerful trend visualizing tool with real-time decision points. The indicator analyzes the current trend and identifying areas where a new decision should be made. These points will appear in pullbacks or where the market will change. The trader should always make a new decision on these points.
You can switch on the "long-term Trend", which is an incredible good way to visualize the long-term trend. Otherwise, the recommended settings for the indicator is a length of 75- 200.
HOW TO USE
1. Use the indicator to visualize trends.
2. Use the indicator to identify real-time decision points in the market.
INDICATOR IN ACTION
APPLE
BTCUSD
BTCUSD
BRENT
AMZN
EURUSD
EURUSD
I hope you find this indicator useful, and please comment or contact me if you like the script or have any questions/suggestions for future improvements. Thanks!
I will continue to work on this indicator, so please share your experience and feedback with me so that I can continuously improve it. Thanks to everyone that have contacted me regarding my scripts. Your feedback is valuable for future developments!
ACCESS THE INDICATOR
• Contact me on TradingView or use the links below
-----------------
Disclaimer
Copyright by Zeiierman.
The information contained in my scripts/indicators/ideas does not constitute financial advice or a solicitation to buy or sell any securities of any type. I will not accept liability for any loss or damage, including without limitation any loss of profit, which may arise directly or indirectly from use of or reliance on such information.
All investments involve risk, and the past performance of a security, industry, sector, market, financial product, trading strategy, or individual’s trading does not guarantee future results or returns. Investors are fully responsible for any investment decisions they make. Such decisions should be based solely on an evaluation of their financial circumstances, investment objectives, risk tolerance, and liquidity needs.
My scripts/indicators/ideas are only for educational purposes!
Intelligent Zones (Expo)Intelligent Zones - (Expo)
DESCRIPTION
Intelligent zones is a real-time based indicator that creates colored zones that can act as support or resistance levels. These zones that are painted on the graph are important levels that the future price will react too.
Generally, strategy:
--> If the price crosses up from the cloud it can be considered as a positive “breakout” and the price will most probably continue in that direction.
--> If the price crosses down from the cloud it can be considered as negative “breakout” and the price will most probably continue in that direction.
--> If the price is above the black line it can be considered as positive sentiment, and if the price is below the black line it can be considered as a negative sentiment.
--> The indicator comes in 2 versions. The main difference is how the intelligent cloud is calculated. Sensitive or not.
HOW TO USE
1. Use the indicator to identify real-time market zones.
2. Use the indicator to visualize breakouts.
INDICATOR IN ACTION
The indicator is best presented live, the graphs below are a good guide.
EURUSD
BTCUSD
BRENT
I hope you find this indicator useful , and please comment or contact me if you like the script or have any questions/suggestions for future improvements. Thanks!
I will continue to work on this indicator, so please share your experience and feedback with me so that I can continuously improve it. Thanks to everyone that have contacted me regarding my scripts. Your feedback is valuable for future developments!
ACCESS THE INDICATOR
• Contact me on TradingView or use the links below
-----------------
Disclaimer
Copyright by Zeiierman.
The information contained in my scripts/indicators/ideas does not constitute financial advice or a solicitation to buy or sell any securities of any type. I will not accept liability for any loss or damage, including without limitation any loss of profit, which may arise directly or indirectly from use of or reliance on such information.
All investments involve risk, and the past performance of a security, industry, sector, market, financial product, trading strategy, or individual’s trading does not guarantee future results or returns. Investors are fully responsible for any investment decisions they make. Such decisions should be based solely on an evaluation of their financial circumstances, investment objectives, risk tolerance, and liquidity needs.
My scripts/indicators/ideas are only for educational purposes!
High – Low Trend Indicator Signal (Expo)High - Low Trend Indicator Signal - (Expo)
DESCRIPTION
This indicator is derived from my previous one called High – Low Trend Indicator (Expo) , but the difference is that this one generates Long signals and detects market changes. These two indicators are intended to be used in the same chart for better accuracy and validation of signals. The indicator is perfectly used to identify pullbacks in positive trends!
HOW TO USE
When a signal appears, consider enter long, or look for confirmation patterns. Such confirmation could be seen in the High – Low Trend Indicator (Expo) when the red cloud disappears or when the black price line crosses out from the red cloud, or when the black price line crosses up over the blue midline.
So,
1. Use the indicator to identify Long signals.
2. Use the indicator to find Entry points in positive trends.
3. Use the indicator to detect market changes.
4. Combine it with High – Low Trend Indicator (Expo).
INDICATOR IN ACTION
The indicator is best presented live, the graphs below are a good guide.
EURUSD
DAX
WALL STREET
GOLD
I hope you find this indicator useful , and please comment or contact me if you like the script or have any questions/suggestions for future improvements. Thanks!
I will continue to work on this indicator, so please share your experience and feedback with me so that I can continuously improve it. Thanks to everyone that have contacted me regarding my scripts. Your feedback is valuable for future developments!
ACCESS THE INDICATOR
• Contact me on TradingView or use the links below
-----------------
Disclaimer
Copyright by Zeiierman.
The information contained in my scripts/indicators/ideas does not constitute financial advice or a solicitation to buy or sell any securities of any type. I will not accept liability for any loss or damage, including without limitation any loss of profit, which may arise directly or indirectly from use of or reliance on such information.
All investments involve risk, and the past performance of a security, industry, sector, market, financial product, trading strategy, or individual’s trading does not guarantee future results or returns. Investors are fully responsible for any investment decisions they make. Such decisions should be based solely on an evaluation of their financial circumstances, investment objectives, risk tolerance, and liquidity needs.
My scripts/indicators/ideas are only for educational purposes!
High - Low Trend Indicator - (Expo)High - Low Trend Indicator - (Expo)
DESCRIPTION
This trend indicator is derived from the highest (High) and lowest (Low). The unique formula enables clarity in trends and fast response to market changes.
Negative trend
The market could be considered to be in a negative trend when the black price line is under the blue Midline and a major red cloud is created. For some markets, the orange- trendline can be switched on to identify the long-term trend in the market. So, if the price line is under the orange trendline the market is in a negative trend.
Positive trend
The market could be considered to be in a positive trend when the black price line is above the blue Midline and close to the upper-line. For some markets, the orange-trendline can be switched on to identify the long-term trend in the market. So, if the price line is above the orange trendline the market is in a positive trend.
The indicator should be used in combination with High – Low Trend Indicator Signal (Expo) to identify market changes.
HOW TO USE
1. Use the indicator to identify trends.
2. Use the indicator to find Entry points in trends.
3. Combine it with High – Low Trend Indicator Signal (Expo).
INDICATOR IN ACTION
The indicator is best presented live, the graphs below are a good guide.
EURUSD
DAX
WALL STREET
EURJPY
GOLD
I hope you find this indicator useful , and please comment or contact me if you like the script or have any questions/suggestions for future improvements. Thanks!
I will continue to work on this indicator, so please share your experience and feedback with me so that I can continuously improve it. Thanks to everyone that have contacted me regarding my scripts. Your feedback is valuable for future developments!
ACCESS THE INDICATOR
• Contact me on TradingView or use the links below
-----------------
Disclaimer
Copyright by Zeiierman.
The information contained in my scripts/indicators/ideas does not constitute financial advice or a solicitation to buy or sell any securities of any type. I will not accept liability for any loss or damage, including without limitation any loss of profit, which may arise directly or indirectly from use of or reliance on such information.
All investments involve risk, and the past performance of a security, industry, sector, market, financial product, trading strategy, or individual’s trading does not guarantee future results or returns. Investors are fully responsible for any investment decisions they make. Such decisions should be based solely on an evaluation of their financial circumstances, investment objectives, risk tolerance, and liquidity needs.
My scripts/indicators/ideas are only for educational purposes!
Parametric Oscillator (Expo)Parametric Oscillator (Expo)
DESCRIPTION
Parametric Oscillator is an ATR based indicator that both shows the momentum in the market and overbought/oversold areas. The indicator has a price line that can be used for market timing.
This indicator is a good complement to Cumulative Delta (Expo) . If you absolutely want to understand momentum and market timing, these indicators should be used together with Parametric ATR Signal (Expo) .
HOW TO USE
1. Use the indicator to detect trends.
2. Use the indicator to assess the momentum in the market.
3. Use the indicator to identify overbought and oversold areas.
4. Combine the indicator with Cumulative Delta (Expo) and with Parametric ATR Signal (Expo) .
INDICATOR IN ACTION
REGULAR – SCALE
TREND
• A positive trend: the candlesticks are above the midline.
• A negative trend: the candlesticks are below the midline.
• The midline can act as a support or resistance level
OverBought
• The candlesticks are approaching the upper-cloud
OverSold
• The candlesticks are approaching the lower-cloud
EURUSD
BTCUSD
BRENT
EURUSD
LOGARITHMIC – SCALE
TREND
• A positive trend: the candlesticks are close to the upper cloud.
• A negative trend: the candlesticks are close to the lower cloud.
OverBought
• We must have a negative trend and the Price-line peak up above the midline.
OverSold
• We must have a positive trend and the Price-line peak down below the midline
EURUSD
BTCUSD
GOLD
RENKO CHART
BTCUSD
DIVERGENCES
All types of momentum oscillator indicators produce divergences and so does Parametric oscillator (Expo). Divergences occur when the oscillator deviates from the trending price action. Bullish divergence is then when the trending price makes a lower low but the oscillator makes a higher low. Bearish divergence is then when the trending price makes a higher high but the oscillator makes a lower high.
I hope you find this indicator useful , and please comment or contact me if you like the script or have any questions/suggestions for future improvements. Thanks!
I will continue to work on this indicator, so please share your experience and feedback with me so that I can continuously improve it. Thanks to everyone that have contacted me regarding my scripts. Y our feedback is valuable for future developments!
ACCESS THE INDICATOR
• Contact me on TradingView or use the links below
-----------------
Disclaimer
Copyright by Zeiierman.
The information contained in my scripts/indicators/ideas does not constitute financial advice or a solicitation to buy or sell any securities of any type. I will not accept liability for any loss or damage, including without limitation any loss of profit, which may arise directly or indirectly from use of or reliance on such information.
All investments involve risk, and the past performance of a security, industry, sector, market, financial product, trading strategy, or individual’s trading does not guarantee future results or returns. Investors are fully responsible for any investment decisions they make. Such decisions should be based solely on an evaluation of their financial circumstances, investment objectives, risk tolerance, and liquidity needs.
My scripts/indicators/ideas are only for educational purposes!
Cumulative delta (Expo)Cumulative Delta (Expo)
DESCRIPTION
This is a variant of the famous Cumulative Delta function.
The indicator is designed to spot trends, give a sign when it’s rewarding to buy pullbacks and indicate when the market is overbought or oversold.
The indicator oscillates between the Top- and the Bottom- line. If the Candlesticks are above the midline, we have a positive trend, if the Candlesticks are below the midline, we have a negative trend.
The Signal-line is responding to every relevant price move in the market. The signal-line indicates overbought and oversold areas as well as when it’s good to buy pullbacks in trends.
The Confirmation -line smooths out the values of the candlesticks and serves a confirmation-line of the current trend.
This indicator is perfectly combined with Parametric Oscillator (Expo) .
HOW TO USE
1. Use the indicator to detect a trend or to stay in the trend.
2. Use the indicator to buy Pullbacks in trend.
4. Combine it with the indicator Parametric Oscillator (Expo) .
INDICATOR IN ACTION
BTCUSD
WALL STREET
GOLD
BRENT
EURUSD
RENKO CHART
BTCUSD
EURUSD
I hope you find this indicator useful , and please comment or contact me if you like the script or have any questions/suggestions for future improvements. Thanks!
I will continue to work on this indicator, so please share your experience and feedback with me so that I can continuously improve it. Thanks to everyone that have contacted me regarding my scripts. Your feedback is valuable for future developments!
ACCESS THE INDICATOR
• Contact me on TradingView or use the links below
-----------------
Disclaimer
Copyright by Zeiierman.
The information contained in my scripts/indicators/ideas does not constitute financial advice or a solicitation to buy or sell any securities of any type. I will not accept liability for any loss or damage, including without limitation any loss of profit, which may arise directly or indirectly from use of or reliance on such information.
All investments involve risk, and the past performance of a security, industry, sector, market, financial product, trading strategy, or individual’s trading does not guarantee future results or returns. Investors are fully responsible for any investment decisions they make. Such decisions should be based solely on an evaluation of their financial circumstances, investment objectives, risk tolerance, and liquidity needs.
My scripts/indicators/ideas are only for educational purposes!
High-Low- Signal (Expo)High-Low-Signal (Expo)
DESCRIPTION
This simple but powerful High-Low indicator plots price extremes. Either it’s an exhausting sign or a continuation sign of the trend. The color of the cloud determines the trend, and the height of the peaks determines the strength in the price moves. You can easily compare current peaks with historical ones to understand the current dynamics and what might happen next.
This indicator is a must if you want to understand price dynamics in the market. The indicator is perfect to combine with other indicators to confirm the signal.
For example:
Combine it with trend lines/Channels/Bollinger Band, you name it! If the indicator peaks in conjunction with that the price reaches a trend line/Channels/Bollinger Band. It's a great sign!
HOW TO USE
1. Look for a signal
2. Identify the color and height of the peak. Compare it to historical ones to get an understanding of the current market dynamics.
3. Combine the indicator with e.g. trend lines/Channels/Bollinger Band
4. Consider Enter the market.
INDICATOR IN ACTION
BTCUSD
BTCUSD
BTCUSD
Wall Street
EURJPY
EURUSD
GOLD
I hope you find this indicator useful , and please comment or contact me if you like the script or have any questions/suggestions for future improvements. Thanks!
I will continue to work on this indicator, so please share your experience and feedback with me so that I can continuously improve it. Thanks to everyone that have contacted me regarding my scripts. Your feedback is valuable for future developments!
ACCESS THE INDICATOR
• Contact me on TradingView or use the links below
-----------------
Disclaimer
Copyright by Zeiierman.
The information contained in my scripts/indicators/ideas does not constitute financial advice or a solicitation to buy or sell any securities of any type. I will not accept liability for any loss or damage, including without limitation any loss of profit, which may arise directly or indirectly from use of or reliance on such information.
All investments involve risk, and the past performance of a security, industry, sector, market, financial product, trading strategy, or individual’s trading does not guarantee future results or returns. Investors are fully responsible for any investment decisions they make. Such decisions should be based solely on an evaluation of their financial circumstances, investment objectives, risk tolerance, and liquidity needs.
My scripts/indicators/ideas are only for educational purposes!
[Stochastic, MACD - Double-Cross] – Signal (Expo)Stochastic, MACD – Signal (Expo)
DESCRIPTION
This indicator is pairing the Stochastic and MACD and creates a variant of the famous Double Cross Strategy . The indicator is entirely built upon traditional Stochastic and MACD calculations.
This indicator has built-in flexibility that allows you to determine the interval in which stochastic has to be in. It gives you the opportunity to decide if you only want to have trend signals or also want to have market change signals.
HOW TO USE
1. Determine in which interval stochastics has to be in: (Above X and Below Y)
• "The Oversold-value should be above X." A higher value is used in positive trends. A lower value is used when the market is trading in a range or when there is higher volatility. Lower value has the ability to capture market changes.
•" The Overbought-value should be below Y." This value sets the upper limit so that a signal doesn’t appear when stochastic is overbought.
2. Combine the indicator with the original MACD indicator. In order to confirm the momentum.
3. When a signal appears, consider Enter the market.
INDICATOR IN ACTION
USDJPY
BTCUSD
BTCUSD
Dow Jones Industrial Average Index
I hope you find this indicator useful , and please comment or contact me if you like the script or have any questions/suggestions for future improvements. Thanks!
I will continue to work on this indicator, so please share your experience and feedback with me so that I can continuously improve it. Thanks to everyone that have contacted me regarding my scripts. Your feedback is valuable for future developments!
ACCESS THE INDICATOR
• Contact me on TradingView or use the links below
-----------------
Disclaimer
Copyright by Zeiierman.
The information contained in my scripts/indicators/ideas does not constitute financial advice or a solicitation to buy or sell any securities of any type. I will not accept liability for any loss or damage, including without limitation any loss of profit, which may arise directly or indirectly from use of or reliance on such information.
All investments involve risk, and the past performance of a security, industry, sector, market, financial product, trading strategy, or individual’s trading does not guarantee future results or returns. Investors are fully responsible for any investment decisions they make. Such decisions should be based solely on an evaluation of their financial circumstances, investment objectives, risk tolerance, and liquidity needs.
My scripts/indicators/ideas are only for educational purposes!
Stochastic - Signal (Expo)Stochastic - Signal (Expo)
DESCRIPTION
Stochastic is a popular momentum indicator that is built around the assumption that in an uptrend the price close near the high and in a downtrend the price close near the low. By calculating stochastic in this way gives the opportunity to see price momentum and price changes.
THIS INDICATOR PLOTS STOCHASTIC-SIGNALS and makes use of the standard calculation of Stochastic. The indicator has built-in flexibility that allows you to determine the oversold/overbought value and CrossOver/CrossUnder value of Stochastic. This enables you to fit the values to the current market characteristics.
HOW TO USE
1. Determine the oversold and overbought value depending on current market characteristics
2. Determine the CrossOver and CrossUnder value depending on current market characteristics
3. When the signal appears, consider Enter the market.
INDICATOR IN ACTION
Wall Street This setting on the indicator enables you to follow trends!
AMZN
Dow Jones Industrial Average Index
GOLD
DIVERGENCES
All types of momentum oscillator indicators produce divergences and so does Stochastics. Divergences occur when the oscillator deviates from the trending price action. Bullish divergence is then when the trending price makes a lower low but the oscillator makes a higher low. Bearish divergence is then when the trending price makes a higher high but the oscillator makes a lower high.
I hope you find this indicator useful , and please comment or contact me if you like the script or have any questions/suggestions for future improvements. Thanks!
I will continue to work on this indicator, so please share your experience and feedback with me so that I can continuously improve it. Thanks to everyone that have contacted me regarding my scripts. Your feedback is valuable for future developments!
ACCESS THE FREE INDICATOR
• Contact me on TradingView or use the links below
-----------------
Disclaimer
Copyright by Zeiierman.
The information contained in my scripts/indicators/ideas does not constitute financial advice or a solicitation to buy or sell any securities of any type. I will not accept liability for any loss or damage, including without limitation any loss of profit, which may arise directly or indirectly from use of or reliance on such information.
All investments involve risk, and the past performance of a security, industry, sector, market, financial product, trading strategy, or individual’s trading does not guarantee future results or returns. Investors are fully responsible for any investment decisions they make. Such decisions should be based solely on an evaluation of their financial circumstances, investment objectives, risk tolerance, and liquidity needs.
My scripts/indicators/ideas are only for educational purposes!
Camerilla PivotsBefore starting special thanks to @QuantNomad for his script "Ultimate Pivot Point Alerts"
Link : -
Please follow and support him for his work.
In this script I'm modifying how time frame factor is imported into the script and removing other types of Pivots and cleaning it further for only CAMs, I've also added the formulas for 5 and 6 numbers, it will help in trading breakout strategies.
Note that this way of importing Time frame produces minor difference in readings/levels from how it is done in QuantNomads script, so before taking your pics you should calculate your levels on separate sheet and compare which ones are working for you and your strategy.
I've been using this CAM setup for almost a year now, so I coded it as per my needs, it is up to users to utilize it to theirs.
Further utility:
1. You can hide/unhide S/R levels 5/6
2. This is MultiTimeframe version, meaning you can change Time-frame of Pivots being displayed on any TF chart.
3. Lines are produced for only level 3 and 4. And you can choose to hide them. Only Pivot line is kept and can not be hidden.
4. You can also choose to hide/unhide level value and only see label if you want.
5. No historical levels are kept to avoid clutter.
I've not included alerts as I don't use them, but if anyone wants it I suggest referring to @QuantNomad script bank. He has published number of excellent scripts in this regard.
There is no restrictions on this script, it can be used and reproduced freely. Its my way of doing little something for community and my first script.
Enjoy.
Bull Of Bitcoin MABullOfBitcoin MA
From studies conducted by Bull Of Bitcoin
Coding performed by GM_Hedge_Fund
The study is focused on the interactions of the candles with the 7 and 25 Moving Averages.
The script:
Plots 7 (grey), 25 (blue) and 99 (purple) MA on the chart in overlay
Signals a possible Long Entry when the 7MA crosses the 25MA
Signals a possible Short Sell when the second candle that closes under the 7MA
Signals a possible Short Sell (stronger than the previous one) when the first candle that closes under the 25 MA
Suggestions:
The script is meant to be displayed on a naked chart (no other indicators) with light background to facilitate the reading.
The script is complete with alarms and notifications that can be enabled with the button alarm on the right toolbar.
---------------------------------------------------------------------------------------------------------------------------------------------
If you enjoy please consider to support BullOfBitcoin by joining his Telegram, Twitter and Simon following on Twitter, TradingView and by sharing their script.
Twitter
@Bull0fBitcoin
@simonbakercryto
TradingView
@GM_Hedge_Fund
VWAP forex Yesterday Hi/Low update fix This script is an updte fix of an earlier script that stopped functioning when TradingView updated Pine script. This script plots Forex (24 hour session) VWAP, yesterday's high, low, open and close (HLOC),
the day before's HLOC -
Also plots higher timeframe 20 emas
1 minute 5, 15, 60 period 20 ema
5 minute 15, 60 period 20 ema
15 minute 60, 120 , 240 period 20 ema
60 minute 120, 240 period 20 ema
120 minute 240, D period 20 ema
240 minute D period 20 ema
Also signals inside bars (high is less than or equal to the previous bar's high and the low is greater than or equal to the previous low) the : true inside bars have a maroon triangle below the bar as well as a ">" above the bar.
If subsequest bars are inside the last bar before the last true inside bar they also are marked with an ">"
This is probably a slight variation from the way Leaf_West plots the inside bars.
It appears that he marks all bars that are inside the original bar until one a bar has a high or low
outside the original bar. But I would need to see an example on his charts.
The Time Session Glitch and the Fix FX_IDC, COINBASE and BITSTAMP:
The script will correctly default to 1700 hrs to 1700hrs EDT/EST session for FXCM.
Strangely some securities appear to erroneously start their session at 1200 hrs ie. My guess is that they are somehow tied to GMT+0 instead of New York time (GMT+5). See this for yourself by selecting EURUSD using the FXCM exchange (FX:EURUSD) and then EURUSD from the IDC exchange (FX_IDC:EURUSD). The FX-IDC session opening range starts 5 hours before it actually should at 1700 hrs EDT/EST. To correct for this I have implemented an automatic fix (default) and a user selected "5 hour time shift adjust. ment needed on some securities".
There is also a 4 hour time shift button which might be necessary when New York reverts from Eastern Standard Time to Eastern Daylight Time (1 hour difference) in March (and then back again in November). In the default auto adjust mode you will need to select the 1 hour time shift. That is if this glitch still exists at that time.
I have looked at other scripts, other than my own and where the script is available, that need to use information about the opening bar and all have the same time shift issue
COINBASE and BITSTAMP open at 0000 hours GMT. Since I use lines instead of circles or crosses I had to make a small adjustment to plot the lines correctly.
If it needs work let me know.
Jayy
Lunar calendar day Crypto Trading StrategyLunar calendar day Crypto Trading Strategy
This strategy explores the potential impact of the lunar calendar on cryptocurrency price cycles.
It implements a simple but unconventional rule:
Buy on the 5th day of each lunar month
Sell on the 26th day of the lunar month
No trades between January 1 (solar) and Lunar New Year’s Day (holiday buffer period)
Research background
Several academic studies have investigated the influence of lunar cycles on financial markets. Their findings suggest:
Returns tend to be higher around the full moon compared to the new moon.
Periods between the full moon and the waning phase often show stronger average returns than the waxing phase.
This strategy combines those observations into a practical implementation by testing fixed entry (lunar day 5) and exit (lunar day 26) points, while excluding the transition period from solar New Year to Lunar New Year, effectively capturing mid-month lunar effects.
How it works
The script includes a custom lunar date calculation function, reconstructing lunar months and days for each year (2020–2026).
On lunar day 5, the strategy opens a long position with 100% of equity.
On lunar day 26, the strategy closes the position.
No trades are executed between Jan 1 and Lunar New Year’s Day.
All trades include:
Commission: 0.1%
Slippage: 3 ticks
Position sizing uses the entire equity (100%) for simplicity, but this is not recommended for live trading.
Why this is original
Unlike mashups of built-in indicators, this script:
Implements a full lunar calendar system inside Pine Script.
Translates academic findings on lunar effects into an applied backtest.
Adds a realistic trading filter (holiday gap) based on cultural/seasonal calendar rules.
Provides researchers and traders with a framework to explore non-traditional, time-based signals.
Notes
This is an experimental, research-oriented strategy, not financial advice.
Results are highly dependent on the chosen period (2020–2026).
Using 100% equity per trade is for simplification only and is not a viable money management practice.
The purpose is to investigate whether cyclical patterns linked to lunar time can provide any statistical edge in ETHUSDT.
ValueAtTime█ OVERVIEW
This library is a Pine Script® programming tool for accessing historical values in a time series using UNIX timestamps . Its data structure and functions index values by time, allowing scripts to retrieve past values based on absolute timestamps or relative time offsets instead of relying on bar index offsets.
█ CONCEPTS
UNIX timestamps
In Pine Script®, a UNIX timestamp is an integer representing the number of milliseconds elapsed since January 1, 1970, at 00:00:00 UTC (the UNIX Epoch ). The timestamp is a unique, absolute representation of a specific point in time. Unlike a calendar date and time, a UNIX timestamp's meaning does not change relative to any time zone .
This library's functions process series values and corresponding UNIX timestamps in pairs , offering a simplified way to identify values that occur at or near distinct points in time instead of on specific bars.
Storing and retrieving time-value pairs
This library's `Data` type defines the structure for collecting time and value information in pairs. Objects of the `Data` type contain the following two fields:
• `times` – An array of "int" UNIX timestamps for each recorded value.
• `values` – An array of "float" values for each saved timestamp.
Each index in both arrays refers to a specific time-value pair. For instance, the `times` and `values` elements at index 0 represent the first saved timestamp and corresponding value. The library functions that maintain `Data` objects queue up to one time-value pair per bar into the object's arrays, where the saved timestamp represents the bar's opening time .
Because the `times` array contains a distinct UNIX timestamp for each item in the `values` array, it serves as a custom mapping for retrieving saved values. All the library functions that return information from a `Data` object use this simple two-step process to identify a value based on time:
1. Perform a binary search on the `times` array to find the earliest saved timestamp closest to the specified time or offset and get the element's index.
2. Access the element from the `values` array at the retrieved index, returning the stored value corresponding to the found timestamp.
Value search methods
There are several techniques programmers can use to identify historical values from corresponding timestamps. This library's functions include three different search methods to locate and retrieve values based on absolute times or relative time offsets:
Timestamp search
Find the value with the earliest saved timestamp closest to a specified timestamp.
Millisecond offset search
Find the value with the earliest saved timestamp closest to a specified number of milliseconds behind the current bar's opening time. This search method provides a time-based alternative to retrieving historical values at specific bar offsets.
Period offset search
Locate the value with the earliest saved timestamp closest to a defined period offset behind the current bar's opening time. The function calculates the span of the offset based on a period string . The "string" must contain one of the following unit tokens:
• "D" for days
• "W" for weeks
• "M" for months
• "Y" for years
• "YTD" for year-to-date, meaning the time elapsed since the beginning of the bar's opening year in the exchange time zone.
The period string can include a multiplier prefix for all supported units except "YTD" (e.g., "2W" for two weeks).
Note that the precise span covered by the "M", "Y", and "YTD" units varies across time. The "1M" period can cover 28, 29, 30, or 31 days, depending on the bar's opening month and year in the exchange time zone. The "1Y" period covers 365 or 366 days, depending on leap years. The "YTD" period's span changes with each new bar, because it always measures the time from the start of the current bar's opening year.
█ CALCULATIONS AND USE
This library's functions offer a flexible, structured approach to retrieving historical values at or near specific timestamps, millisecond offsets, or period offsets for different analytical needs.
See below for explanations of the exported functions and how to use them.
Retrieving single values
The library includes three functions that retrieve a single stored value using timestamp, millisecond offset, or period offset search methods:
• `valueAtTime()` – Locates the saved value with the earliest timestamp closest to a specified timestamp.
• `valueAtTimeOffset()` – Finds the saved value with the earliest timestamp closest to the specified number of milliseconds behind the current bar's opening time.
• `valueAtPeriodOffset()` – Finds the saved value with the earliest timestamp closest to the period-based offset behind the current bar's opening time.
Each function has two overloads for advanced and simple use cases. The first overload searches for a value in a user-specified `Data` object created by the `collectData()` function (see below). It returns a tuple containing the found value and the corresponding timestamp.
The second overload maintains a `Data` object internally to store and retrieve values for a specified `source` series. This overload returns a tuple containing the historical `source` value, the corresponding timestamp, and the current bar's `source` value, making it helpful for comparing past and present values from requested contexts.
Retrieving multiple values
The library includes the following functions to retrieve values from multiple historical points in time, facilitating calculations and comparisons with values retrieved across several intervals:
• `getDataAtTimes()` – Locates a past `source` value for each item in a `timestamps` array. Each retrieved value's timestamp represents the earliest time closest to one of the specified timestamps.
• `getDataAtTimeOffsets()` – Finds a past `source` value for each item in a `timeOffsets` array. Each retrieved value's timestamp represents the earliest time closest to one of the specified millisecond offsets behind the current bar's opening time.
• `getDataAtPeriodOffsets()` – Finds a past value for each item in a `periods` array. Each retrieved value's timestamp represents the earliest time closest to one of the specified period offsets behind the current bar's opening time.
Each function returns a tuple with arrays containing the found `source` values and their corresponding timestamps. In addition, the tuple includes the current `source` value and the symbol's description, which also makes these functions helpful for multi-interval comparisons using data from requested contexts.
Processing period inputs
When writing scripts that retrieve historical values based on several user-specified period offsets, the most concise approach is to create a single text input that allows users to list each period, then process the "string" list into an array for use in the `getDataAtPeriodOffsets()` function.
This library includes a `getArrayFromString()` function to provide a simple way to process strings containing comma-separated lists of periods. The function splits the specified `str` by its commas and returns an array containing every non-empty item in the list with surrounding whitespaces removed. View the example code to see how we use this function to process the value of a text area input .
Calculating period offset times
Because the exact amount of time covered by a specified period offset can vary, it is often helpful to verify the resulting times when using the `valueAtPeriodOffset()` or `getDataAtPeriodOffsets()` functions to ensure the calculations work as intended for your use case.
The library's `periodToTimestamp()` function calculates an offset timestamp from a given period and reference time. With this function, programmers can verify the time offsets in a period-based data search and use the calculated offset times in additional operations.
For periods with "D" or "W" units, the function calculates the time offset based on the absolute number of milliseconds the period covers (e.g., `86400000` for "1D"). For periods with "M", "Y", or "YTD" units, the function calculates an offset time based on the reference time's calendar date in the exchange time zone.
Collecting data
All the `getDataAt*()` functions, and the second overloads of the `valueAt*()` functions, collect and maintain data internally, meaning scripts do not require a separate `Data` object when using them. However, the first overloads of the `valueAt*()` functions do not collect data, because they retrieve values from a user-specified `Data` object.
For cases where a script requires a separate `Data` object for use with these overloads or other custom routines, this library exports the `collectData()` function. This function queues each bar's `source` value and opening timestamp into a `Data` object and returns the object's ID.
This function is particularly useful when searching for values from a specific series more than once. For instance, instead of using multiple calls to the second overloads of `valueAt*()` functions with the same `source` argument, programmers can call `collectData()` to store each bar's `source` and opening timestamp, then use the returned `Data` object's ID in calls to the first `valueAt*()` overloads to reduce memory usage.
The `collectData()` function and all the functions that collect data internally include two optional parameters for limiting the saved time-value pairs to a sliding window: `timeOffsetLimit` and `timeframeLimit`. When either has a non-na argument, the function restricts the collected data to the maximum number of recent bars covered by the specified millisecond- and timeframe-based intervals.
NOTE : All calls to the functions that collect data for a `source` series can execute up to once per bar or realtime tick, because each stored value requires a unique corresponding timestamp. Therefore, scripts cannot call these functions iteratively within a loop . If a call to these functions executes more than once inside a loop's scope, it causes a runtime error.
█ EXAMPLE CODE
The example code at the end of the script demonstrates one possible use case for this library's functions. The code retrieves historical price data at user-specified period offsets, calculates price returns for each period from the retrieved data, and then populates a table with the results.
The example code's process is as follows:
1. Input a list of periods – The user specifies a comma-separated list of period strings in the script's "Period list" input (e.g., "1W, 1M, 3M, 1Y, YTD"). Each item in the input list represents a period offset from the latest bar's opening time.
2. Process the period list – The example calls `getArrayFromString()` on the first bar to split the input list by its commas and construct an array of period strings.
3. Request historical data – The code uses a call to `getDataAtPeriodOffsets()` as the `expression` argument in a request.security() call to retrieve the closing prices of "1D" bars for each period included in the processed `periods` array.
4. Display information in a table – On the latest bar, the code uses the retrieved data to calculate price returns over each specified period, then populates a two-row table with the results. The cells for each return percentage are color-coded based on the magnitude and direction of the price change. The cells also include tooltips showing the compared daily bar's opening date in the exchange time zone.
█ NOTES
• This library's architecture relies on a user-defined type (UDT) for its data storage format. UDTs are blueprints from which scripts create objects , i.e., composite structures with fields containing independent values or references of any supported type.
• The library functions search through a `Data` object's `times` array using the array.binary_search_leftmost() function, which is more efficient than looping through collected data to identify matching timestamps. Note that this built-in works only for arrays with elements sorted in ascending order .
• Each function that collects data from a `source` series updates the values and times stored in a local `Data` object's arrays. If a single call to these functions were to execute in a loop , it would store multiple values with an identical timestamp, which can cause erroneous search behavior. To prevent looped calls to these functions, the library uses the `checkCall()` helper function in their scopes. This function maintains a counter that increases by one each time it executes on a confirmed bar. If the count exceeds the total number of bars, indicating the call executes more than once in a loop, it raises a runtime error .
• Typically, when requesting higher-timeframe data with request.security() while using barmerge.lookahead_on as the `lookahead` argument, the `expression` argument should be offset with the history-referencing operator to prevent lookahead bias on historical bars. However, the call in this script's example code enables lookahead without offsetting the `expression` because the script displays results only on the last historical bar and all realtime bars, where there is no future data to leak into the past. This call ensures the displayed results use the latest data available from the context on realtime bars.
Look first. Then leap.
█ EXPORTED TYPES
Data
A structure for storing successive timestamps and corresponding values from a dataset.
Fields:
times (array) : An "int" array containing a UNIX timestamp for each value in the `values` array.
values (array) : A "float" array containing values corresponding to the timestamps in the `times` array.
█ EXPORTED FUNCTIONS
getArrayFromString(str)
Splits a "string" into an array of substrings using the comma (`,`) as the delimiter. The function trims surrounding whitespace characters from each substring, and it excludes empty substrings from the result.
Parameters:
str (series string) : The "string" to split into an array based on its commas.
Returns: (array) An array of trimmed substrings from the specified `str`.
periodToTimestamp(period, referenceTime)
Calculates a UNIX timestamp representing the point offset behind a reference time by the amount of time within the specified `period`.
Parameters:
period (series string) : The period string, which determines the time offset of the returned timestamp. The specified argument must contain a unit and an optional multiplier (e.g., "1Y", "3M", "2W", "YTD"). Supported units are:
- "Y" for years.
- "M" for months.
- "W" for weeks.
- "D" for days.
- "YTD" (Year-to-date) for the span from the start of the `referenceTime` value's year in the exchange time zone. An argument with this unit cannot contain a multiplier.
referenceTime (series int) : The millisecond UNIX timestamp from which to calculate the offset time.
Returns: (int) A millisecond UNIX timestamp representing the offset time point behind the `referenceTime`.
collectData(source, timeOffsetLimit, timeframeLimit)
Collects `source` and `time` data successively across bars. The function stores the information within a `Data` object for use in other exported functions/methods, such as `valueAtTimeOffset()` and `valueAtPeriodOffset()`. Any call to this function cannot execute more than once per bar or realtime tick.
Parameters:
source (series float) : The source series to collect. The function stores each value in the series with an associated timestamp representing its corresponding bar's opening time.
timeOffsetLimit (simple int) : Optional. A time offset (range) in milliseconds. If specified, the function limits the collected data to the maximum number of bars covered by the range, with a minimum of one bar. If the call includes a non-empty `timeframeLimit` value, the function limits the data using the largest number of bars covered by the two ranges. The default is `na`.
timeframeLimit (simple string) : Optional. A valid timeframe string. If specified and not empty, the function limits the collected data to the maximum number of bars covered by the timeframe, with a minimum of one bar. If the call includes a non-na `timeOffsetLimit` value, the function limits the data using the largest number of bars covered by the two ranges. The default is `na`.
Returns: (Data) A `Data` object containing collected `source` values and corresponding timestamps over the allowed time range.
method valueAtTime(data, timestamp)
(Overload 1 of 2) Retrieves value and time data from a `Data` object's fields at the index of the earliest timestamp closest to the specified `timestamp`. Callable as a method or a function.
Parameters:
data (series Data) : The `Data` object containing the collected time and value data.
timestamp (series int) : The millisecond UNIX timestamp to search. The function returns data for the earliest saved timestamp that is closest to the value.
Returns: ( ) A tuple containing the following data from the `Data` object:
- The stored value corresponding to the identified timestamp ("float").
- The earliest saved timestamp that is closest to the specified `timestamp` ("int").
valueAtTime(source, timestamp, timeOffsetLimit, timeframeLimit)
(Overload 2 of 2) Retrieves `source` and time information for the earliest bar whose opening timestamp is closest to the specified `timestamp`. Any call to this function cannot execute more than once per bar or realtime tick.
Parameters:
source (series float) : The source series to analyze. The function stores each value in the series with an associated timestamp representing its corresponding bar's opening time.
timestamp (series int) : The millisecond UNIX timestamp to search. The function returns data for the earliest bar whose timestamp is closest to the value.
timeOffsetLimit (simple int) : Optional. A time offset (range) in milliseconds. If specified, the function limits the collected data to the maximum number of bars covered by the range, with a minimum of one bar. If the call includes a non-empty `timeframeLimit` value, the function limits the data using the largest number of bars covered by the two ranges. The default is `na`.
timeframeLimit (simple string) : (simple string) Optional. A valid timeframe string. If specified and not empty, the function limits the collected data to the maximum number of bars covered by the timeframe, with a minimum of one bar. If the call includes a non-na `timeOffsetLimit` value, the function limits the data using the largest number of bars covered by the two ranges. The default is `na`.
Returns: ( ) A tuple containing the following data:
- The `source` value corresponding to the identified timestamp ("float").
- The earliest bar's timestamp that is closest to the specified `timestamp` ("int").
- The current bar's `source` value ("float").
method valueAtTimeOffset(data, timeOffset)
(Overload 1 of 2) Retrieves value and time data from a `Data` object's fields at the index of the earliest saved timestamp closest to `timeOffset` milliseconds behind the current bar's opening time. Callable as a method or a function.
Parameters:
data (series Data) : The `Data` object containing the collected time and value data.
timeOffset (series int) : The millisecond offset behind the bar's opening time. The function returns data for the earliest saved timestamp that is closest to the calculated offset time.
Returns: ( ) A tuple containing the following data from the `Data` object:
- The stored value corresponding to the identified timestamp ("float").
- The earliest saved timestamp that is closest to `timeOffset` milliseconds before the current bar's opening time ("int").
valueAtTimeOffset(source, timeOffset, timeOffsetLimit, timeframeLimit)
(Overload 2 of 2) Retrieves `source` and time information for the earliest bar whose opening timestamp is closest to `timeOffset` milliseconds behind the current bar's opening time. Any call to this function cannot execute more than once per bar or realtime tick.
Parameters:
source (series float) : The source series to analyze. The function stores each value in the series with an associated timestamp representing its corresponding bar's opening time.
timeOffset (series int) : The millisecond offset behind the bar's opening time. The function returns data for the earliest bar's timestamp that is closest to the calculated offset time.
timeOffsetLimit (simple int) : Optional. A time offset (range) in milliseconds. If specified, the function limits the collected data to the maximum number of bars covered by the range, with a minimum of one bar. If the call includes a non-empty `timeframeLimit` value, the function limits the data using the largest number of bars covered by the two ranges. The default is `na`.
timeframeLimit (simple string) : Optional. A valid timeframe string. If specified and not empty, the function limits the collected data to the maximum number of bars covered by the timeframe, with a minimum of one bar. If the call includes a non-na `timeOffsetLimit` value, the function limits the data using the largest number of bars covered by the two ranges. The default is `na`.
Returns: ( ) A tuple containing the following data:
- The `source` value corresponding to the identified timestamp ("float").
- The earliest bar's timestamp that is closest to `timeOffset` milliseconds before the current bar's opening time ("int").
- The current bar's `source` value ("float").
method valueAtPeriodOffset(data, period)
(Overload 1 of 2) Retrieves value and time data from a `Data` object's fields at the index of the earliest timestamp closest to a calculated offset behind the current bar's opening time. The calculated offset represents the amount of time covered by the specified `period`. Callable as a method or a function.
Parameters:
data (series Data) : The `Data` object containing the collected time and value data.
period (series string) : The period string, which determines the calculated time offset. The specified argument must contain a unit and an optional multiplier (e.g., "1Y", "3M", "2W", "YTD"). Supported units are:
- "Y" for years.
- "M" for months.
- "W" for weeks.
- "D" for days.
- "YTD" (Year-to-date) for the span from the start of the current bar's year in the exchange time zone. An argument with this unit cannot contain a multiplier.
Returns: ( ) A tuple containing the following data from the `Data` object:
- The stored value corresponding to the identified timestamp ("float").
- The earliest saved timestamp that is closest to the calculated offset behind the bar's opening time ("int").
valueAtPeriodOffset(source, period, timeOffsetLimit, timeframeLimit)
(Overload 2 of 2) Retrieves `source` and time information for the earliest bar whose opening timestamp is closest to a calculated offset behind the current bar's opening time. The calculated offset represents the amount of time covered by the specified `period`. Any call to this function cannot execute more than once per bar or realtime tick.
Parameters:
source (series float) : The source series to analyze. The function stores each value in the series with an associated timestamp representing its corresponding bar's opening time.
period (series string) : The period string, which determines the calculated time offset. The specified argument must contain a unit and an optional multiplier (e.g., "1Y", "3M", "2W", "YTD"). Supported units are:
- "Y" for years.
- "M" for months.
- "W" for weeks.
- "D" for days.
- "YTD" (Year-to-date) for the span from the start of the current bar's year in the exchange time zone. An argument with this unit cannot contain a multiplier.
timeOffsetLimit (simple int) : Optional. A time offset (range) in milliseconds. If specified, the function limits the collected data to the maximum number of bars covered by the range, with a minimum of one bar. If the call includes a non-empty `timeframeLimit` value, the function limits the data using the largest number of bars covered by the two ranges. The default is `na`.
timeframeLimit (simple string) : Optional. A valid timeframe string. If specified and not empty, the function limits the collected data to the maximum number of bars covered by the timeframe, with a minimum of one bar. If the call includes a non-na `timeOffsetLimit` value, the function limits the data using the largest number of bars covered by the two ranges. The default is `na`.
Returns: ( ) A tuple containing the following data:
- The `source` value corresponding to the identified timestamp ("float").
- The earliest bar's timestamp that is closest to the calculated offset behind the current bar's opening time ("int").
- The current bar's `source` value ("float").
getDataAtTimes(timestamps, source, timeOffsetLimit, timeframeLimit)
Retrieves `source` and time information for each bar whose opening timestamp is the earliest one closest to one of the UNIX timestamps specified in the `timestamps` array. Any call to this function cannot execute more than once per bar or realtime tick.
Parameters:
timestamps (array) : An array of "int" values representing UNIX timestamps. The function retrieves `source` and time data for each element in this array.
source (series float) : The source series to analyze. The function stores each value in the series with an associated timestamp representing its corresponding bar's opening time.
timeOffsetLimit (simple int) : Optional. A time offset (range) in milliseconds. If specified, the function limits the collected data to the maximum number of bars covered by the range, with a minimum of one bar. If the call includes a non-empty `timeframeLimit` value, the function limits the data using the largest number of bars covered by the two ranges. The default is `na`.
timeframeLimit (simple string) : Optional. A valid timeframe string. If specified and not empty, the function limits the collected data to the maximum number of bars covered by the timeframe, with a minimum of one bar. If the call includes a non-na `timeOffsetLimit` value, the function limits the data using the largest number of bars covered by the two ranges. The default is `na`.
Returns: ( ) A tuple of the following data:
- An array containing a `source` value for each identified timestamp (array).
- An array containing an identified timestamp for each item in the `timestamps` array (array).
- The current bar's `source` value ("float").
- The symbol's description from `syminfo.description` ("string").
getDataAtTimeOffsets(timeOffsets, source, timeOffsetLimit, timeframeLimit)
Retrieves `source` and time information for each bar whose opening timestamp is the earliest one closest to one of the time offsets specified in the `timeOffsets` array. Each offset in the array represents the absolute number of milliseconds behind the current bar's opening time. Any call to this function cannot execute more than once per bar or realtime tick.
Parameters:
timeOffsets (array) : An array of "int" values representing the millisecond time offsets used in the search. The function retrieves `source` and time data for each element in this array. For example, the array ` ` specifies that the function returns data for the timestamps closest to one day and one week behind the current bar's opening time.
source (float) : (series float) The source series to analyze. The function stores each value in the series with an associated timestamp representing its corresponding bar's opening time.
timeOffsetLimit (simple int) : Optional. A time offset (range) in milliseconds. If specified, the function limits the collected data to the maximum number of bars covered by the range, with a minimum of one bar. If the call includes a non-empty `timeframeLimit` value, the function limits the data using the largest number of bars covered by the two ranges. The default is `na`.
timeframeLimit (simple string) : Optional. A valid timeframe string. If specified and not empty, the function limits the collected data to the maximum number of bars covered by the timeframe, with a minimum of one bar. If the call includes a non-na `timeOffsetLimit` value, the function limits the data using the largest number of bars covered by the two ranges. The default is `na`.
Returns: ( ) A tuple of the following data:
- An array containing a `source` value for each identified timestamp (array).
- An array containing an identified timestamp for each offset specified in the `timeOffsets` array (array).
- The current bar's `source` value ("float").
- The symbol's description from `syminfo.description` ("string").
getDataAtPeriodOffsets(periods, source, timeOffsetLimit, timeframeLimit)
Retrieves `source` and time information for each bar whose opening timestamp is the earliest one closest to a calculated offset behind the current bar's opening time. Each calculated offset represents the amount of time covered by a period specified in the `periods` array. Any call to this function cannot execute more than once per bar or realtime tick.
Parameters:
periods (array) : An array of period strings, which determines the time offsets used in the search. The function retrieves `source` and time data for each element in this array. For example, the array ` ` specifies that the function returns data for the timestamps closest to one day, week, and month behind the current bar's opening time. Each "string" in the array must contain a unit and an optional multiplier. Supported units are:
- "Y" for years.
- "M" for months.
- "W" for weeks.
- "D" for days.
- "YTD" (Year-to-date) for the span from the start of the current bar's year in the exchange time zone. An argument with this unit cannot contain a multiplier.
source (float) : (series float) The source series to analyze. The function stores each value in the series with an associated timestamp representing its corresponding bar's opening time.
timeOffsetLimit (simple int) : Optional. A time offset (range) in milliseconds. If specified, the function limits the collected data to the maximum number of bars covered by the range, with a minimum of one bar. If the call includes a non-empty `timeframeLimit` value, the function limits the data using the largest number of bars covered by the two ranges. The default is `na`.
timeframeLimit (simple string) : Optional. A valid timeframe string. If specified and not empty, the function limits the collected data to the maximum number of bars covered by the timeframe, with a minimum of one bar. If the call includes a non-na `timeOffsetLimit` value, the function limits the data using the largest number of bars covered by the two ranges. The default is `na`.
Returns: ( ) A tuple of the following data:
- An array containing a `source` value for each identified timestamp (array).
- An array containing an identified timestamp for each period specified in the `periods` array (array).
- The current bar's `source` value ("float").
- The symbol's description from `syminfo.description` ("string").