OPEN-SOURCE SCRIPT
Wick Asymmetry Ratio (WAR)

Wick Asymmetry Ratio (WAR)
WAR is a bounded oscillator (−1 to +1) that measures which candle wick dominates — in other words, where price was rejected.
How it's calculated
Pine Script®
Most wick tools compare each wick against the body. WAR instead subtracts the two wicks and normalizes by the full bar range. Two consequences: it never breaks on doji candles (zero body, no division blow-up), and it produces a single symmetric value comparable across symbols and timeframes.
How to read it
The signal filter — this is the point
A single strong wick means little in the middle of a range. WAR only marks a signal when a strong rejection coincides with the bar being the highest/lowest of the lookback window, plus a cooldown to prevent clusters. This is what separates it from "an arrow on every wick".
Visual layers
Limitations — read this
WAR is a context / exhaustion tool, not a standalone entry trigger. It tells you who absorbed price on a given bar; it does not predict direction by itself. Use it as confluence with structure, support/resistance, or your own system. On sub-cent assets raise ε. The signal fires on bar close at the threshold cross.
— Español —
WAR es un oscilador acotado (−1 a +1) que mide qué mecha de la vela domina, es decir, dónde fue rechazado el precio. A diferencia de los ratios mecha/cuerpo, WAR resta ambas mechas y normaliza por el rango total: no se rompe en doji y da un valor simétrico comparable entre activos y temporalidades.
El filtro solo marca señal cuando un rechazo fuerte coincide con un extremo de la ventana, con cooldown para evitar racimos. Es una herramienta de contexto / agotamiento, no un gatillo de entrada por sí sola — úsala como confluencia. Toda la interfaz en inglés está traducida en esta descripción.
WAR is a bounded oscillator (−1 to +1) that measures which candle wick dominates — in other words, where price was rejected.
How it's calculated
upper = high − max(open, close)
lower = min(open, close) − low
WAR = (lower − upper) / (high − low + ε)
Most wick tools compare each wick against the body. WAR instead subtracts the two wicks and normalizes by the full bar range. Two consequences: it never breaks on doji candles (zero body, no division blow-up), and it produces a single symmetric value comparable across symbols and timeframes.
How to read it
- WAR > 0 → lower wick dominates → buyers defended the low (bullish rejection)
- WAR < 0 → upper wick dominates → sellers capped the high (bearish rejection)
- WAR ≈ 0 → clean body or symmetric wicks → no clear rejection
The signal filter — this is the point
A single strong wick means little in the middle of a range. WAR only marks a signal when a strong rejection coincides with the bar being the highest/lowest of the lookback window, plus a cooldown to prevent clusters. This is what separates it from "an arrow on every wick".
Visual layers
- Colored histogram (sign + strength)
- Optional price-overlay pressure ribbon that shifts green↔red — read pressure without numbers
- Signal dots with a halo at filtered extremes
- Subtle background aura in strong zones
Limitations — read this
WAR is a context / exhaustion tool, not a standalone entry trigger. It tells you who absorbed price on a given bar; it does not predict direction by itself. Use it as confluence with structure, support/resistance, or your own system. On sub-cent assets raise ε. The signal fires on bar close at the threshold cross.
Open-source. Wick analysis is a well-known concept; what's specific here is the subtractive, range-normalized oscillator plus the extreme + cooldown filter and the price-overlay ribbon. Feedback and forks welcome.
— Español —
WAR es un oscilador acotado (−1 a +1) que mide qué mecha de la vela domina, es decir, dónde fue rechazado el precio. A diferencia de los ratios mecha/cuerpo, WAR resta ambas mechas y normaliza por el rango total: no se rompe en doji y da un valor simétrico comparable entre activos y temporalidades.
- WAR > 0 → mecha inferior domina → rechazo comprador
- WAR < 0 → mecha superior domina → rechazo vendedor
- WAR ≈ 0 → cuerpo limpio o mechas simétricas → sin rechazo claro
El filtro solo marca señal cuando un rechazo fuerte coincide con un extremo de la ventana, con cooldown para evitar racimos. Es una herramienta de contexto / agotamiento, no un gatillo de entrada por sí sola — úsala como confluencia. Toda la interfaz en inglés está traducida en esta descripción.
Script de código aberto
Em verdadeiro espírito do TradingView, o criador deste script o tornou de código aberto, para que os traders possam revisar e verificar sua funcionalidade. Parabéns ao autor! Embora você possa usá-lo gratuitamente, lembre-se de que a republicação do código está sujeita às nossas Regras da Casa.
Get access to our exclusive tools: caminoalfondeo.com
Join our 4k+ community: t.me/popeyacademy
All content provided by PoPey Group is for informational & educational purposes only. Past performance does not guarantee future results.
Join our 4k+ community: t.me/popeyacademy
All content provided by PoPey Group is for informational & educational purposes only. Past performance does not guarantee future results.
Aviso legal
As informações e publicações não se destinam a ser, e não constituem, conselhos ou recomendações financeiras, de investimento, comerciais ou de outro tipo fornecidos ou endossados pela TradingView. Leia mais nos Termos de Uso.
Script de código aberto
Em verdadeiro espírito do TradingView, o criador deste script o tornou de código aberto, para que os traders possam revisar e verificar sua funcionalidade. Parabéns ao autor! Embora você possa usá-lo gratuitamente, lembre-se de que a republicação do código está sujeita às nossas Regras da Casa.
Get access to our exclusive tools: caminoalfondeo.com
Join our 4k+ community: t.me/popeyacademy
All content provided by PoPey Group is for informational & educational purposes only. Past performance does not guarantee future results.
Join our 4k+ community: t.me/popeyacademy
All content provided by PoPey Group is for informational & educational purposes only. Past performance does not guarantee future results.
Aviso legal
As informações e publicações não se destinam a ser, e não constituem, conselhos ou recomendações financeiras, de investimento, comerciais ou de outro tipo fornecidos ou endossados pela TradingView. Leia mais nos Termos de Uso.