ADX Suavizado + DMI com Periodo RDNAdicione rafdourado para maiores informações de uso ou dicas para aprimoramento
In den Scripts nach "adx" suchen
ADX Crossover + BarColor v0.1Цвет бара показывает текущий тренд. Красный - падающий, зеленый - растущий. Желтый знак показывает начало или усиление тренда, флаг - завершение тренда, начало консолидации или следующего тренда
ADX/DI Trend Strengthpink line = directional with price, bull strength
black line = counter-directional with price, bear strength
histogram = trend strength confirmation
high pink + high histogram = strong bull
high pink + low histogram = weak bull
high black+ high histogram = strong bear
high black + low histogram = weak bear
ADX Volatility Moving AverageThe ADXVMA is a volatility based moving average with the volatility being determined by the value of the ADX. The ADXVMA provides levels of support during uptrends and resistance during downtrends. Original NT indicator by Fat Tails on futures.io, just ported it to pinescript
Color Candles - Didi's Needles setup [HeegerBot]Coloration Indicator based on Didi Aguiar's needle setup.
Indicador de Coloração baseado no setup de agulhadas do Didi Aguiar.
The setup consists of the crossover of three moving averages, along with the analysis of an ascending trend in the ADX and the opening of Bollinger Bands.
The setup involves the crossing of three moving averages, along with the trend analysis in the ADX and the open Bollinger Bands.
The moving averages will be named "Didi Index". We will have the 3-period average as "Fast Average", the 8-period average as "Median Average", and the 20-period average as "Slow Average". When the Fast Average crosses the Median Average, we will have an alert, and when the Slow Average crosses the Median Average, we will have a confirmation. To adjust the Didi Index in the signals, the Median Average was normalized, that is, it will always be equal to 0. For the Slow and Fast Average, we will only consider the percentage difference in relation to the Median Average.
In addition to the moving averages, we analyze whether the ADX is rising, with DI+ above DI- to indicate an uptrend, or if the ADX is rising, with DI- above DI+ to indicate a downtrend. We also check if the Bollinger Bands are open. With these conditions, we will have a Needle.
Now I'm going to detail how I set this up on the indicator and some filters that I inserted for my personal use, along with some additional signals from the setup.
# Needle Alert
Firstly, we have the "Needle Alert" signal. This signal occurs when the Fast Average crosses the Median Average, along with the trend confirmation in the ADX and the opening of the Bollinger Bands. The filter is set at "1", which means we will only consider the needle alert when the percentage difference between the Slow Average and the Median Average is below 1%. This signal can be used as an entry point or to monitor the asset. Let's go through the examples:
• For a "Buy Alert", the Fast Average must cross the Median Average from bottom to top, and the percentage difference between the Slow Average and the Median Average should be less than +1% and greater than 0, as indicated by the Didi Index.
• For a "Sell Alert", the Fast Average must cross the Median Average from top to bottom, and the percentage difference between the Slow Average and the Median Average should be greater than -1% and less than 0, as indicated by the Didi Index.
We also have the alert projection, which serves as a signal to attract attention and monitor the asset. I use a "0.1" filter, which means that the percentage difference between the Fast Average and the Median Average must be equal to or less than 0.1%. Let's look at the example:
• For a "Buy Alert Projection", the Fast Average should be below the Median Average, and the percentage difference between the Fast Average and the Median Average should be greater than -0.1% and less than 0. In addition, the Slow Average should be above the Median Average in the Didi Index.
• For a "Buy Alert Projection", the Fast Average should be below the Median Average, and the percentage difference between the Fast Average and the Median Average should be greater than -0.1% and less than 0. In addition, the Slow Average should be above the Median Average in the Didi Index.
# Needle
After the Needle Alert, we have the Needle Confirmation, which occurs when the Slow Average crosses the Median Average after the alert. This signal is used to enter the operation. Let's divide this signal into two parts:
1. Needle: We use a filter of "3" (adjustable). This means that, to be considered a "Needle", the candle distance between the Alert (crossing of the Fast Average with the Median Average) and the Confirmation (crossing of the Slow Average with the Median Average) must be equal to or less than 3 candles. Also, there needs to be a trend on the ADX and the Bollinger Bands should be open.
2. Queijo Minas Needle (QM): Essentially, it's a Needle that occurs outside of the filter, with a candle distance between the Alert and the Confirmation above "3" candles. A trend on the ADX and open Bollinger Bands are also necessary.
To anticipate the Needle Confirmation, we use the "Needle Projection" signal. This signal has two filters: the "Needle Projection with Alert", set as "0.1%", and the "Needle Projection after the Alert", set as "0.3%".
1. The "Needle Projection with Alert" generates the signal when the "Needle Alert" occurs (crossing of the Fast Average with the Median Average), as long as the difference between the Slow Average and the Median Average is less than 0.1%.
2. The "Needle Projection after the Alert" generates the signal when the Fast Average has already crossed the Median Average, and the difference between the Slow Average and the Median Average should be less than 0.3%.
# BJMA (Spider Woman's Kiss)
There is another variation of the needle called BJMA. Essentially, it occurs when the Fast Average and the Slow Average approach the Median Average (each on one pole), but do not cross the Median and return to where they came from. In this signal, we have two filters: "Delta BJMA previous candle" and "Delta BJMA current candle". Let's see an example:
• Buy BJMA: First, we observe the previous candle, where the Fast Average must be above 0 (above the Median Average) and the percentage difference should be less than 0.02. In relation to the Slow Average, the configuration is the same, but in the negative sense, that is, it should be below 0 and above -0.02. Now, in the current candle, the Fast Average should be above 0 and below 0.05, while the Slow Average should be below 0 and above -0.05.
• Sell BJMA: First, we observe the previous candle, where the Fast Average must be below 0 (below the Median Average) and the percentage difference should be greater than -0.02. In relation to the Slow Average, the configuration is the same, but in the positive sense, that is, it should be above 0 and below 0.02. Now, in the current candle, the Fast Average should be below 0 and above -0.05, while the Slow Average should be above 0 and below 0.05.
Now, let's look at two signals that are commonly used to stay in a position.
# Fake Point
The Fake Point is primarily used to identify retracements before a continuation of the prevailing trend. Typically, it is preceded by a Needle Confirmation or BJMA signal. Here are some examples:
• Fake Sell (Signal to Maintain a Buy Position): The Fast Average crosses the Median from top to bottom (entering the negative pole of the Didi Index), while the Slow Average, which is already below the Median (below 0), continues to decline further, increasing the percentage difference between the Fast and Slow Averages in the negative pole.
• Fake Buy (Signal to Maintain a Sell Position): It is the same as the fake sell scenario but in the positive pole. The Fast Average crosses the Median, entering the positive pole of the Didi Index, while the Slow Average, which was already above the Median, continues to increase the percentage difference with the Median. For example, if the Slow Average was at +1 on the Didi Index, it would now be at +1.3.
There is also another variation of the Fake Breakout that takes into consideration the ADX (Average Directional Index) to confirm the trend direction. In other words, if we have a fake sell signal that suggests a buy position, we want the ADX to indicate a buying trend, and vice versa.
# Bought and Sold
This signal basically checks whether the indicators continue to confirm the previous signals. There are two variations: "Bought/Sold" and "Bought/Sold without Bollinger Bands". Let's see an example:
• Bought: The Didi Index is in the buying position, which means the Fast Average is above the Median Average (above 0), and the Slow Average is below the Median Average. Additionally, the ADX is indicating a buying trend and the Bollinger Bands are open.
• Sold: The Didi Index is in the selling position, which means the Fast Average is below 0 and the Slow Average is above 0. Moreover, the ADX is indicating a selling trend and the Bollinger Bands are open.
• Bought/Sold without Bollinger Bands: It's the same signal, but without considering whether the Bollinger Bands are open or not.
We can also consider the "Bought/Sold" signal based on the Trix and Stochastic, which would be additional confirmations of the movement.
Personally, I do not activate the Bought/Sold signal.
Now we come to signals to exit the position or take partial profits.
# Close
This exit signal is based on the following indicators: ADX, Bollinger Bands, Trix, and Stochastic. We wait for the ADX Kick or the falling ADX, along with the Bollinger Bands closing, and the Trix and Stochastic changing to the opposite side. Let's see some examples:
• Close a Buy: The ADX was in a buying trend (ADX rising and DI+ above DI-), but then the ADX Kick occurs or the ADX starts to fall. In addition, the Bollinger Bands close, and the Trix and Stochastic should switch to the sell signal.
• Close a Sell: The ADX was in a selling trend (ADX rising and DI- above DI+), but then the ADX Kick occurs or the ADX starts to fall. Also, the Bollinger Bands close, and the Trix and Stochastic should switch to the buy signal.
All indicators must provide signals together, but it is not necessary for all to occur in the exact same candle. For example:
1. The ADX Kick may occur, and the Trix and Stochastic switch to the buy signal, but the Bollinger Bands still remain open. In this case, we still do not have the exit signal.
2. In the next candle, the ADX continues to fall (after the Kick), the Trix and Stochastic continue to indicate buying, but this time the Bollinger Bands close. In this case, we have the "Close a Sell" signal.
It is important that all indicators are in accordance with the necessary signals, even if they occur in different candles, in order for the exit signal to be triggered.
# Close with Alert
This signal occurs when the Didi Index switches to the opposite side from where it was, along with a trend on the ADX, provided it's not a fake point. Let's see some examples:
• Close Buy - Sell Alert: Suppose we were in a buy position on the previous candle. In the current candle, the Fast Average crosses the Median Average from top to bottom, and the ADX indicates a sell trend. In this case, we completely close our buy position or make a partial realization.
• Close Sell - Buy Alert: Suppose we were in a sell position on the previous candle. In the current candle, the Fast Average crosses the Median Average from bottom to top, and the ADX indicates a buy trend. In this case, we completely close our sell position or make a partial realization.
# Divergence in Didi Index and Stochastic.
The signal of divergence in the Didi Index and the Stochastic is used to identify situations where there is a divergence in one of these indicators. When identified, a box will be drawn in the region where the divergence occurred. This region is considered an area of conflict or strength.
Depending on the context of the chart, these regions can be used as points for total or partial exit of positions. This happens because there may be a correction of the movement after these divergences occur. In some cases, if there is an ignition candle that breaks through this region, it can be used as a possible entry point into the position, taking advantage of a possible pullback.
It is recommended to wait for the candle to close before considering the signals, as this allows for a more solid confirmation.
---------------------------------------------------------------------------------------------------------------------
Indicador de Coloração baseado no setup de agulhadas do Didi Aguiar.
O setup consiste no cruzamento de 3 médias móveis, juntamente com a análise da tendência no ADX e das bandas de Bollinger abertas.
As médias móveis serão nomeadas "Didi Index". Teremos a média de 3 períodos como "Média Rápida", a média de 8 períodos como "Média Mediana" e a média de 20 períodos como "Média Lenta". Quando a Média Rápida cruzar a Média Mediana, teremos um alerta e, quando a Média Lenta cruzar a Média Mediana, teremos uma confirmação. Para ajustar o Didi Index nos sinais, a Média Mediana foi normalizada, isto é, ela sempre será igual a 0. Para a Média Lenta e a Média Rápida, levaremos em consideração apenas a diferença percentual em relação à Média Mediana.
Além das médias móveis, analisamos se o ADX está em ascensão, com o DI+ acima do DI- para indicar uma tendência de alta, ou se o ADX está subindo, com o DI- acima do DI+ para indicar uma tendência de baixa. Também verificamos se as bandas de Bollinger estão abertas. Com essas condições, teremos uma Agulhada.
Agora vou detalhar como estabeleci isso no indicador e alguns filtros que inseri para o meu uso pessoal, além de alguns sinais adicionais do setup.
# Alerta de Agulhada
Primeiramente, temos o sinal de "Alerta de Agulhada". Este sinal acontece quando a Média Rápida cruza a Média Mediana, junto com a confirmação da tendência no ADX e a abertura das Bandas de Bollinger. O filtro está ajustado em "1", o que significa que só levaremos em consideração o alerta de agulhada quando a diferença percentual entre a Média Lenta e a Média Mediana estiver abaixo de 1%. Esse sinal pode ser utilizado como um ponto de entrada ou para monitorar o ativo. Vamos aos exemplos:
• Para um "Alerta de Compra", a Média Rápida deve cruzar a Média Mediana de baixo para cima, e a diferença percentual entre a Média Lenta e a Média Mediana deve ser menor que +1% e maior que 0, conforme indicado pelo Didi Index.
• Para um "Alerta de Venda", a Média Rápida deve cruzar a Média Mediana de cima para baixo, e a diferença percentual entre a Média Lenta e a Média Mediana deve ser maior que -1% e menor que 0, conforme indicado pelo Didi Index.
Também temos a projeção do alerta, que serve como um sinal para chamar atenção e monitorar o ativo. Eu uso um filtro de "0.1", o que significa que a diferença percentual entre a Média Rápida e a Média Mediana deve ser igual ou menor que 0.1%. Vamos ver o exemplo:
• Para uma "Projeção de Alerta de Compra", a Média Rápida deve estar abaixo da Média Mediana, e a diferença percentual entre a Média Rápida e a Média Mediana deve ser maior que -0.1% e menor que 0. Além disso, a Média Lenta deve estar acima da Média Mediana no Didi Index.
• Para uma "Projeção de Alerta de Compra", a Média Rápida deve estar abaixo da Média Mediana, e a diferença percentual entre a Média Rápida e a Média Mediana deve ser maior que -0.1% e menor que 0. Além disso, a Média Lenta deve estar acima da Média Mediana no Didi Index.
# Agulhada
Após o Alerta de Agulhada, temos a confirmação da Agulhada, que ocorre quando a Média Lenta cruza a Média Mediana após o alerta. Esse sinal é utilizado para entrar na operação. Vamos dividir esse sinal em duas partes:
1. Agulhada: Utilizamos um filtro de "3" (ajustável). Isso significa que, para ser considerada uma "Agulhada", a distância em velas entre o Alerta (cruzamento da Média Rápida com a Média Mediana) e a Confirmação (cruzamento da Média Lenta com a Média Mediana) deve ser igual ou menor que 3 velas. Além disso, é necessário ter uma tendência no ADX e as Bandas de Bollinger devem estar abertas.
2. Agulhada Queijo Minas (QM): Basicamente, é uma agulhada que ocorre fora do filtro, com uma distância em velas entre o Alerta e a Confirmação acima de "3" velas. Também é necessário ter uma tendência no ADX e as Bandas de Bollinger devem estar abertas.
Para antecipar a confirmação da Agulhada, utilizamos o sinal de "Projeção de Agulhada". Esse sinal possui dois filtros: o "Projeção de Agulhada com Alerta", configurado como "0.1%", e o "Projeção de Agulhada após o Alerta", configurado como "0.3%".
1. "Projeção de Agulhada com Alerta" gera o sinal quando ocorre o "Alerta de Agulhada" (cruzamento da Média Rápida com a Média Mediana), desde que a diferença entre a Média Lenta e a Média Mediana seja menor que 0.1%.
2. "Projeção de Agulhada após o Alerta" gera o sinal quando a Média Rápida já cruzou a Média Mediana, e a diferença entre a Média Lenta e a Média Mediana deve ser menor que 0.3%.
# BJMA (Beijo da Mulher Aranha)
Existe uma outra variação da agulhada chamada BJMA. Essencialmente, ocorre quando a Média Rápida e a Média Lenta se aproximam da Média Mediana (cada uma em um polo), mas não cruzam a Mediana e voltam para o lado de onde vieram. Nesse sinal, temos dois filtros: "Delta BJMA vela anterior" e "Delta BJMA vela atual". Vejamos um exemplo:
• BJMA de Compra: Primeiramente, observamos a vela anterior, onde a Média Rápida deve estar acima de 0 (acima da Média Mediana) e a diferença percentual deve ser menor que 0.02. Em relação à Média Lenta, a configuração é a mesma, porém no sentido negativo, ou seja, ela deve estar abaixo de 0 e acima de -0.02. Agora, na vela atual, a Média Rápida deve estar acima de 0 e abaixo de 0.05, enquanto a Média Lenta deve estar abaixo de 0 e acima de -0.05.
• BJMA de Venda: Primeiramente, observamos a vela anterior, onde a Média Rápida deve estar abaixo de 0 (abaixo da Média Mediana) e a diferença percentual deve ser maior que -0.02. Em relação à Média Lenta, a configuração é a mesma, porém no sentido positivo, ou seja, ela deve estar acima de 0 e abaixo de 0.02. Agora, na vela atual, a Média Rápida deve estar abaixo de 0 e acima de -0.05, enquanto a Média Lenta deve estar acima de 0 e abaixo de 0.05.
Agora vamos abordar dois sinais que são normalmente utilizados para manter uma posição.
# Ponto Falso (Fake Point)
O Ponto Falso é usado para identificar uma retração antes de retomar o movimento. Geralmente, ele ocorre após um sinal de Agulhada ou BJMA. Vejamos exemplos:
• Venda Falsa (sinal para manter uma posição de compra): A Média Rápida cruza a Média Mediana de cima para baixo (entrando no polo negativo do Didi Index), enquanto a Média Lenta, que já está abaixo da Média Mediana (abaixo de 0), continua caindo, aumentando assim a diferença percentual entre a Média Lenta e a Média Mediana no polo negativo.
• Compra Falsa (sinal para manter uma posição de venda): O cenário é semelhante, mas no polo positivo. A Média Rápida cruza a Média Mediana, passando para o lado positivo do Didi Index, enquanto a Média Lenta, que já estava acima da Média Mediana, continua aumentando a diferença percentual em relação à Média Mediana. Por exemplo, se a Média Lenta estava em +1 no Didi Index, agora ela está em +1.3.
Também existe uma variação do Ponto Falso em que verificamos se a tendência no ADX está se mantendo na mesma direção. Ou seja, se tivermos uma Venda Falsa (que seria um sinal para permanecermos em uma posição de compra), é importante que o ADX esteja indicando uma tendência de compra, e vice-versa. Dessa forma, consideramos não apenas o cruzamento das médias, mas também a confirmação da tendência no ADX. Essa variação é chamada de Ponto Falso com Tendência (Fake Point with Trend).
# Comprado e Vendido
Esse sinal, essencialmente, verifica se os indicadores estão mantendo a confirmação dos sinais anteriores. Existem duas variações: "Comprado/Vendido" e "Comprado/Vendido sem Bandas de Bollinger". Vejamos um exemplo:
• Comprado: O Didi Index está em compra, o que significa que a Média Rápida está acima da Média Mediana (acima de 0) e a Média Lenta está abaixo da Média Mediana. Além disso, o ADX está indicando uma tendência de compra e as Bandas de Bollinger estão abertas.
• Vendido: O Didi Index está em venda, o que significa que a Média Rápida está abaixo de 0 e a Média Lenta está acima de 0. Além disso, o ADX está indicando uma tendência de venda e as Bandas de Bollinger estão abertas.
• Comprado/Vendido sem Bollinger: É o mesmo sinal, porém sem considerar se as Bandas de Bollinger estão abertas ou não.
Podemos também considerar o "Comprado/Vendido" com base no Trix e no Estocástico, que seriam confirmações adicionais do movimento.
Eu, pessoalmente, não deixo ativado o sinal de Comprado/Vendido.
Agora chegamos aos sinais de saída da posição ou de realização parcial.
# Fechar (Close)
Este sinal de saída baseia-se nos seguintes indicadores: ADX, Bandas de Bollinger, Trix e Estocástico. Aguardamos o Kick do ADX ou o ADX em queda, juntamente com as Bandas de Bollinger se fechando, e o Trix e o Estocástico mudando para o lado oposto. Vamos ver alguns exemplos:
• Fechar uma Compra (Close Buy): O ADX estava em uma tendência de compra (ADX subindo e DI+ acima do DI-), mas em seguida ocorre o Kick do ADX ou o ADX começa a cair. Além disso, as Bandas de Bollinger se fecham e o Trix e o Estocástico devem mudar para o sinal de venda.
• Fechar uma Venda (Close Sell): O ADX estava em uma tendência de venda (ADX subindo e DI- acima do DI+), mas em seguida ocorre o Kick do ADX ou o ADX começa a cair. Além disso, as Bandas de Bollinger se fecham e o Trix e o Estocástico devem mudar para o sinal de compra.
Todos os indicadores devem fornecer os sinais em conjunto, mas não é necessário que todos ocorram exatamente na mesma vela. Por exemplo:
1. Pode ocorrer o Kick do ADX e o Trix e o Estocástico mudarem para o sinal de compra, mas as Bandas de Bollinger ainda permanecerem abertas. Nesse caso, ainda não teremos o sinal de saída.
2. No candle seguinte, o ADX continua caindo (após o Kick), o Trix e o Estocástico continuam indicando compra, mas desta vez as Bandas de Bollinger se fecham. Nesse caso, teremos o sinal de "Fechamento de uma Venda".
É importante que todos os indicadores estejam em conformidade com os sinais necessários, mesmo que ocorram em velas diferentes, para que seja acionado o sinal de saída.
# Fechar com Alerta (Close with Alert)
Esse sinal ocorre quando o Didi Index muda para o lado oposto do que estava, juntamente com uma tendência no ADX, desde que não seja um ponto falso. Vejamos exemplos:
• Fechar Compra - Alerta de Venda: Suponha que estávamos em uma posição de compra no candle anterior. No candle atual, a Média Rápida cruza a Média Mediana de cima para baixo, e o ADX indica uma tendência de venda. Nesse caso, encerramos completamente nossa posição de compra ou realizamos uma realização parcial.
• Fechar Venda – Alerta de Compra: Suponha que estávamos em uma posição de venda no candle anterior. No candle atual, a Média Rápida cruza a Média Mediana de baixo para cima, e o ADX indica uma tendência de compra. Nesse caso, encerramos completamente nossa posição de venda ou realizamos uma realização parcial.
# Divergência no Didi Index e no Estocástico.
O sinal de divergência no Didi Index e no Estocástico é usado para identificar situações onde há uma divergência em um desses indicadores. Quando identificada, uma caixa será desenhada na área onde a divergência ocorreu. Essa área é considerada uma zona de briga ou força.
Dependendo do contexto do gráfico, essas zonas podem ser usadas como pontos de saída total ou parcial das posições. Isso acontece porque pode haver uma correção do movimento após a ocorrência dessas divergências. Em alguns casos, se houver uma vela de ignição que quebre essa zona, ela pode ser usada como um possível ponto de entrada na posição, aproveitando um possível pullback.
É recomendado aguardar o fechamento do candle para levar os sinais em consideração, pois isso permite obter uma confirmação mais sólida.
FibPulse144 [CHE] FibPulse144 — ADX-gated 13/21 crossover with 144-trend regime and closed-bar labels
Summary
FibPulse144 combines a fast moving-average crossover with a 144-period trend regime and an ADX strength gate. Signals are confirmed on closed bars only and drawn as labels on the price chart, while an ADX line in a separate pane provides context. Color gradients are derived from normalized ADX, so visual intensity reflects trend strength without changing the underlying logic. The approach reduces false flips during weak conditions and keeps entries aligned with the dominant trend.
Motivation: Why this design?
Traditional crossover signals can flip repeatedly during sideways phases and often trigger against the higher-time regime. By requiring alignment with a slower trend proxy and by gating entries through a rising ADX condition, FibPulse144 favors structurally cleaner transitions. Gradient coloring communicates strength visually, helping users temper aggressiveness without additional indicators.
What’s different vs. standard approaches?
Baseline: Classic dual-MA crossover with unconditional signals.
Architecture differences:
Two-bar regime confirmation against a 144-period trend average.
Pending-signal logic that waits for regime and optional ADX approval.
ADX strength gate using the prior reading relative to a user threshold and earlier value.
Gradient colors scaled by an ADX window with gamma controls.
Price-chart labels enforced via overlay on an otherwise pane-based indicator.
Practical effect: Fewer signals during weak or choppy conditions, labels that appear only after a bar closes, and color intensity that mirrors trend quality.
How it works (technical)
The script computes fast and slow moving averages using the selected method and lengths. A separate 144-length average defines the regime using a two-bar confirmation above or below it. Crossovers are observed on the previous bar to avoid intrabar ambiguity; once a prior crossover is detected, it is stored as pending. A pending long requires regime alignment and, if enabled, an ADX condition based on the previous reading being above the threshold and greater than an earlier reading. The state machine holds neutral, long, or short until an exit condition or ADX reset is met. ADX is normalized within a user window, scaled with gamma, and mapped to up and down color palettes to render gradients. Labels on the price panel are forced to overlay, while the ADX line and threshold guide remain in a separate pane.
Parameter Guide
Source — Input data for all calculations. Default: close. Tip: keep consistent with your chart.
MA Type — EMA or SMA. Default: EMA. EMA reacts faster; SMA is smoother.
Fast / Slow — Fast and slow lengths for crossover. Defaults: 13 and 21. Shorter reacts earlier; longer reduces noise.
Trend — Regime average length. Default: 144. Larger values stabilize regime; smaller values increase sensitivity.
Use 144 as trend filter — Enables regime gating. Default: true. Disable to allow raw crossovers.
Use ADX filter — Requires ADX strength. Default: true. Disable to allow signals regardless of strength.
ADX Len — DI and ADX smoothing length. Default: 14. Higher values smooth strength; lower values react faster.
ADX Thresh — Minimum strength for signals. Default: 25. Raise to reduce flips; lower to capture earlier moves.
Entry/Exit labels (price) — Price-panel labels on state changes. Default: true.
Signal labels in ADX pane — Small markers at the ADX value on entries. Default: true.
Label size — tiny, small, normal, large. Default: normal.
Enable barcolor — Optional candle tint by regime and gradient. Default: false.
Enable gradient — Turns on ADX-driven color blending. Default: true.
Window — Bars used to normalize ADX for colors. Default: 100; minimum: 5.
Gamma bars / Gamma plots — Nonlinear scaling for bar and line intensities. Default: 0.80; between 0.30 and 2.00.
Gradient transp (0–90) — Transparency for gradient colors. Default: 0.
MA fill transparency (0–100) — Fill opacity between fast and slow lines. Default: 65.
Palette colors (Up/Down) — Dark and neon endpoints for up and down gradients. Defaults as in the code.
Reading & Interpretation
Fast/Slow lines: When the fast line is above the slow line, the line and fill use the long palette; when below, the short palette is used.
Trend MA (144): Neutral gray line indicating the regime boundary.
Labels on price: “LONG” appears when the state turns long; “SHORT” when it turns short. Labels appear only after the bar closes and conditions are satisfied.
ADX pane: The ADX line shows current strength. The dotted threshold line is the user level for gating. Optional small markers indicate entries at the ADX value.
Bar colors (optional): Candle tint intensity reflects normalized ADX. Higher intensity implies stronger conditions.
Practical Workflows & Combinations
Trend following: Use long entries when fast crosses above slow and price has held above the trend average for two bars, with ADX above threshold. Mirror this for shorts below the trend average.
Exits and stops: Consider reducing exposure when price closes on the opposite side of the trend average for two consecutive bars or when ADX fades below the threshold if the ADX filter is enabled.
Structure confirmation: Combine with higher-timeframe structure such as swing highs and lows or a simple market structure overlay for confirmation.
Multi-asset/Multi-TF: Works across liquid assets. For lower timeframes, consider a slightly lower ADX threshold; for higher timeframes, maintain or raise the threshold to avoid unnecessary flips.
Behavior, Constraints & Performance
Repaint/confirmation: Signals are based on previous-bar crossovers and are confirmed on bar close. No higher-timeframe or security calls are used. Intrabar markers are not relied upon.
Resources: The script declares `max_bars_back` of 2000, uses no loops or arrays, and employs persistent variables for pending signals and state.
Known limits: Crossover systems can lag after sudden reversals. During tight ranges, disabling the ADX filter may increase flips; keeping it enabled may skip early transitions.
Sensible Defaults & Quick Tuning
Starting point: EMA, 13/21/144, ADX length 14, ADX threshold 25, gradients on, barcolor off.
Too many flips: Increase ADX threshold or length; increase trend length; consider SMA instead of EMA.
Too sluggish: Lower ADX threshold slightly; shorten fast and slow lengths; reduce the trend length.
Colors overpowering: Increase gradient transparency or reduce gamma values toward one.
What this indicator is—and isn’t
This is a visualization and signal layer that combines crossover, regime, and strength gating. It does not predict future movements, manage risk, or execute trades. Use it alongside clear structure, risk controls, and a defined position management plan.
Disclaimer
The content provided, including all code and materials, is strictly for educational and informational purposes only. It is not intended as, and should not be interpreted as, financial advice, a recommendation to buy or sell any financial instrument, or an offer of any financial product or service. All strategies, tools, and examples discussed are provided for illustrative purposes to demonstrate coding techniques and the functionality of Pine Script within a trading context.
Any results from strategies or tools provided are hypothetical, and past performance is not indicative of future results. Trading and investing involve high risk, including the potential loss of principal, and may not be suitable for all individuals. Before making any trading decisions, please consult with a qualified financial professional to understand the risks involved.
By using this script, you acknowledge and agree that any trading decisions are made solely at your discretion and risk.
Do not use this indicator on Heikin-Ashi, Renko, Kagi, Point-and-Figure, or Range charts, as these chart types can produce unrealistic results for signal markers and alerts.
Best regards and happy trading
Chervolino
Scalp Sense AI# Scalp Sense AI (No Repaint)
**Adaptive trend & reversal detector with an AI-driven score, multi-timeframe confirmations, robust volume filters, and a purpose-built Scalping Mode.**
Signals are generated **only on bar close** (no repaint), include structured alert payloads for webhooks, and come with optional ATR-based TP/SL visualization for study and validation.
---
## What it is (in one paragraph)
**Scalp Sense AI** combines classic market structure (DI/ADX, EMA, SMA, Keltner, ATR) with a continuous **AI Score** that fuses RSI normalization, EMA distance (in ATR units), and DI edge into a single, volatility-aware signal. It adaptively gates **trend** and **reversal** entries, applies **HTF confirmation** without lookahead, and enforces **guard rails** (e.g., strong-trend reversal blocking) unless a high-confidence AI override and volume confirmation are present. **Scalping Mode** compresses reaction times and adds micro price-action cues (wick rejections, micro-EMA crosses, small engulfing) to surface more—but disciplined—opportunities.
---
## Non-Repainting Design
* All signals, markers, state, and alerts are computed **after bar close** using `barstate.isconfirmed`.
* HTF data are requested with `lookahead_off`.
* No “future-peeking” constructs are used.
* Result: signals do **not** change after the candle closes.
---
## How the engine works (pipeline overview)
1. **Base metrics**
* **RSI**, **EMA**, **ATR** (+ ATR SMA for regime/volatility), **SMA long & short**, **Keltner** (EMA ± ATR×mult).
* **Manual DI/ADX** for fine control (DM+, DM−, true range smoothing).
2. **Volatility regime**
* Compares ATR to its SMA and scales thresholds by √(ATR/ATR\_SMA) → robust “high\_vol” gating.
3. **Volume & flow**
* **Volume Z-score**, **OBV slope**, and **MFI** (all computed manually) to confirm impulses and filter weak reversals.
4. **Higher-Timeframe confirmation (optional)**
* Imports HTF **PDI/MDI/ADX** and **SMA** (no lookahead) to require alignment when enabled.
5. **AI Score**
* Weighted fusion of **RSI (normalized around 0)**, **EMA distance (in ATR)**, and **DI edge**.
* Smoothed; then its **mean (μ)** and **volatility (σ)** are estimated to form **adaptive bands** (hi/lo), with optional **hysteresis**.
* **Debounce** (M in N bars) avoids flicker; **bias state** persists until truly invalidated.
6. **Signal logic**
* **Trend entries** require AI bias + trend confirmations (DI/ADX/SMA, HTF if enabled), volatility OK, and **anti-breakout** filter.
* **Reversal entries** come in **core**, **early**, and **scalp** flavors (progressively more frequent), guarded by strong-trend blocks that an **AI+volume+ADX-cooling override** can bypass.
7. **Scalping Mode**
* Adaptive parameter contraction (shorter lengths), gentler guards, micro-patterns (wick/engulf/micro-EMA cross), and reduced cooldown to increase high-quality opportunities.
8. **Cooldown & state**
* One signal per side after a configurable spacing in bars; internal “last direction” avoids clustering.
9. **Visualization & alerts**
* **Triangles** for trend, **circles** for reversals (offset by ATR to avoid overlap).
* **Single-line alert payload** (BUY/SELL, reason, AI, volZ, ADX) ready for webhooks.
---
## Signals & visualization
* **Trend Long/Short** → triangle markers (above/below) when:
* AI bias aligns with trend confirmations (DI edge, ADX above threshold, price vs long SMA, optional HTF alignment).
* Volatility regime agrees; **anti-breakout** prevents entries exactly at lookback highs/lows.
* **Reversal Long/Short** → circular markers when:
* **Core**: AI near “loose” band, OBV/MFI/volZ supportive, ADX cooling, DI spread relaxed, PA confirms (crosses/div).
* **Early**: anticipatory patterns (Keltner exhaustion, simple RSI “quasi-divergence”).
* **Scalp**: micro-EMA cross, wick rejection, mini-engulfing, with relaxed guards but AI/volume still in the loop.
* **Markers appear only on the bar that actually emitted the signal** (no repaint); offsets use ATR so shapes don’t overlap.
---
## Alerts (ready for webhooks)
Enable “**Any alert() function call**” and you’ll receive compact, single-line payloads once per bar:
```
action=BUY;reason=reversal-early;ai=0.1375;volZ=0.82;adx=27.5
action=SELL;reason=trend;ai=-0.2210;volZ=0.43;adx=31.9
```
* `action`: BUY / SELL
* `reason`: `trend` | `reversal-core` | `reversal-early` | `reversal-scalp`
* `ai`: current smoothed AI Score at signal bar
* `volZ`: volume Z-score
* `adx`: current ADX
---
## Inputs (exhaustive)
### 1) Core Inputs
* **RSI Length (Base)** (`rsi_length_base`, int)
Base RSI lookback. Shorter = more reactive; longer = smoother.
* **RSI Overbought Threshold** (`rsi_overbought`, int)
Informational for context; RSI is used normalized in the AI fusion.
* **RSI Oversold Threshold** (`rsi_oversold`, int)
Informational; complements visual context.
* **EMA Length (Base)** (`ema_length_base`, int)
Primary adaptive mean; also used for Keltner mid and distance metric.
* **ATR Length (Base)** (`atr_length_base`, int)
Volatility unit for Keltner, SL/TP (debug), and regime detection.
* **ATR SMA Length** (`atr_sma_len`, int)
Smooth baseline for ATR regime; supports “high\_vol” logic.
* **ATR Multiplier Base** (`atr_mult_base`, float)
Scales volatility gating (sqrt-scaled); higher = tighter high-vol requirement.
* **Disable Volatility Filter** (`disable_volatility_check`, bool)
Bypass volatility gating if true.
* **Price Change Period (bars)** (`price_change_period_base`, int)
Simple momentum check (+/−% over N bars) used in trend validation.
* **Base Cooldown Bars Between Signals** (`signal_cooldown_base`, int ≥ 0)
Minimum bars to wait between signals (per side).
* **Trend Confirmation Bars** (`trend_confirm_bars`, int ≥ 1)
Require persistence above/below long SMA for this many bars.
* **Use Higher Timeframe Confirmation** (`use_higher_tf`, bool)
Turn on/off HTF alignment (no repaint).
* **Higher Timeframe for Confirmation** (`higher_tf`, timeframe)
E.g., “60” to confirm M15 with H1; used for HTF PDI/MDI/ADX and SMA.
* **TP as ATR Multiple** (`tp_atr_mult`, float)
For **visual debug** only (drawn after entries); not an order manager.
* **SL as ATR Multiple** (`sl_atr_mult`, float)
For visual debug only.
* **Enable Scalping Mode** (`scalping_mode`, bool)
Compresses lengths/thresholds, unlocks micro-PA modules, reduces cooldown.
* **Show Debug Lines** (`show_debug`, bool)
Plots AI bands, DI/ADX, EMA/SMA, Keltner, vol metrics, and TP/SL (debug).
### 2) AI Score & Thresholds
* **AI Score Smooth Len** (`ai_len`, int)
EMA smoothing over the raw fusion.
* **AI Volatility Window** (`ai_sigma_len`, int)
Window to estimate AI mean (μ) and standard deviation (σ).
* **K High (sigma)** (`ai_k_hi`, float)
Upper band width (σ multiplier) for strong threshold.
* **K Low (sigma)** (`ai_k_lo`, float)
Lower band width (σ multiplier) for loose threshold.
* **Debounce Window (bars)** (`ai_debounce_m`, int ≥ 1)
Rolling window length used by the confirm counter.
* **Min Bars>Thr in Window** (`ai_debounce_n`, int ≥ 1)
Minimum confirmations inside the debounce window to validate a state.
* **Use Hysteresis Thresholds** (`ai_hysteresis`, bool)
Requires crossing back past a looser band to exit bias → fewer whipsaws.
* **Weight DI Edge (0–1)** (`ai_weight_di`, float)
Importance of DI edge within the fusion.
* **Weight EMA Dist (0–1)** (`ai_weight_ema`, float)
Importance of EMA distance (in ATR units).
* **Weight RSI Norm (0–1)** (`ai_weight_rsi`, float)
Importance of normalized RSI.
* **Sensitivity (0–1)** (`sensitivity`, float)
Contracts/expands bands (higher = more sensitive).
### 3) Volume Filters
* **Volume MA Length** (`vol_ma_len`, int)
Baseline for volume Z-score.
* **Volume Z-Score Window** (`vol_z_len`, int)
Std-dev window for Z-score; larger = fewer volume “spikes”.
* **Reversal: Min Volume Z for confirm** (`vol_rev_min_z`, float)
Minimum Z required to validate reversals (adaptively relaxed in scalping).
* **OBV Slope Lookback** (`obv_slope_len`, int)
Rising/falling OBV over this window supports bull/bear confirmations.
* **MFI Length** (`mfi_len`, int)
Money Flow Index lookback (manual calculation).
### 4) Filters (Breakout / ADX / Reversal)
* **Enable Breakout Filter** (`enable_breakout_fil`, bool)
Avoid trend entries at lookback highs/lows.
* **Breakout Lookback Bars** (`breakout_lookback`, int ≥ 1)
Window for the anti-breakout guard.
* **Base ADX Length** (`adx_length_base`, int)
Lookback for DI/ADX smoothing (also adapted in Scalping Mode).
* **Base ADX Threshold** (`adx_threshold_base`, float)
Minimum ADX to validate trend context (scaled in Scalping Mode).
* **Enable Reversal Filter** (`enable_rev_filter`, bool)
Master switch for reversal logic.
* **Max ADX for Reversal** (`rev_adx_max`, float)
Hard cap: above this ADX, reversals are blocked (unless overridden by AI if allowed in Guards).
### 5) Reversal Guard (regime protection & overrides)
* **Strong Trend: ADX add-above Thr** (`guard_adx_add`, float)
Extra ADX above `adx_threshold` to mark “strong” trend.
* **Strong Trend: min DI spread** (`guard_spread_min`, float)
Minimum DI separation to consider a trend “dominant”.
* **Require ADX drop from window max (%)** (`guard_adx_drop_min_pct`, float 0–1)
ADX must drop at least this fraction from its window maximum to consider “cooling”.
* **Regime Window (bars)** (`guard_regime_len`, int ≥ 10)
Window over which ADX max is measured for the “cooling” check.
* **EMA Slope Lookback** (`guard_slope_len`, int ≥ 2)
EMA slope horizon used alongside Keltner for strong-trend identification.
* **Keltner Mult (ATR)** (`guard_kc_mult`, float)
Keltner width for strong trend bands and exhaustion checks.
* **HTF Reversal Block Mode** (`htf_block_mode`, string: `Off` | `On` | `AI-controlled`)
* `Off`: never block by HTF.
* `On`: block reversals whenever HTF is strong.
* `AI-controlled`: block **unless** AI+volume+ADX-cooling override criteria are met.
* **AI-controlled: allow AI override** (`ai_htf_override`, bool)
Enables the override mechanism in `AI-controlled` mode.
* **AI override multiplier (vs band\_hi)** (`ai_override_mult`, float)
Strength needed beyond the high band to count as “strong AI”.
* **AI override: min bars beyond strong thr** (`ai_override_min_bars`, int ≥ 1)
Debounce on the override itself.
### 6) Markers
* **Reversal Circle ATR Offset** (`rev_marker_offset_atr`, float ≥ 0)
Vertical offset for reversal circles; trend triangles use a separate (internal) offset.
### 7) Scalping Mode Tuning
* **Reversal aggressiveness (0–1)** (`scalp_rev_aggr`, float)
Higher = looser guards and stronger AI sensitivity.
* **Wick: body multiple (bull/bear)** (`scalp_wick_body_mult`, float)
Wick must be at least this multiple of body to count as rejection.
* **Wick: ATR multiple (min)** (`scalp_wick_atr_mult`, float)
Minimal wick length in ATR units.
* **Micro EMA factor (vs EMA base)** (`scalp_ema_fast_factor`, float 0.2–0.9)
Fast EMA length = base EMA × factor (rounded/int).
* **Relax breakout filter in scalping** (`scalp_breakout_relax`, bool)
Lets more trend entries through in scalping context.
### 8) ICT-style SMA (bases)
* **ICT SMA Long Length (Base)** (`sma_long_len_base`, int)
Long-term baseline for regime/trend.
* **ICT SMA Short1 Length (Base)** (`sma_short1_len_base`, int)
Short baseline for price-action crosses.
* **ICT SMA Short2 Length (Base)** (`sma_short2_len_base`, int)
Companion short baseline used in PA cross checks.
> **Adaptive “effective” values:** When **Scalping Mode** is ON, the script internally shortens multiple lengths (RSI/EMA/ATR/ADX/μσ windows, SMAs) and gently relaxes guards (ADX drop %, DI spread, volume Z, override thresholds), reduces cooldown/confirm bars, and optionally relaxes the breakout filter—so you get **more frequent but still curated** signals.
---
## Plots & debug (optional)
* DI+/DI−, ADX (curr + HTF), EMA, long SMA, Keltner up/down (when strong), AI Score, AI mean, AI bands (hi/lo; low plots only when hysteresis is on), Volume MA and Z-score, and ATR-based TP/SL guide (after entries).
* These are **study aids**; the indicator does not manage trades.
---
## Recommended use
* **Timeframes**:
* Scalping Mode: M1–M15.
* Standard Mode: M15–H1 (or higher).
* **Markets**: Designed for liquid FX, indices, metals, and large-cap crypto.
* **Chart type**: Standard candles recommended (Heikin-Ashi alters inputs and hence signals).
* **Alerts**: Use “Any alert() function call”. Parse the key/value payloads server-side.
---
## Good to know
* **Why some alerts don’t draw shapes retroactively**: markers are drawn **only on** the bar that emitted the signal (no repaint by design).
* **Why a reversal didn’t fire**: strong-trend guards + HTF block may have been active; check ADX, DI spread, Keltner position, EMA slope, and whether AI override criteria were met.
* **Too many / too few signals**: tune **Scalping Mode**, `signal_cooldown_base`, AI bands (`ai_k_hi/lo`, `sensitivity`), volume Z (`vol_rev_min_z`), and guards (`rev_adx_max`, `guard_*`).
---
## Disclaimer
This is an **indicator**, not a strategy or an execution system. It does not place, modify, or manage orders. Markets carry risk—validate on historical data and demo before any live decisions. No performance claims are made.
---
### Version
**Scalp Sense AI v11.5** — Adaptive AI bands with hysteresis/debounce, HTF no-lookahead confirmations, guarded reversal logic with AI override, full volume suite (Z, OBV slope, MFI), anti-breakout filter, and a dedicated Scalping Mode with micro-PA cues.
Average Directional Index ProThe Average Directional Index (ADX) is a moving average of a range, usually 14 days, that's used to quantify the strength and direction of a trend. ADX values are significant in that lower values indicate a weak to non-existent trend, i.e. ADX=14, whereas an ADX=40 is indicative of a strong trend. Additionally, a weak trend could signal that price has entered in to a consolidation phase. A trader could wait for price to rise or fall out of a supply zone while simultaneously looking for ADX values to climb up and over the 25 level, since the ADX could be strong enough for price to trend after the breakout. As a result, this type of setup could be an excellent entry for a trade. Keep in mind that price is the signal most important value on a chart so it's important to use an indicator like this to confirm a particular bias that you may have.
💥💥💥💥💥
Instead of using a single line as most ADX indicators do, I thought that showing the values in terms of histogram bars would be highly intuitive and provide an interesting visual that would illustrate with varying degrees of color where the strength (or lack thereof) lies at any given time. The following are some of the characteristics that I feel make this script stand out from the pack.
💡Histogram plots. ADX values range from 0-100 and it may seem counterintuitive to see an ADX value below a 0 line. With this approach, I've divided up the ADX values between "bull" and "bear", meaning if an ADX histogram bar is above the 0 line (no matter if the value is 5 or 50), it's because the DMI+ value is ABOVE the DMI- value. Conversely, if the ADX histogram bar is below the 0 line, it's because the DMI- value is ABOVE the DMI+ value. DMI and ADX go hand-in-hand and while DMI values do not play a prominent role here, you'll see their values in the Main Label.
💡Main label. The main label's color will correspond to that of the histogram bar. The DMI and ADX values are listed along with the current price of the asset. Whichever DMI value is higher will be listed ahead of the lower value. In other words, from left to right, you'll see the ADX value followed by the higher of the 2 DMI values followed by the lesser of the 2 DMI values. The ADX value will be followed by an icon showing you if the value is rising or falling. Additionally, the main label has some extras: both buy/sell % on the current chart as well as daily chart along with total volume and average volume for the respective time frames. You can also change the MA lengths for the chart and daily TF averages. Both buy/sell % and total/avg volume values come with their own significant values inputs.
💡Color coded histogram bars dependent on ADX values. A few examples: an ADX value between 30 and 40 when DI+ > DI-, you'll see a dark green bar. Conversely, if the ADX value is > 70 and DI- > DI+, you'll get a dark purple bar. All in all, there's 18 possible colors denoted within the histogram.
💡Momentum arrows. There's 4 colors for the up/down arrows that populate above the histogram bar when DI+ and DI- combined with ADX values are showing extreme values. An example would be when DI+ is between 30 and 50 and ADX is greater than 30, you'll get a green arrow. On the flipside, when DI- is greater than -50 and ADX is greater than 40, you'll see a dark red arrow.
💡ADX and price shown on the histogram. You can choose to have the price and ADX values side by side or on top of one another as well as change the decimal value with a "significant figure" input. You can also opt to have neither value shown. The values will show above or below their respective bar dependent upon if DMI+ or DMI- is the dominant value, which in turn determines if the histogram is above or below the 0 line.
💡Weak trend colors. Any ADX values between 0 to 23 will give varying degrees of black to light gray indicating a weak or no trend. An ADX value of 17 could indicate a weak trend but the value could be rising as buyers push price higher. As the ADX approaches 25, wait for price confirmation (and volume) to validate if momentum could continue.
💡Threshold lines. ADX values above +/- 25-30 tend to show a strengthening of trend and you can choose to include these lines or not in your charts.
💡ADX value follow line. Determined by DMI+ being > or < than DMI-. For instance, if the trend changes and DMI- crosses over DMI+, the follow line will switch to follow the ADX histogram bar as it falls below 0. You can choose to enable/disable this line.
💡Colored bars. You can choose to enable the ADX color schemes to your candles further providing an easy view of the current trend.
💥💥💥💥💥
Remember to use any indicator together with price action to confirm a particular bias you may have! You could also use this indicator in confluence with my Directional Movement Pro script for an extra visual on trend direction and strength.
💥💥💥💥💥
Should you have any questions, feedback etc, please do not hesitate to contact the script's author. My hope is that this indicator becomes an invaluable resource to you and you're able to integrate it in to your everyday trading tool bag to make more informed decisions.
SimpleCryptoLife helped me code up this script and he's been an incredible source of knowledge in my trading journey. Without his patience and pine script expertise, this script would not have been possible!
ADX_OSCILLATOR [APIDEVs]ENGLISH:
ADX (ORIGINAL VERSION)
The ADX Indicator (Average Directional Index), is a non-directional oscillator type indicator, that is, it quantifies the strength of a trend regardless of its direction. In its original version, it is made up of 3 lines that represent the direction and strength of the movement:
• A line representing the ADX indicator.
• A green line representing the bullish Direction Index (DI +).
• A red line representing the Bearish Direction Index (DI-).
When the ADX is greater than 35, the market is in a strong trend, when it is between 35 and 20 the market is in trend and when it is less than 20 it indicates that the market is in range.
ADX OSCILLATOR (OUR VERSION)
At APIDEVs we really care about improving the understanding and experience of our users, which is why, in response to multiple requests, we decided to make important modifications to the ADX, which we consider to be the most powerful indicator of strength.
For many traders it was really confusing to understand that the ADX could be bullish or bearish and at the same time have the same numerical values, so in our version of the “ADX PRO +” we added colors and different intensity levels for your better understanding, however. , many needed a more explicit indicator and it is based on this request that we decided to take a leap into the incredible and that is how the “ADX OCILLATOR” was born.
We convert the ADX into a trend oscillator, now simpler and with multiple advantages which we will proceed to list:
1. The ADX was transformed into a directional oscillator whose color is based on the crossing of (DI +) and (DI-). This modification opens the door to the replacement of the Squeeze Momentum Indicator (SQZMOM) as a directional complement to the ADX.
2. A Background was added that is activated exclusively when the market has a strong upward or downward trend, specifying through its colors and intensity the type and direction of the force.
3. The original ADX parameters were adjusted to almost eliminate completely the “no trend” condition. This condition only created confusion for traders.
4. Added a system of signals based on the direction of the oscillator and the strength of the ADX.
• When the oscillator is sloping up and the ADX is green, the LONG (L) signal is activated.
• When the oscillator slopes downward and the ADX is red, the SHORT (S) signal is activated.
5. A side panel has been enabled that visually expresses the numerical value and direction of the ADX, as well as the direction of the oscillator.
6. An alert system was enabled so that traders receive notifications on all their devices:
• It is activated when the ADX changes color.
• It is activated when the Oscillator crosses the 0 point.
• It is activated when any input signal is activated.
---------------------------SPANISH --------------------------------
ADX OSCILLATOR:
ADX (VERSIÓN ORIGINAL)
El Indicador ADX (Average Directional Index), Es un indicador de tipo oscilador no direccional, es decir, cuantifica la fuerza de una tendencia independientemente de su dirección. En su versión original está compuesto por 3 líneas que representan la dirección y la fuerza del movimiento:
1. Una línea que representa el indicador ADX.
2. Una línea verde que representa el Índice de Dirección alcista (DI+).
3. Una línea roja que representa el Índice de Dirección bajista (DI-).
Cuando el ADX es mayor a 35, el mercado está en fuerte tendencia, cuando está entre 35 y 20 el mercado esta en tendencia y cuando es menor a 20 indica que el mercado está en rango.
ADX OSCILLATOR (NUESTRA VERSIÓN)
En APIDEVs realmente nos preocupamos por mejorar la comprensión y experiencia de nuestros usuarios, es por ello por lo que atendiendo a múltiples solicitudes decidimos realizar importantes modificaciones al ADX, el cual consideramos como el más potente indicador de fuerza.
Para muchos traders era realmente confuso entender que el ADX podía ser alcista o bajista y al mismo tiempo tener los mismos valores numéricos, así que en nuestra versión del “ADX PRO+” le añadimos colores y diferentes niveles de intensidad para su mejor comprensión, sin embargo, muchos necesitaban un indicador más explícito y es en base a esta solicitud que decidimos dar un salto a lo increíble y es así como nació el “ADX OCILLATOR” .
Convertimos el ADX en un oscilador de tendencia, ahora más simple y con múltiples ventajas las cuales procederemos a enumerar:
1. Se transformó el ADX en un oscilador direccional cuyo color esta basado en el cruce del (DI+) y el (DI-). Esta modificación abre la puerta al remplazo del Squeeze Momentum Indicator (SQZMOM) como complemento direccional del ADX.
2. Se añadió un Background que se activa exclusivamente cuando el mercado posee una fuerte tendencia alcista o bajista, Especificando a través de sus colores e intensidad el tipo y dirección de la fuerza.
3. Se ajustaron los parámetros del ADX original para eliminar casi en su totalidad la condición de “no haber tendencia” esta condición solo creaba confusión en los traders.
4. Se añadió un sistema de señales basados en la dirección del oscilador y la fuerza del ADX.
• Cuando el oscilador tiene la pendiente alcista y el ADX está en verde, se activa la señal de LONG (L).
• Cuando el oscilador tiene la pendiente bajista y el ADX está en rojo, se activa la señal de SHORT (S).
5. Se habilitó un panel lateral que expresa visualmente el valor numérico y la dirección del ADX, así como también la dirección del oscilador.
6. Se habilito un sistema de alertas para que los traders reciban notificaciones en todos sus dispositivos:
• Se activa cuando el ADX cambia de color.
• Se activa cuando el Oscilador cruza el punto 0.
• Se activa cundo se activa alguna señal de entrada.
Critical Advanced Multi-Divergence Dashboard
Complete Dashboard Interpretation Guide
Dashboard Metrics Explained
1. Timeframe
What it shows: Current chart timeframe (15m, 1H, 4H, 1D, etc.)
How to interpret:
The script auto-detects your chart timeframe
Higher timeframes (4H, 1D) = more reliable signals but fewer trades
Lower timeframes (5m, 15m) = more signals but higher noise
Best practice: Use multiple timeframes - get signal on 1H, confirm on 15m for entry
2. Signal Bias: BULLISH / BEARISH / NEUTRAL
What it shows: Overall market direction based on divergence consensus
Color coding:
🟢 BULLISH (Green) = Net strength > +10 → Expect upward move
🔴 BEARISH (Red) = Net strength < -10 → Expect downward move
⚪ NEUTRAL (Gray) = Net strength between -10 to +10 → No clear direction
How to interpret:
BULLISH: Multiple bullish divergences detected → Look for LONG entries
BEARISH: Multiple bearish divergences detected → Look for SHORT entries
NEUTRAL: Conflicting signals or weak divergences → WAIT, don't trade
Trading Action:
BULLISH + Strength > 60 = Strong BUY signal
BEARISH + Strength > 60 = Strong SELL signal
NEUTRAL = Stay out, wait for clarity
3. Signal Strength: 0-100
What it shows: Quantified power of the divergence signal
Strength Scale:
🔴 0-30 (Red): Weak signal → Don't trade
🟠 31-60 (Orange): Moderate signal → Trade with caution, reduce position size
🟢 61-100 (Green): Strong signal → High confidence trade
Calculation factors:
Number of divergences detected
Volume confirmation (1.3x multiplier if high volume)
Trend filter (ADX reduces counter-trend signals by 40%)
Weighted scoring (volume-based indicators get 1.5x weight)
How to use:
Strength > 70 + ADX < 20 = Best reversal trades
Strength > 60 + Volume HIGH = Excellent entry
Strength < 40 = Skip the trade
Example Scenarios:
Strength = 85 → Take full position size
Strength = 55 → Take 50% position, tight stop loss
Strength = 25 → No trade, wait for better setup
4. Quality Score: 0-100
What it shows: Overall reliability and confidence rating
Components (max 100 points):
Divergence count (40 points): More indicators confirming = higher quality
Volume confirmation (20 points): High volume adds 20, normal adds 10
Trend alignment (20 points): Signal aligning with trend = 20, against trend but weak ADX = 15
Detection timing (20 points): Confirmed signals = 20, early detection = 15
Quality Tiers:
80-100: Excellent - High probability setup
60-79: Good - Tradeable with proper risk management
40-59: Fair - Only for experienced traders
Below 40: Poor - Avoid trading
How to use:
Quality > 75 + Strength > 60 = Grade A setup
Quality > 60 + Strength > 50 = Grade B setup (reduce size)
Quality < 50 = Don't trade regardless of strength
5. Bullish Divs: 3R/2H (Example)
What it shows: Count of bullish divergences detected
R = Regular divergences (price LL, indicator HL)
H = Hidden divergences (price HL, indicator LL)
Interpretation:
Regular divergences = Reversal signals (more important)
Hidden divergences = Continuation signals (trend confirmation)
Examples:
4R/1H → Strong bullish reversal expected
1R/3H → Bullish trend continuation likely
5R/0H → Very strong reversal setup
Trading Logic:
High R count = Look for trend reversal
High H count = Trend is strong, look for pullback entries
R+H both high = Very strong signal, major move expected
6. Bearish Divs: 2R/1H (Example)
Same logic as Bullish Divs but for downside:
2R/1H → Moderate bearish reversal setup
0R/4H → Strong downtrend continuation
4R/3H → Extremely strong bearish signal
7. ADX (Trend): 35
What it shows: Average Directional Index - measures trend strength
ADX Scale:
0-20: Weak or no trend → Range-bound market
20-25: Emerging trend → Early trend formation
25-50: Strong trend → Trend is established
50-75: Very strong trend → Major directional move
75+: Extremely strong trend → Parabolic move, be cautious
Color Coding:
🟠 Orange (ADX > threshold): Strong trending market
⚪ Gray (ADX < threshold): Weak trend/ranging
How to interpret:
ADX < 20 + BULLISH Signal = Best for reversal trades (range breakout)
ADX > 25 + BEARISH Signal = Counter-trend, risky (signal strength reduced 40%)
ADX > 40 + Signal against trend = Dangerous, skip
ADX < 20 + High Strength = Perfect reversal setup
Trading Examples:
ADX = 15, BULLISH strength 75 → Perfect buy at bottom
ADX = 45, BEARISH strength 60 → Caution: Market in strong uptrend, bearish signal gets discounted
ADX = 50, BULLISH strength 80 → Trend continuation: Pullback in uptrend, good long entry
8. Volume: HIGH / Normal
What it shows: Current volume vs 20-period moving average
Volume Status:
🟡 HIGH (Yellow): Volume > 1.5x average → Signal multiplied by 1.3x
⚪ Normal (Gray): Volume ≤ 1.5x average → Signal multiplied by 0.8x
Why it matters:
High volume = More participation = More reliable signal
Normal/low volume = Weak conviction = Less reliable
Trading Rules:
HIGH volume + Strong signal = Take trade immediately
Normal volume + Strong signal = Wait for volume confirmation
HIGH volume + Weak signal = Still tradable (volume validates)
Normal volume + Weak signal = Definitely skip
Example:
Strength 50 + HIGH volume → Effective strength = 65 (tradable)
Strength 50 + Normal volume → Effective strength = 40 (skip)
9. Volatility: 2.35%
What it shows: ATR (Average True Range) as percentage of price
Volatility Scale:
< 1%: Very low volatility → Tight ranges, breakout coming
1-2%: Normal volatility → Standard market conditions
2-3%: Elevated volatility → Bigger moves expected
> 3%: High volatility → Large swings, wider stops needed
How to use:
Low volatility (< 1%) = Tighten stops, smaller targets
Normal (1-2%) = Standard position sizing
High (> 3%) = Reduce position size, wider stops
Impact on trading:
High volatility → Script auto-adjusts pivot periods (better divergence detection)
Stop loss placement: Use ATR × 2 for stop distance
Position sizing: Reduce size in high volatility
10. Detection: EARLY / Confirmed
What it shows: Whether signal detected before or after pivot confirmation
Detection Modes:
🟡 EARLY (Yellow): Signal detected before pivot confirms → Earlier entry but slightly less reliable
🟢 Confirmed (Green): Signal after pivot confirmation → More reliable but later entry
Trade-off:
EARLY mode:
+ Enter 2-5 bars earlier
+ Better risk/reward ratio
- 10-15% more false signals
Confirmed mode:
+ Higher reliability
+ Better for conservative traders
- May miss 10-20% of move
How to use:
Aggressive traders: Use EARLY mode + higher quality threshold (>70)
Conservative traders: Use Confirmed mode + moderate quality (>60)
🎯 Complete Trading Decision Matrix
STRONG BUY Signal ✅
Signal Bias: BULLISH
Signal Strength: > 70
Quality Score: > 75
Bullish Divs: ≥ 3 (preferably high R count)
ADX: < 25 (weak trend/reversal) OR > 30 with DI+ > DI-
Volume: HIGH
Action: Enter LONG with full position
STRONG SELL Signal ✅
Signal Bias: BEARISH
Signal Strength: > 70
Quality Score: > 75
Bearish Divs: ≥ 3 (preferably high R count)
ADX: < 25 (weak trend/reversal) OR > 30 with DI- > DI+
Volume: HIGH
Action: Enter SHORT with full position
Moderate Trade ⚠️
Signal Strength: 50-70
Quality Score: 60-75
Volume: Normal
Action: Enter with 50% position size, tight stop loss
NO TRADE ❌
Signal Bias: NEUTRAL
Signal Strength: < 50
Quality Score: < 60
ADX: > 40 (signal against strong trend)
Volume: Normal + Strength < 50
Action: Stay out, wait for better setup
📊 Real Trading Examples
Example 1: Perfect Bullish Setup
Timeframe: 1H
Signal Bias: BULLISH 🟢
Signal Strength: 82/100 🟢
Quality Score: 88/100
Bullish Divs: 5R/2H (excellent)
Bearish Divs: 0R/0H
ADX: 18 (weak trend, perfect for reversal)
Volume: HIGH 🟡
Volatility: 1.8%
Detection: EARLY 🟡
INTERPRETATION: Grade A+ setup
- Strong bullish consensus (5 regular divergences)
- Low ADX = perfect reversal condition
- High volume confirms the signal
- Quality 88 = highly reliable
ACTION:
✅ Enter LONG immediately with full position
✅ Stop loss: 2 × ATR below entry (3.6%)
✅ Target: Previous swing high or 2:1 R/R
Example 2: Risky Counter-Trend Signal
Timeframe: 15m
Signal Bias: BEARISH 🔴
Signal Strength: 55/100 🟠
Quality Score: 62/100
Bearish Divs: 2R/1H
ADX: 45 (very strong uptrend)
Volume: Normal
Detection: EARLY
INTERPRETATION: Dangerous setup
- ADX 45 = strong uptrend in place
- Bearish signal is counter-trend
- Script already reduced strength by 40%
- Moderate quality, normal volume
ACTION:
❌ SKIP this trade
⏸️ Wait for ADX to drop below 25
⏸️ Or wait for bearish strength > 70 with HIGH volume
Example 3: Wait and Watch
Signal Bias: NEUTRAL ⚪
Signal Strength: 35/100 🔴
Quality Score: 48/100
Bullish Divs: 1R/1H
Bearish Divs: 1R/0H
ADX: 22
Volume: Normal
INTERPRETATION: Conflicting signals
- Both bullish and bearish divergences present
- Low strength and quality
- No clear direction
ACTION:
⏸️ Don't trade - wait for clarity
👀 Watch for one side to dominate
📊 Check higher timeframe for context
🎓 Pro Tips for Dashboard Reading
Check Multiple Timeframes:
Signal on 4H + confirmation on 1H = Best trades
Higher TF gives direction, lower TF gives entry
Volume is King:
Never ignore HIGH volume signals (even if strength is moderate)
Be extra cautious with normal volume + weak signals
ADX Context Matters:
ADX < 20 + Divergence = Reversal opportunity
ADX > 40 + Counter-trend divergence = Dangerous
Quality Over Strength:
Quality 80 + Strength 60 > Quality 50 + Strength 80
High quality ensures the signal is real, not noise
Regular vs Hidden Divergences:
High R count = Reversal expected (more important)
High H count = Continuation (use for re-entries)
Early Detection Trade-off:
Use EARLY for swing trading (better R/R)
Use Confirmed for day trading (higher accuracy)
⚡ Quick Decision Flowchart
Step 1: Check Signal Bias
├─ NEUTRAL? → ❌ Don't trade
└─ BULLISH/BEARISH? → Continue
Step 2: Check Signal Strength
├─ < 50? → ❌ Don't trade
├─ 50-60? → Reduce position 50%
└─ > 60? → Continue
Step 3: Check Quality Score
├─ < 60? → ❌ Don't trade
└─ ≥ 60? → Continue
Step 4: Check ADX
├─ > 40 AND counter-trend? → ❌ Don't trade
└─ < 40 OR with-trend? → Continue
Step 5: Check Volume
├─ HIGH → ✅ Take trade (boost confidence)
└─ Normal → Check if strength > 60, then ✅ trade
Step 6: Position Sizing
├─ Strength > 70 + Quality > 75 → 100% position
├─ Strength 60-70 + Quality 60-75 → 75% position
└─ Strength 50-60 + Quality 60-70 → 50% position
This dashboard gives you a complete edge in divergence trading by quantifying what was previously subjective! 🚀
Only for Educational purpose
Donchian ForecastDonchian Forecast – multi-timeframe Donchian/ATR bias with ADX regime blending
Donchian Forecast is a multi-timeframe bias tool that turns classic Donchian channels into a normalized trend/mean-reversion “forecast” and a single bias value in .
It projects a short polyline path from the current price and shows how that path adapts when the market shifts from ranging to trending (via ADX).
---
Concept
1. Donchian position → direction
For each timeframe, the script measures where price sits inside its Donchian channel:
-1 = near channel low
0 = middle
+1 = near channel high
This Donchian position is multiplied by ATR to create a **price delta** (how far the forecast moves from current price).
2. Local behavior: trend vs mean-reversion around Donchian
The indicator treats the edges vs middle of the Donchian channel differently:
* By default, edges behave more “trend-like”, middle more “mean-reverting”.
* If you enable the reversed option, this logic flips (edges = mean-reverting, middle = trend-
like).
* This “local” behavior is controlled smoothly by the absolute Donchian position |pos| (not by hard zone switches).
3. Global ADX modulation (regime aware)
ADX is mapped from your chosen low → high thresholds into a signed factor in :
* ADX ≤ low → -1 (fully reversed behavior, more range/mean-reversion oriented)
* ADX ≥ high → +1 (fully normal behavior, more trend oriented)
* Values in between create a **smooth transition**.
* This global factor can:
* Keep the local behavior as is (trending regime),
* Flip it (range regime), or
* Neutralize it (indecisive regime).
4. Multi-timeframe aggregation (1x–12x chart timeframe)
* The script repeats the same logic across 12 horizons:
* 1x = chart timeframe
* 2x..12x = multiples of the chart timeframe (e.g., 5m → 10m, 15m, …; 1h → 2h, 3h, …).
* For each horizon it builds:
* Donchian position
* ATR-scaled delta (in price units)
* Locally + globally blended delta (after Donchian + ADX logic).
* These blended deltas are ATR-weighted and summed into a single bias in , which is then shown as Bias % in the on-chart table.
---
### What you see on the chart
* Forecast polyline
* Starting at the current close, the indicator draws a short chain of **up to 12 segments**:
* Segment 1: from current price → 1x projection
* Segment 2: 1x → 2x projection
* … up to 12x.
* Each segment is:
* Green when its blended delta is ≥ 0 (upward bias)
* Red when its blended delta is < 0 (downward bias)
* This is not future price, but a synthetic path showing how the Donchian/ATR/ADX model “expects” price to drift across multiple horizons.
* Bias table (top-center)
* `Bias: X.Y%`
* > 0% (green) → net upward bias across horizons
* < 0% (red) → net downward bias
* Magnitude (e.g., ±70–100%) ≈ strength of the directional skew.
* `ADX:` current ADX value (from your DMI settings).
* `ADXBlend:` the signed ADX factor in :
* +1 ≈ fully “trend-interpretation” of Donchian behavior
* 0 ≈ neutral / mixed regime
* -1 ≈ fully “reversed/mean-reversion interpretation”
---
Inputs & settings
Core Donchian / ATR
* Donchian Length – lookback for Donchian high/low on each horizon.
* Price Source – input series used for position inside the Donchian channel (default: close).
* ATR Length – ATR lookback for all horizons.
* ATR Multiplier – scales the size of each forecast step in price units (higher = longer segments / more aggressive forecast).
*Local behavior at high ADX
* Reversed local blend at high ADX?
* Off (default) – edges behave more trend-like, middle more mean-reverting.
* On – flips that logic (edges more mean-reverting, middle more trend-like).
* The actual effect is always modulated by the global ADX factor, so you can experiment with how the regime logic feels in different markets.
Global ADX blending
* DMI DI Length – period for the DI+ and DI- components.
* ADX Smoothing – smoothing length for ADX.
* ADX low (mean-rev zone) – below this level, the global factor pushes behavior toward reversal/range logic .
* ADX high (trend zone) – above this level, the global factor pushes behavior toward **trend logic**.
* Values between low and high create a smooth blend rather than a hard on/off switch.
---
How to use it (examples)
* Directional bias dashboard
* Use the Bias % as a compact summary of multi-horizon Donchian/ATR/ADX conditions:
* Consider only trades aligned with the sign of Bias (e.g., longs only when Bias > 0).
* Use the magnitude to filter for **strong vs weak** directional contexts.
* Regime-aware context
* Watch ADX and ADXBlend:
* High ADX & ADXBlend ≈ +1 → favor trend-continuation ideas.
* Low ADX & ADXBlend ≈ -1 → favor range/mean-reversion ideas.
* Around 0 → mixed/transition regimes; forecasts will be more muted.
* Visual sanity check for systems
* Overlay Donchian Forecast on your usual entries/exits to see:
* When your system trades **with** the multi-TF Donchian bias.
* When it trades **against** it (possible fade setups or no-trade zones).
This script does not generate entry or exit signals by itself. It is a contextual/forecast tool meant to sit on top of your own trading logic.
---
Notes
* Works on most symbols and timeframes; higher-timeframe multiples are built from the chart timeframe.
* The forecast line is a model-based projection, not a prediction or guarantee of future price.
* Always combine this with your own risk management, testing, and judgement. This is for educational and analytical purposes only and is not financial advice.






















