TrendPivotsLibrary "TrendPivots"
This library provides functions to search for bullish and bearish divergences between pivots and indicators. Functions search for higher highs and lower lows, automating lines, labels and signals for technical analysis and strategies.
method maxBeforeLast(id)
Method function to get the maximum price before the last, stored in an array pivotPoint.
Namespace types: pivotPoint
Parameters:
id (pivotPoint ) : (array pivotPoint) The pivotPoint array to inspect.
Returns: pivotPoint
method minBeforeLast(id)
Method function to get the minimum price before the last, stored in an array pivotPoint.
Namespace types: pivotPoint
Parameters:
id (pivotPoint ) : (array pivotPoint) The pivotPoint array to inspect.
Returns: pivotPoint
method pivotLine(id, a, b, color)
Sets the coordinates of a given line using two pivotPoint variables.
Namespace types: series line
Parameters:
id (line) : (line) Existing line
a (pivotPoint) : (pivotPoint) First pivotPoint.
b (pivotPoint) : (pivotPoint) Second pivotPoint.
color (color) : (color) The desired color. Default is red.
Returns: void
bearishDivergence(pivotArray)
Look for bearish divergence in a pivotPoint array cointaining pivot highs.
Parameters:
pivotArray (pivotPoint ) : (array pivotPoint) The pivotPoint array to inspect.
Returns: bool True if bearish divergence was found.
bullishDivergence(pivotArray)
Look for bullish divergence in a pivotPoint array cointaining pivot lows.
Parameters:
pivotArray (pivotPoint ) : (array pivotPoint) The pivotPoint array to inspect.
Returns: bool True if bullish divergence was found.
uptrendPivot(leftBars, rightBars, indicator, reset, plotLabel, plotLine)
Detects higher highs, higher lows and bearish divergence in an uptrend. Creates a line when bearish divergence is found, and labels.
Parameters:
leftBars (int) : (int)
rightBars (int) : (int)
indicator (float) : (float) RSI, MACD or other value.
reset (bool) : (bool) A bool variable to reinitiates the pivot computation, such as time changes, crossovers, or another.
plotLabel (bool) : (bool) If true (default), plots labels to higher highs and for each pivot low. Default = true.
plotLine (bool) : (bool) If true (default), plots a line linking the lower lows with divergence. Default = true.
Returns:
downtrendPivot(leftBars, rightBars, indicator, reset, plotLabel, plotLine)
Detects lower lows, lower highs, and bullish divergence in a downtrend. Creates a line when bullish divergence is found, and labels.
Parameters:
leftBars (int) : (int)
rightBars (int) : (int)
indicator (float) : (float) RSI, MACD or other value.
reset (bool) : (bool) A bool variable to reinitiates the pivot computation, such as time changes, crossovers, or another.
plotLabel (bool) : (bool) If true (default), plots labels to lower lows, and for each pivot low.
plotLine (bool) : (bool) If true (default), plots a line linking the lower lows with divergence. Default = true.
Returns:
pivotPoint
The coordinates of a pivot point and corresponding indicator value.
Fields:
x (series int) : (int) Time.
y (series float) : (float) Price.
indicator (series float) : (float) Indicator value.
Divergence
Divergence Indicator [Trendoscope®]🎲 New Divergence Indicator by Trendoscope
Our latest Divergence Indicator revolutionizes the way traders identify market trends and potential reversals. Built upon the robust foundation of the Zigzag Trend Divergence Detector and inline with our recent implementation of the Divergence Goggles indicator, this tool is designed to be intuitive yet powerful, making it an essential addition to any trader's toolkit.
We received several queries on extending the Divergence Goggles to last N bars instead of using an interactive widget. Though it is possible, we thought the better approach is to enable the indicator to use any oscillator and trend indicator in order to define the divergence.
🎯 Key Features
Flexible Oscillator Integration : Choose from a wide range of built-in oscillators or import your own, including options like the innovative Multiband Oscillator. This versatility extends to using volume indicators like OBV for divergence calculations, broadening the scope of analysis.
Trend Identification Versatility : Utilize built-in methods like Zigzag and MA Difference, or integrate external trend indicators. Our system adapts to various methods, ensuring you have the right tools for precise trend identification.
Customizable Zigzag Sensitivity : Adjust the Zigzag based on your chosen oscillator's sensitivity to ensure divergence lines are accurate and visually coherent.
Repainting vs. Delayed Signals : Tailor the indicator to your strategy by choosing between immediate repainting signals and slightly delayed but more stable signals.
🎯 Understanding Divergence: Key Rules
Bullish Divergence
Happens only in downtrend
Observed on Pivot Lows
Price makes lower low whereas oscillator makes higher low, indicating weakness and possible reversal
Bearish Divergence
Happens only in uptrend
Observed on Pivot Highs
Price makes higher high whereas oscillator makes lower high, indicating weakness and possible reversal
Bullish Hidden Divergence
Happens only in uptrend
Observed on Pivot Lows
Price makes higher low, whereas indicator makes lower low due to price consolidation. In bullish trend, this is considered as bullish as the price gets a breather and get ready to surge further.
Bearish Hidden Divergence
Happens only in downtrend
Observed on Pivot Highs
Price makes lower high whereas oscillator makes higher high due to price consolidation. In bearish trend, this is considered as bearish as the price gets a breather and get ready to fall further.
🎯 Visual Insights: Divergence and Hidden Divergence
For a clearer understanding, refer to our visual guides:
🎲 Using the Divergence Indicator: A Step-by-Step Guide
🎯 Step 1 - Selecting the Oscillator
Customize your analysis by choosing from a variety of oscillators or importing your preferred one. Options are available to select a range of built-in oscillators and the loopback length. However, if the oscillator that user want to use is not in the list, they can simply load the oscillator from the indicator library and use it as an external signal.
In our current example, we are using a custom oscillator called - Multiband Oscillator
This also means, the indicator option is not limited to oscillators. Users can even make use of volume indicators such as OBV for the calculation of divergence.
🎯 Step 2 - Choosing the Trend Identification Method
Select from our built-in methods or integrate an external indicator to accurately identify market trends. Trend is one of the key parameters of divergence type identification. Trend can be identified mathematically by various methods. Some of them are as simple as above or below 200 moving average and some can follow trend based indicators such as supertrend and others can be very complex.
To cater for a wider audience, here too we have provided the option to use an external trend indicator. The simple condition for the external trend indicator is that it should return positive value for uptrend and negative value for downtrend.
Other than that, we also have 2 built in trend identification methods.
Zigzag - The trend is defined by the starting pivot of divergence line. If the starting pivot is Higher High or Higher Low, then it is considered uptrend. And if the starting pivot is either Lower Low or Lower High, then we consider it as downtrend.
MA Difference - In this case, the difference between the moving average of pivots joining the divergence line will determine the trend. It is considered uptrend if the moving average increased from starting pivot to ending pivot of the divergence line, and it is considered downtrend if the moving average decreased from starting pivot to the ending pivot of the divergence line.
🎯 Step 3 - Adjusting Zigzag Sensitivity
Fine-tune the Zigzag to match the oscillator's sensitivity, ensuring divergence lines are accurate and visually coherent.
🎯 Step 4 - Managing Repainting
Understand the implications of repainting in the last pivot of the Zigzag and choose between immediate or delayed signals based on your trading strategy. The last pivot of the zigzag repaint by design. This is not necessarily a bad thing. Users can just choose not to use the last pivot, but instead use the last but one for all the calculations. But, this also means, the signals will be delayed.
Indicator provides option to use repainting signal vs delayed signal. If you select the repaint option, the signals are shown immediately as and when they occur. But, there is a possibility that these signals change when the new price candles change zigzag pivot.
If you chose not to select the repaint option, then the divergence signals may lag by a few bars.
RSI-Divergence Goggles [Trendoscope®]🎲 Introducing the RSI-Divergence Goggle
🎯 Revolutionizing Divergence Analysis in Trading
While the concept of divergence plays a crucial role in technical analysis, existing indicators in the community library have faced limitations, particularly in simultaneously displaying divergence lines on both price and oscillator graphs. This challenge stems from the fact that RSI and other oscillators are typically plotted in a separate pane from the price chart. Traditional Pine Script® indicators are confined to a single pane, thus restricting comprehensive divergence analysis.
🎯 Our Innovative Solution: RSI on the Price Pane
The RSI-Divergence Goggle breaks through these limitations. Our innovative approach involves plotting the RSI directly onto the price pane within a movable and resizable widget. This groundbreaking feature allows for the simultaneous drawing of zigzag patterns on both price and the oscillator, enabling the effective calculation and visualization of divergence lines on both.
🎯 The Foundation: Our Divergence Research and Rules
Our journey into divergence research began three years ago with the launch of the "Zigzag Trend Divergence Detector." The foundational rules established with this script remain pertinent and form the basis of all our subsequent divergence-based indicators.
🎯 Understanding Divergence: Key Concepts
Divergence Varieties : We identify two main types - Bullish Divergence (and its hidden counterpart) occurs at pivot lows, while Bearish Divergence (and its hidden version) appears at pivot highs.
Contextual Occurrence : Bullish divergence is a phenomenon of downtrends, whereas bearish divergence is unique to uptrend. Conversely, hidden bullish divergence arises in uptrends, and hidden bearish divergence in downtrends.
Oscillator Behavior : In standard divergence scenarios, the oscillator lags behind price, signaling potential reversals. In hidden divergence cases, the oscillator leads, suggesting trend continuation.
🎯 Visual Insights: Divergence and Hidden Divergence
For a clearer understanding, refer to our visual guides:
🎯 A Word of Caution
While divergence is a powerful tool, it's not a standalone guarantee of trend reversals or continuations. We recommend using these patterns in conjunction with support and resistance levels, as demonstrated in our "Divergence Based Support Resistance" implementation.
🎯 Using the RSI-Divergence Goggles
Upon applying the indicator to your chart, you'll be prompted to select two corner points, defining the widget's placement and size. This widget is the stage for your RSI plotting and divergence calculations. Choose these points carefully to ensure they encompass your area of interest without overlapping important price bars.
An example as below.
🎯 Innovative Features:
Plotting RSI: RSI values are scaled from 0 to 100 within the widget. This unique plotting may not align with individual bar values, but pivot labels and tooltips provide detailed RSI and retracement ratio information.
Zigzag and Pivots: Our adjusted RSI plots determine the zigzag pivot highs and lows, which may not always correspond with visible price pivots. However, calculations based on close prices ensure minimal deviation.
Divergence Display: Divergence types are identified following our established rules, with a simple moving average employed to discern the prevailing trend.
🎯 Trend Detection Mechanism
A simple moving average is used as base for determining the trend. If the difference between moving averages of the alternate pivots is positive, then the sentiment is considered to be uptrend. Else, we consider the sentiment to be in downtrend.
This is a simple method to identify trend, implemented via this indicator. The indicator does not provide alternative methods to identify trend. This is something that we can explore in the future.
🎯 Interactive and Customizable
The RSI-Divergence Goggle isn't just a static tool; it's an interactive feature on your chart. You can move or resize the widget, allowing for dynamic analysis and focused study on different chart segments.
BUY/SELL RSI FLIUX v1.0The "BUY/SELL RSI FLUX v1.0" indicator is designed to provide buy and sell signals based on the RSI (Relative Strength Index) and price action in relation to support and resistance levels. It overlays directly on the price chart and includes the following components:
- Support and Resistance Levels: Determined over a specified number of bars (lengthSR), these levels represent potential barriers where price action may stall or reverse.
- ATR (Average True Range): Used to measure market volatility. While it's calculated in the script, it's not visualized on the chart as per the latest modification.
- RSI: The RSI is calculated over a defined period (lengthRSI) and is used to identify overbought or oversold conditions. Buy signals are generated when the RSI is below the oversold threshold (rsiOversold) and the price is above the support level. Conversely, sell signals occur when the RSI is above the overbought threshold (rsiOverbought), the price is below the resistance level, and additionally, the price is below a long-term moving average, which acts as a trend filter.
- Long-Term Moving Average: This moving average is plotted to help identify the prevailing market trend. Sell signals are filtered based on the price's position in relation to this moving average.
- Buy/Sell Signals: Visual representations in the form of shapes are plotted below (for buy) or above (for sell) the price bars to indicate potential entry points.
By combining these elements, the indicator aims to provide high-probability trading signals that align with both the market's momentum and trend.
Fisher+ [OSC]The Fisher Transform Indicator is classified as an oscillator, meaning that its value swings above and below a central point. This characteristic allows traders to identify overbought and oversold conditions, providing potential clues about market reversals. As mentioned previously, it is an oscillator so the strength of the move is displayed by how long the fisher line stays above/below zero. Indicator can be used to aid in confluence near supply/demand zones.
White Line = Fisher
Red/Blue Line = Moving Average
--Changes color whether fisher line is above/below the MA
Red/Blue Shaded Line = Moving Average
--Changes color based on a smoothing factor
Red/Blue Shaded Fill = Asset in Overbought/Oversold Conditions
Red/Blue Circles = Asset in Extreme Overbought/Oversold Conditions
Red/Blue Triangles = MACD Signals Below/Above "0"
Divergence Labels = Asset Signaling Divergence
The moving average line will turn red/blue as long as the fisher line is below/above the moving average. The shaded MA line will switch colors based on if it is moving in an up/down trend. The MA can also be used as a signal and treated similar to an oscillator. Market trending conditions will either keep the MA below/above the dashed zero line.
MACD code credited to LazyBear's MACD Leader indicator. It is used to filter out/confirm any signals such as divergences. As long as the MACD Leader line is above both the MACD line and signal lines then it'll signal with with a triangle. MACD divergences will be added at a later time.
YD_Divergence_RSI+CMFThe ‘YD_Divergence_RSI+CMF’ indicator can find divergence using RSI (Relative Strength Index) and CMF (Chaikin Money Flow) indicators.
📌 Key functions
1. Search pivot high and pivot low points in a certain length of price.
2. Connect pivot high to pivot high , pivot low to pivot low , forming two standards for divergence in result.
The marker then plots only the higher high, lower low lines.
(higher low and lower high in prices are referred to hidden divergence, which are not considered in this indicator)
3. Compare the two standards with RSI and CMF indicators, send an alert if there is a divergence. As a result, the indicator will find four combination of divergence.
A. Higher high price / Lower RSI (Bearish RSI Divergence)
B. Lower low price / Higher RSI (Bullish RSI Divergence)
C. Higher high price / Lower CMF (Bearish CMF Divergence)
D. Lower low price / Higher CMF (Bullish CMF Divergence)
📌 Details
Developing the indicators, we put a lot of effort in making a customizable and user-friendly interface.
#1. Pivot Setting
Users can set the length to find the pivot high / pivot low in ‘Pivot Settings – Pivot Length.’
Increased pivot Length takes more candles to interpret the chart but reduce false signals since the it uses only the most certain pivot high / pivot low values. Obviously, decreased pivot length will act the opposite.
Users can choose whether to use ‘High/Low’ or ‘Close’ in ‘Pivot Reference’ to set the swing point of prices.
Users can also choose whether to display the pivot high / pivot low marker on the chart.
#2 RSI & CMF Settings
Users can adjust the length of RSI & CMF separately. (The default values are set to 14 and 20 each.)
#3 Label Setting
Users can adjust the text displayed on the chart label. (The default values is set to ‘Bullish / Bearish’, ‘RSI/CMF’, ‘Divergence’.)
Users can reduce the length of text label or simply turn the label off. Just click the ‘Bull/Bear’ or ‘None’ button. ‘Divergence’ works the same.
Users can decide whether to display the ‘Divergence Line and Label’, set custom settings for the label and line. (color, thickness, style, etc)
📌 Alert
Alert are provided as a combination of the chart's symbol and the set label text. For example,
‘BINANCE:BTCUSDT.P, Bullish RSI Divergence’
====================================================
"YD_Divergence_RSI+CMF" 지표 는 RSI와 CMF 지표를 이용해서 Divergence 를 찾아낼 수 있습니다.
📌 주요 기능
1. 정해진 가격 움직임 안에서 pivot high와 pivot low 포인트 를 찾아냅니다.
2. Pivot high로만 이어진 라인과, Pivot low로만 이어진 두 라인을 작도한 뒤 divergence의 기준으로 삼습니다.
이 지표에서는 normal divergence만 사용하기 때문에 차트에 higher high와 lower low만 표기 합니다.
(higher low와 lower high는 hidden divergence로 정의되며, 이 지표에서는 다루지 않습니다.
3. 두 기준선과 RSI, CMF 지표를 각각 비교하고, 결과적으로 4개의 조합을 구할 수 있습니다.
A. Higher high price / Lower RSI (Bearish RSI Divergence)
B. Lower low price / Higher RSI (Bullish RSI Divergence)
C. Higher high price / Lower CMF (Bearish CMF Divergence)
D. Lower low price / Higher CMF (Bullish CMF Divergence)
📌 세부 사항
지표를 개발하며 사용자들이 원하는 방향으로 지표를 설정할 수 있게 작업에 많은 공을 들였습니다. 굉장히 다양한 옵션을 선택할 수 있으며, 원하는 방식으로 지표를 사용할 수 있습니다.
#1 Pivot Setting
Pivot setting에서는 Pivot Length를 변경할 수 있습니다.
Pivot Length를 늘릴 경우, 보다 확실한 Swing High와 Swing Low만을 사용하게 되므로, False signal이 줄어들 수 있습니다. 하지만 Swing High/ Low를 판정하는 데에 더 긴 시간이 걸리게 되므로, Signal이 다소 늦게 발생하는 단점이 생기게 됩니다.
Pivot Length를 줄일 경우, 반대로 Swing High/Low의 판정이 더 빨리 일어나기 때문에, Signal을 거래에 이용하기는 좋을 수 있습니다. 다만, Swing High와 Low가 훨씬 더 잦은 빈도로 발생하기 때문에 False Signal을 줄 가능성이 높아집니다.
Pivot Reference에서는 가격의 Swing Point를 설정함에 있어, High/Low(고가/저가)를 이용할 지 Close (종가)를 이용할 지 선택할 수 있습니다.
Pivot High/Low Marker를 선택할 경우 Pivot High/ Low에 Marker가 찍히게 됩니다.
#2 RSI와 CMF Setting
RSI와 CMF Setting에서는 RSI와 CMF의 길이를 각각 설정할 수 있습니다. 기본값은 14와 20으로 설정되어 있습니다.
#3 Label Setting
Label Setting에서는 Label에 표시되는 글자를 선택할 수 있습니다.
기본값은 "Bullish / Bearish", "RSI/CMF", "Divergence"로 선택되어 있으며, 너무 길다고 느껴질 경우 "Bull/Bear" 혹은 "None"을 클릭하여 길이를 줄일 수 있습니다. 마찬가지로 Divergence의 경우도 생략이 가능합니다.
하단에서는 Divergence Line과 Label을 켜고 끌 수 있으며, 선의 색깔, 굵기, 종류, 그리고 Label의 색깔, 크기, 종류를 선택할 수 있습니다. Label의 Text 색 역시 변경이 가능합니다.
📌 얼러트
얼러트는 자신이 설정한 차트의 심볼과 Label의 문구의 조합으로 제공되며 예를 들면 다음과 같습니다.
"BINANCE:BTCUSDT.P, Bullish RSI Divergence"
Volumetric Toolkit [LuxAlgo]The Volumetric Toolkit is a complete and comprehensive set of tools that display price action-related analysis methods from volume data.
A total of 4 features are included within the toolkit. Symbols that do not include volume data will not be supported by the script.
🔶 USAGE
The volumetric toolkit puts a heavy focus on price action, returning support/resistance levels, ranges, volume divergences...etc.
The main premise between each feature is that volume has a direct relationship with market participants level of interest over a specific symbol, and that this interest is not constant over time.
Each individual feature is detailed below.
🔹 Ranges Of Interest
The Ranges Of Interest construct a range from a surge of high liquidity in the market. This range is constructed from the price high and price low of the candle with the associated significant liquidity.
The returned extremities can be used as support and resistance, with breakouts often being accompanied by significant liquidity as well, suggesting potential trend continuations.
The length setting associated with this feature determines how sensitive the range detection algorithm is to volume, with higher values requiring more significant volume in order to display a new range.
🔹 Impulses
Impulses highlight times when volume makes a new higher high while the price makes a new higher high or lower low, suggesting increased market participation.
When this occurs when the price makes a new higher high the impulse is considered bullish (green), if the price makes a new lower low the impulse is bearish (red).
Impulses occurring within an established trend opposite to it (e.g a bearish impulse on an uptrend) might be indicative of reversals.
The length setting works similarly to the previously described ranges of interest, with higher values requiring longer-term volume higher high and price higher high/lower low, highlighting more significant impulse and potentially longer-term reversals.
🔹 Levels Of Interest
Levels of interest display price levels of significant trading activity, contrary to the range of interest only the closing price is taken into account, also volume peaks are used to detect significant trading activity.
Note that this feature is subject to backpainting, that is lines are set retrospectively.
Users can determine the amount of most recent levels to display on the chart. These can be used as classical support/resistances.
🔹 Volume Divergence
We define volume divergence as a decreased market participation while a trend is still developing.
More precisely volume divergences are highlighted if volume makes a lower high while price is making a new higher high/lower low.
This can be indicative of a lack of further participation in the current trend, indicating a potential reversal.
Using higher length values will return longer-term divergences.
Note that this feature is subject to backpainting, that is lines are set retrospectively.
🔶 SETTINGS
🔹 Ranges Of Interest
Show Ranges Of Interest: Display Ranges Of Interest.
Length: Ranges Of Interest sensitivity to volume.
🔹 Impulses
Show Impulses: Display Ranges Of Interest.
Length: Impulses sensitivity to volume.
🔹 Levels Of Interest
Show: Determine if Levels Of Interest are displayed, and how many from the most recent.
Length: Level detection sensitivity to volume.
🔹 Volume Divergences
Show Divergences: Determine if Volume Divergences are displayed.
Length: Period for the detection of price tops/bottoms and volume peaks.
MACD AreaThis indicator calculates and displays the cumulative area for each region above and below the zero line in the MACD histogram. This area measurement serves as a momentum metric, where larger cumulative areas indicate stronger momentum. Divergences between the area and price can also potentially indicate an impending reversal. For example, when the stock price makes a higher high but the area makes a lower high, the current momentum may be unsustainable.
VWAP Divergence | Flux ChartsThe VWAP Divergence indicator aims to find divergences between price action and the VWAP indicator. It uses filters to filter out many of the false divergences and alert high quality, accurate signals.
Red dots above the candle represent bearish divergences, while green dots below the candle represent bullish divergences.
The main filter for divergences focuses on ATR and the price movement in the past candles up to the lookback period. Divergences are determined when a price movement over the lookback period is sharp enough to be greater/less than the ATR multiplier multiplied by the ATR.
Settings
Under "Divergence Settings", both the lookback period and ATR multiplier can be adjusted.
Due to the nature of the calculations, the ATR multiplier and the lookback period should be set lower on higher time frames. As price movements become more averaged, for example on the 15 minute chart, sharp price movements happen less frequently and are often contained in fewer candles as they happen on lower time frames. Less volatile stocks such as KO, CL, or BAC should also use lower ATR multipliers and lower lookback periods.
Under "Visual Settings", you can change the color of the VWAP line, show alternating VWAP colors, adjust divergence signal size, and show the VWAP line.
RSI + Divergences + Alerts [MisterMoTA]The indicator RSI + Divergences + Alerts by MisterMoTA is an RSI indicator that fills the RSI and RSI moving average with 4 different colors (growing up, falling up, falling down and rising down colors), users can customize colors from dashboard , also can be disabled the fill if the user want a standard RSI.
The dafault value of RSI is 14 and value of the moving average is 50 ( a dynamic 50 rsi line is better for trend identification than a standard 50 line) and users can change the values from indicator settings.
For detecting the divergences displayed in the indicator, I integrated in our script the default Divergences indicator from Tradingview, users can display, hide and change colors for regular and hidden divergences.
RSI indicator display also trend conditions for RSI and RSI MA, the RSI MA angle is calculated using ATR value, the slope of the RSI Noving Average can help to identify trend conditions too.
The script comes with 12 different alerts, if need different alerts please let me know in the comments and will update the script with your request:
Alert for Regular Bullish Divergence
Alert for Regular Bearish Divergence
Alert for Hidden Bullish Divergence
Alert for Hidden Bearish Divergence
Alert for RSI Overbought
Alert for RSI Extreme Overbought
"Alert for RSI Oversold
Alert for RSI Extreme Oversold
Alert for RSI Crossing Above RSI MA
Alert for RSI Crossing Bellow RSI MA
Alert for RSI Crossing Above 50
Alert for RSI Crossing Bellow 50
Please follow me for other script like this one.
Kind regards,
MisterMoTA
Adaptive MACD [LuxAlgo]The Adaptive MACD indicator is an adaptive version of the popular Moving Average Convergence Divergence (MACD) oscillator, returning longer-term variations during trending markets and cyclic variations during ranging markets while filtering out noisy variations.
🔶 USAGE
The proposed oscillator contains all the elements within a regular MACD, such as a signal line and histogram. A MACD value above 0 would indicate up-trending variations, while a value under 0 would be indicating down-trending variations.
Just like most oscillators, our proposed Adaptive MACD is able to return divergences with the price.
As we can see in the image above ranging markets will make the Adaptive MACD more conservative toward more cyclical conservations, filtering out both noise and longer-term variations. However, when longer-term variations (such as in a trending market) are prominent the oscillator will conserve longer-term variations.
The R2 Period setting determines when trending/ranging markets are detected, with higher values returning indications for longer intervals.
The fast and slow settings will act similarly to the regular MACD, however, closer values will return more cyclical outputs.
The image above compares our proposed MACD (top) with a regular MACD (bottom), both using fast = 19 and slow = 20 .
🔶 DETAILS
It is common to be solely interested in the trend component when the market is trending, however, during a ranging market it is more common to observe a more prominent cyclical/noise component. We want to be able to preserve one of the components at the appropriate market conditions, however, the regular MACD lack the ability to preserve cyclical component with high accuracy.
The MACD is an IIR bandpass filter. In order to obtain a lower passband bandwidth and a more symmetrical magnitude response (which would allow to conserve more precise cyclical variations) we can directly change the system calculation:
y = (price - price ) × g + ((1 - a1) + (1 - a2)) × y - (1 - a1) × (1 - a2) × y
where:
a1 = 2/(fast + 1)
a2 = 2/(slow + 1)
g = a1 - a2
Using division instead of multiplication on the second feedback weight allows further weighting the 2 samples lagged output, returning a more desirable magnitude response with a higher degree of filtering on both ends of the spectrum as shown in the image below:
We are interested in conserving cycles during ranging markets, and longer-term variations during trending markets, we can do this by interpolating between our two filter coefficients:
α × + (1 - α) ×
where 1 > α > 0 . α is measuring if the market is trending or ranging, with values closer to 1 indicating a trending market. We see that for higher values of α the original coefficient of the MACD is used. The image below shows various magnitude responses given multiple values of α :
We use a rolling R-Squared as α , this measurement has the benefit of indicating if the market is trending or ranging, as well as being constrained within range (0, 1), and having a U-shaped distribution.
If you are interested to learn more about the MACD see:
🔶 SETTINGS
R2 Period: Calculation window of the R-Squared.
Fast: Fast period for the calculation of the Adaptive MACD, lower values will return more noisy results.
Slow: Slow period for the calculation of the Adaptive MACD, higher values will return result with longer-term conserved variations.
Signal: Period of the EMA applied to the Adaptive MACD.
QQE Weighted Oscillator [LuxAlgo]The QQE (Quantitative Qualitative Estimation) Weighted Oscillator improves on its original version by weighting the RSI based on the indications given by the trailing stop, requiring more effort in order for a cross with the trailing stop to occur.
🔶 USAGE
The QQE Weighted Oscillator is comprised of a smoothed RSI oscillator and a trailing stop derived from this same RSI. The oscillator can be used to indicate whether the market is overbought/oversold as well as an early indication of trend reversals thanks to the leading nature of the RSI.
Using higher Factor values will return a longer-term trailing stop.
Like with a regular RSI divergence can be indicative of a reversal.
Further weighting will control how much "effort" is required for the trailing stop to cross the RSI. For example. For example, an RSI above the trailing stop will require a higher degree of negative price variations in order for a potential cross to occur when using higher weights.
This can cause higher weightings to return more cyclical and smoother results.
🔶 SETTINGS
Length: Length of the RSI oscillator.
Factor: Multiplicative factor used for the trailing stop calculation.
Smooth: Degree of smoothness of the RSI oscillator.
Weight: Degree of weighting used for the RSI calculation.
Bullish Divergence Short-term Long Trade FinderThis script is a Bullish divergence trade finder built to find small periods where Bitcoin will likely rise from. It looks for bullish divergence followed by a higher low as long as the hour RSI value is below the 40 mark, if then it will enter an long. It marks out Buy signals on the RSI if the value dips below 'RSI Bull Condition Minimum' (Default 40) on the current time frame in view. It also marks out Sell signals found when the RSI is above the 'RSI Bearish Condition Minimum' (Default 50). The sell signals are bearish divergence that has occurred recently on the RSI. When a long is in play it will sell if it finds bearish divergence or the time frame in view reaches RSI value higher than the 'RSI Sell Value'(Default 75). You can set your stop loss value with the 'Stop loss Percentage' (default 5).
Available inputs:
RSI Period: relative strength measurement length(Typically 14)
RSI Oversold Level: the bottom bar of the RSI (Typically 30)
RSI Overbought Level: the top bar of the RSI (Typically 70)
RSI Bearish Condition Minimum: The minimum value the script will use to look for a pivot high that starts the Bearish condition to Sell (Default 50)
RSI Bearish Condition Sell Min: the minimum value the script will accept a bearish condition (Default 60)
RSI Bull Condition Minimum: the minimum value it will consider a pivot low value in the RSI to find a divergence buy (Default 40)
Look Back this many candles: the amount of candles thee script will look back to find a low value in the RSI (Default 25)
RSI Sell Value: The RSI value of the exit condition for a long when value is reached (Default 75)
Stop loss Percentage: Percentage value for amount to lose (Default 5)
The formula to enter a long is stated below:
If price finds a lower low and there is a higher low found following a lower low and price has just made another dip and price closes lower than the last divergence and Relative strength index hour value is less than 40 enter a long.
The formula to exit a long is stated below:
If the value drops below the stop loss percentage OR (the RSI value is greater than the value of the parameter 'RSI Sell Value' or bearish divergence is found greater than the parameter 'RSI Bearish Condition Minimum' )
This script was built from much strategy testing on BTC but works with alts (occasionally) also. It is most successful to my knowledge using the 15 min and 7 min time frames with default values. Hope it helps! Follow for further possible updates to this script or other entry or exit strategies.
snapshot:
I only have a Pro trading view account so I cannot share a larger data set about this script because the buy signals happen pretty rarely. The most amount that I could find within a view for me was 40 trades within a viewable time. The suggested/default parameters that I have do not occur very often so it limits the data set. Adjustments can be made to the parameters so that trades can be entered more often. The scripts success is dependent on the values of the parameters set by the user. This script was written to be used for BTC/USD or BTC/USDT trading. I am unable to share a larger dataset without putting out results that are intended to fail or having a premium account so reaching the 100 trade minimum is not possible with my account.
Extreme Entry with Mean Reversion and Trend FilterThis non-repainting indicator is an improved version of my previous work, a more versatile tool designed to provide traders with dynamic and adaptive entry signals while incorporating a mean reversion and trend filtering mechanism. By combining RSI overbought/oversold, regular divergence and confirmatory momentum oscillator such as CCI or MOM, this indicator generates more precise and timely signals for entering trades.
The indicator offers a comprehensive set of entry conditions for both Buy and Sell entries:
• For Buy entries, it checks for oversold conditions based on RSI levels, and detects bullish divergence patterns while oversold and it identifies upward crossovers in the selected entry signal source (CCI or Momentum).
• Similarly, for Sell entries, it identifies downward crossovers of the CCI or Mom, after the recent overbought conditions, and bearish divergence patterns inside the overbought RSI.
To refine the entry signals even further, the indicator utilizes a mean reversion filter. Traders can choose to display signals that occur inside or outside the upper and lower mean reversion bands:
• Range Entries are indicating potential buying opportunities near the lower band and selling opportunities near the upper band. This is based on the concept of mean reversion, which suggests that prices tend to return to the average when they reach the upper or lower bands. By focusing on these signals, traders can take advantage of price movements that have a higher probability of reversing towards the mean.
• Extreme Entries, on the other hand, represent signals that occur outside of the bands, signaling potential pullbacks during strong trends. By entering positions only at extreme highs or lows, traders can avoid getting caught in the middle of the trend. This approach helps traders capitalize more favorable trading opportunities which have a high reward-risk ratio.
Trend Filter acts as a directional bias for the entry signals. When enabled, long and short entry conditions are filtered based on the relationship between the closing price and the EMA.
Traders have the flexibility to customize, tweak the indicator filter and values in the settings according to their preferences strategies and traded assets, tailoring the signals to their specific needs. The script sets alert conditions to trigger alerts for buy, sell, or both entry signals. This indicator can be used in conjunction with price action or other technical analysis tools for confirmation and better trading decisions.
I created this indicator for my own use, and I share this for informational purposes only. It does not constitute financial advice so use at your own risk and consider your financial situation before making any trading decisions. The indicator's accuracy is not guaranteed, and past performance is not indicative of future results.
I appreciate your feedback on this indicator. As I am new to script development, I am open to comments and suggestions to improve it. If you encounter any issues while using this indicator, please let me know in the comments section. If you find it helpful, I kindly ask for your support in boosting it. Thank you for your cooperation.
Gradient Money Flow Divergence DetectorThe "Gradient Money Flow Divergence Detector" indicator has several use cases for traders. Let's explore the main use cases:
1. Money Flow Analysis : The primary purpose of this indicator is to analyze money flow in a particular asset. The Money Flow Index (MFI) is a momentum indicator that uses price and volume data to assess the buying and selling pressure in a market. Traders can use the MFI to identify overbought and oversold conditions, potential trend reversals, and divergences between the MFI and price movement.
2. Divergence Detection : The indicator incorporates a divergence detection mechanism for multiple timeframes (micro, sub-mid, mid, and macro). Divergence occurs when the price movement and an indicator (MFI in this case) move in opposite directions, signaling a potential shift in the price trend. Traders can use divergences to anticipate trend reversals or trend continuation.
3. Multiple Lookback Analysis : The indicator allows traders to assess divergences and money flow trends across various time horizons by providing divergence detection for different lengths. This can help traders identify confluence areas where divergences align on multiple timeframes, strengthening the potential signal.
4. Overbought and Oversold Conditions : The indicator plots horizontal lines at MFI levels of 20, 50, and 80. These levels can be used to identify overbought (MFI above 80) and oversold (MFI below 20) conditions. Traders may look for potential reversal signals when the MFI reaches extreme levels.
5. Confirmation of Price Trends : The indicator's color gradient visually represents the MFI value, which can help traders confirm the strength of a prevailing price trend. For example, an uptrend with a consistently high MFI might suggest strong buying pressure, reinforcing the bullish bias.
6. Fine-Tuning Divergence Signals : Traders can adjust the parameters of divergence detection (e.g., pivot points, rangeUpper, rangeLower) to fine-tune the sensitivity of the divergence signals. This allows for greater customization based on individual trading preferences.
7. Combining with Other Indicators : The indicator can be used in combination with other technical indicators or price action analysis to strengthen trading decisions. For example, traders may look for divergences in conjunction with support and resistance levels or chart patterns to increase the probability of successful trades.
8. Trend Reversal Confirmation : When a divergence is detected, it may indicate a potential trend reversal. Traders can use other confirmation signals (e.g., candlestick patterns, trendline breaks) to validate the reversal before making trading decisions.
Remember that no single indicator should be used in isolation, and it's essential to use the indicator in combination with other confirmations such as support and resistance, and analysis methods for more robust trading strategies. Additionally, thorough backtesting and practice in a demo environment are recommended before using the indicator in live trading.
Edri Extreme Points Buy & SellEDRI EXTREME POINTS BUY & SELL INDICATOR
This Buy and Sell (non-repainting) indicator uses signals based on the combined CCI/Momentum and RSI indicators and optional regular divergence.
The idea of the indicator is to look for a potential reversal after the price reached extreme points (overbought or oversold) and signals an entry when the price shows signs of momentum for reversal.
Optionally, it considers finding a divergence while RSI is at the extreme levels to improve the predictability of a possible reversal.
Additionally, the indicator includes a simple Mean Reversion visual on the chart to assist users in identifying extreme price levels and potential reversal opportunities. It features upper and lower bands that can be optionally plotted, showing calculated values where price bounces at those extreme levels.
The purpose of these bands is to help traders avoid getting trapped in the middle of a trend and to guide them to buy low and sell high. (It's important to note that this is purely a visual aid and does not impact the generation of trade signals.)
By utilizing the Mean Reversion bands alongside the entry conditions, traders can gain insights into potential price reversals and make more informed decisions about when to enter or exit trades.
Buy and Sell Entry conditions:
• The indicator looks at the CCI/Momentum indicator to turn positive (if buy) or negative (if sell) after the RSI was overbought or oversold in the recent past.
• It also checks if there is a 3-period regular bullish divergence in the RSI (if buy), or regular bearish divergence (if sell) and consider these in the entry condition.
• If these conditions are met, this indicator suggests that it may be a good time to enter a trade.
In summary this is how this indicator works:
• The indicator takes input settings such as the choice between using CCI or Momentum as the entry signal source, length parameters for CCI/Momentum, RSI levels for overbought and oversold conditions, RSI length, and options to plot mean reversion bands on the chart.
• It calculates the CCI and Momentum and RSI values based on user-defined length..
• It checks for regular bullish and bearish divergences (3 periods) in the RSI if the option is enabled.
• The script plots shapes on the chart to indicate the buy and sell signals based on the entry conditions.
• If the mean reversion bands option is enabled, it calculates the mean reversion, standard deviation, upper band, and lower band values.
• It also plots the upper band, mean reversion line, and lower band on the chart if the mean reversion bands option is enabled.
• This indicator includes alert conditions to generate alerts for the buy and sell signals.
• On top of that, users can opt to use only one alert for both buy and sell signals. (This can save Trading view subscribers with limited alerts.)
Important! Please do not consider everything you read here as financial advice. Additionally, do not rely solely on indicators for making your trading decisions. It is important to note that no indicator or strategy is perfect. Therefore, it is always recommended to backtest everything and practice proper risk management.
I appreciate your feedback on this indicator. As I am new to script development, I am open to comments and suggestions to improve it. If you encounter any issues while using this indicator, please let me know in the comments section. If you find it helpful, I kindly ask for your support in boosting it. Thank you for your cooperation.
Divergence Screener [Mr_Zed]Divergence Screener
This script allows you to scan multiple assets and timeframes for bullish and bearish divergences based on the RSI (Relative Strength Index) indicator.
Features
Supports up to 40 different assets and timeframes for simultaneous scanning.
Customizable settings for RSI period and source.
Adjustable lookback periods for identifying pivot highs and pivot lows.
Flexible range limits for filtering divergences based on the number of bars since the last pivot point.
Alerts for bullish and bearish divergences on confirmed bars.
RSI MTF [Market Yogi]The Multi-Time Frame RSI with Money Flow Index and Average is a powerful trading indicator designed to help traders identify overbought and oversold conditions across multiple time frames. It combines the Relative Strength Index (RSI) with the Money Flow Index (MFI) and provides an average value for better accuracy.
The Relative Strength Index (RSI) is a popular momentum oscillator that measures the speed and change of price movements. It oscillates between 0 and 100 and is used to identify overbought and oversold conditions in an asset. By incorporating the RSI across multiple time frames, this indicator offers a broader perspective on market sentiment.
In addition to the RSI, this indicator also includes the Money Flow Index (MFI). The MFI is a volume-based oscillator that measures the inflow and outflow of money into an asset. It takes into account both price and volume, providing insights into the strength and direction of buying and selling pressure.
By combining the RSI and MFI across multiple time frames, traders gain a comprehensive understanding of market dynamics. The indicator allows for comparing the RSI and MFI values across different time frames, enabling traders to identify divergences and potential trend reversals.
Furthermore, this indicator provides an average value of the multi-time frame RSI, offering a consolidated signal that helps filter out noise and enhance the accuracy of trading decisions.
Key Features:
1. Multi-Time Frame RSI: Combines the RSI across different time frames to provide a comprehensive view of market sentiment.
2. Money Flow Index (MFI): Incorporates the MFI to gauge buying and selling pressure based on both price and volume.
3. Average Calculation: Computes the average value of the multi-time frame RSI to generate a consolidated trading signal.
4. Divergence Detection: Enables traders to spot divergences between the RSI and MFI values, indicating potential trend reversals.
5. Overbought and Oversold Levels: Highlights overbought and oversold levels on the RSI, aiding in timing entry and exit points.
The Multi-Time Frame RSI with Money Flow Index and Average is a versatile tool that can be applied to various trading strategies, including trend following, swing trading, and mean reversion. Traders can adjust the time frame settings to suit their preferences and trading style.
Note: It's important to use this indicator in conjunction with other technical analysis tools and indicators to validate signals and make informed trading decisions.
MACD Normalized [ChartPrime]Overview of MACD Normalized Indicator
The MACD Normalized indicator, serves as an asset for traders seeking to harness the power of the moving average convergence divergence (MACD) combined with the advantages of the stochastic oscillator. This novel indicator introduces a normalized MACD, offering a potentially enhanced flexibility and adaptability to numerous market conditions and trading techniques.
This indicator stands out by normalizing the MACD to its average high and average low, also factoring in the deviation of the high-low position from the mean. This approach incorporates the high and low in the calculations, providing the benefits of stochastic without its common drawbacks, such as clipping problems. As a result, the indicator becomes exceptionally versatile and suitable for various trading strategies, including both faster and slower settings.
The MACD Normalized Indicator boasts a variety of options and settings. The features include:
Enable Ribbon: Toggle the display of the ribbon accompanying the MACD Normalized, as desired.
Fast Length: Determine the movement speed of the fast line to receive advance notice of potential market opportunities.
Slow Length: Control the movement pace of the slow line for smoother signals and a comprehensive outlook on market trends.
Average Length: Specify the length used to calculate the high and low averages, providing greater control over the indicator's granularity.
Upper Deviation: Establish the extent to which the high and low values deviate from the mean, ensuring adaptability to diverse market situations.
Inner Band (Middle Deviation): Adjust the balance between the high and low deviations to create an inner band signal, giving traders a secondary level of market analysis and decision-making support.
Enable Candle Color: Enable the coloring of candles based on the MACD Normalized value for effortless visualization of trading potential.
Use Cases for the MACD Normalized Indicator
In addition to analyzing market trends and identifying potential trading opportunities, ChartPrime's MACD Normalized Indicator offers a range of applications for traders. These use cases encompass distinct trading scenarios and strategies:
Overbought and Oversold Regions
One of the key applications of the MACD Normalized Indicator is identifying overbought and oversold regions. Overbought refers to a situation where an asset's price has risen significantly and is expected to face a downturn, while oversold indicates a price drop that may subsequently lead to a reversal.
By adjusting the indicator's parameters, such as the upper and inner deviation levels, traders can set precise boundaries to determine overbought and oversold areas. When the MACD moves into the upper region, it may signal that the asset is overbought and due for a price correction. Conversely, if the MACD enters the lower region, it possibly indicates an oversold condition with the potential for a price rebound.
Signal Line Crossovers
The MACD Normalized Indicator displays two lines: the fast line and the slow line (inner band). A common trading strategy involves observing the intersection of these two lines, known as a crossover. When the fast line crosses above the slow line, it may signify a bullish trend or a potential buying opportunity. Conversely, a crossover with the fast line moving below the slow line typically indicates a bearish trend or a selling opportunity.
Divergence and Convergence
Divergence occurs when the price movement of an asset does not align with the corresponding MACD values. If the price establishes a new high while the MACD fails to do the same, a bearish divergence emerges, suggesting a potential downtrend. Similarly, a bullish divergence takes place when the price forms a new low but the MACD does not follow suit, hinting at an upcoming uptrend.
Convergence, on the other hand, is represented by the MACD lines moving closer together. This movement signifies a potential change in the trend, providing traders with a timely opportunity to enter or exit the market.
Divergence V2This indicator is based on the concept of divergence. I recommend that you find out and study about this yourself as the concept of divergence will not be explained in depth in this description.
This indicator will show divergences between the asset price and the RSI oscillator. The indicator will look for divergent points between the rising highs and falling lows of the asset; and the rising lows and falling highs of the RSI.
The trend of the asset tends to follow the behavior of the oscillator when a divergence occurs. So if we find a divergence between the two, the price of the asset is likely to follow the trend of the oscillator.
This indicator looks for these types of divergences and will show (based on the RSI) if there is a bullish or bearish divergence.
If it is bullish, it will show a line joining those points in green and if it is bearish in red. In addition, it will show a label where you can see the number of occurrences that have been found from a certain point to another.
Note: this indicator can be complemented with the “Divergence RSI V2” indicator which is also found in my library.
Settings
Backtesting Bars: is the number of bars back that the indicator will check. No more than 1000 is recommended as this will slow down the search.
Tolerance: number of times a divergent line can cross a bar. If you place 0, no bar can be crossed by a diverging line.
Min Bars To detect: will only search for divergences (or lines) that have the minimum number of bars selected in this option. Default option is 30.
Min Bars To detect: it will only search for divergences (or lines) that have the maximum number of bars selected in this option. Default option is 100.
Source Highs: The high points will be based on the close of each bar. You can use as another alternative.
Source Lows: The low points will be based on the close of each bar. You can use as another alternative.
Use squeeze parameter : only look for divergences (bullish or bearish) at times when such an indicator is in favor of the trend or coincides with the corresponding RSI divergence.
ADX Divergence IndicatorDescription:
The ADX Divergence Indicator (ADXDI) is a technical analysis tool designed to identify potential bullish and bearish signals based on the Average Directional Index (ADX), the Positive Directional Indicator (+DI), and the Negative Directional Indicator (-DI) lines. This overlay indicator plots circles on the chart to highlight these signals.
How it Works:
The ADXDI calculates the ADX, +DI, and -DI values using user-defined parameters. It then evaluates specific conditions to determine potential bullish and bearish signals. The indicator considers rising and falling trends of the +DI and -DI lines, as well as changes in the ADX values. Additionally, it detects a bounce condition when the current ADX is less than the previous ADX value and that ADX value is higher than the one previous to it.
Usage:
To effectively utilize the ADX Divergence Indicator, follow these steps:
1. Apply the ADX Divergence Indicator to your chart by adding it from the available indicators.
2. Observe the circles plotted on the chart:
- Bullish circles (green by default) indicate potential bullish signals.
- Bearish circles (red by default) indicate potential bearish signals.
4. Interpret the signals provided by the indicator:
- A bullish signal occurs when the +DI line rises and the -DI line falls.
- A bearish signal occurs when the -DI line rises and the +DI line falls.
- The presence of a bounce condition (ADX < ADX and ADX > ADX) further strengthens the signal.
5. Combine the signals from the ADX Signals indicator with other technical analysis tools, such as support and resistance levels, trend lines, or candlestick patterns, to confirm potential trade setups.
6. Customize the indicator's parameters, such as the lengths of the DI and ADX calculations or the colors of the plotted circles, to suit your trading preferences.
7. Implement appropriate risk management strategies, including setting stop-loss orders and position sizing, to manage your trades effectively and protect your capital.
SMT Divergences [LuxAlgo]The SMT Divergences indicator highlights SMT divergences between the chart symbol and two user-selected tickers (ES and YM by default).
A dashboard returning the SMT divergences statistics is also provided within the settings.
🔶 SETTINGS
Swing Lookback: Calculation window used to detect swing points.
Comparison Ticker: If enabled, will detect SMT divergences between the chart prices and the prices of the selected ticker.
🔹 Dashboard
Show Dashboard: Displays statistics dashboard on the chart.
Location: Location of the dashboard on the chart.
Size: Size of the displayed dashboard.
🔶 USAGE
SMT Divergences are characterized by diverging swing points between two securities.
The detection of SMT Divergences is performed by detecting swing points using the user chart prices as well as the prices of the selected external tickers. If a swing point on the chart ticker is detected at the same time on external tickers, comparison is performed.
Due to the detection requiring swing point confirmation (3 candles by default), this indicator can better be used to study price behaviors on the occurrence of an SMT divergence.
The dashboard highlights the number of SMT divergences that occurred on a swing high and swing low between the chart ticker and the selected external tickers.
The returned percentage indicates the proportion of swing highs or swing lows that led to an SMT divergence.
Strength Comparison @joshuuuexample:
if you want to find the stronger/weaker pair between eurusd and gbpusd, what you can do is check the eurgbp charts. if eurgbp is bullish, that means, that longs longs on eurusd are better than on gbpusd.
Unfortunately, there is no such thing to compare for example usoil with ukoil, or us100 with us500.
That's where this indicator comes in handy. You can choose whatever two symbols you want, that are supported by tradingview and you will get a chart, which shows symbol1/symbol2.
Now you can use normal market structure, or the ema option, to find out the stronger symbol.
This can also help predicting the so called SMT Divergences, taught by ICT.
⚠️ Open Source ⚠️
Coders and TV users are authorized to copy this code base, but a paid distribution is prohibited. A mention to the original author is expected, and appreciated.
⚠️ Terms and Conditions ⚠️
This financial tool is for educational purposes only and not financial advice. Users assume responsibility for decisions made based on the tool's information. Past performance doesn't guarantee future results. By using this tool, users agree to these terms.