Regression Flux Candles [JOAT]Regression Flux Candles
Overview
Regression Flux Candles renders a parallel candle series on top of price using linear regression applied independently to each of the four OHLC components. The result is a noise-filtered "flux candle" — a linearised representation of current price action that removes the erratic intrabar variation of raw candles and reveals the underlying trend direction with far greater clarity. A signal line (SMA of regression close) produces crossover buy/sell signals. Pivot-anchored support/resistance zones mark structural confluence areas. A six-timeframe MTF trend table provides session bias context.
The Linear Regression Candle Concept
Standard Japanese candlesticks display the raw open, high, low, and close of each bar — capturing every tick-driven fluctuation including news spikes, stop hunts, and market-maker manipulation. Linear regression candles replace each OHLC component with the endpoint of a linear regression line fitted over the last N bars:
- LR Open = ta.linreg(open, length, 0)
- LR High = ta.linreg(high, length, 0)
- LR Low = ta.linreg(low, length, 0)
- LR Close = ta.linreg(close, length, 0)
The regression fits a straight line through the last N values of each component and returns the value of that line at the current bar. The resulting candle series is significantly smoother than raw price and acts like a weighted moving average of price structure without introducing the directional lag of traditional MAs. Bullish flux candles (LR close >= LR open) render in teal; bearish in purple.
Signal Line and Crossover Logic
A simple moving average of the LR close (default 7-bar SMA) acts as a signal line. When the LR close crosses above the signal line, a potential buy signal is generated. When it crosses below, a potential sell signal is generated. Crossovers are filtered by:
- Volume filter: Volume must exceed the 20-bar volume SMA (configurable). This ensures signals occur during genuine participation, not thin-market noise.
- RSI filter: Buy signals are blocked when RSI(14) >= 70 (overbought); sell signals are blocked when RSI(14) <= 30 (oversold). This prevents buying into extended moves and selling into oversold conditions.
- Warmup gate: All signals are suppressed until max(LR_length * 3, EMA_length + 5) bars have elapsed. This prevents the statistical noise of early LR calculations from generating false signals.
- Confirmed-bar gate: Signals only fire on barstate.isconfirmed — the final tick of a closed bar — preventing any repainting.
Trend EMA
A 200-period EMA (configurable length) is plotted as a gold line representing the macro trend bias. Position of price relative to the 200 EMA serves as a context filter that traders can apply manually: long signals above the EMA are higher quality, short signals below it are higher quality.
Pivot S/R Zones
Swing pivot highs and lows (configurable left/right bars) generate semi-transparent S/R boxes:
- Resistance zones (from pivot highs): drawn in the bear colour with 89% transparency
- Support zones (from pivot lows): drawn in the bull colour with 89% transparency
Each zone extends forward by a configurable width in bars (default 40) from the pivot bar, or can be extended infinitely to the right. A maximum of 6 zones (configurable) are maintained; older zones are deleted as new ones form.
Daily Signal Counter
The dashboard tracks how many buy and sell signals have fired on the current trading day, resetting at each new daily session (detected via ta.change(time("D"))). This provides a quick intraday reference for signal frequency — useful for understanding whether a session is particularly active or quiet.
Multi-Timeframe Trend Table
Six independently configurable timeframes are assessed using the same linear regression logic: LR close >= LR open on each HTF = bullish; below = bearish. Each cell displays BULL or BEAR in its directional colour. An alignment counter shows how many of the six timeframes agree with the current LR direction. 5+ aligned = strong directional bias (teal); 1 or fewer = strong counter-trend warning (red); middle values show gold.
Inputs Reference
Regression Engine
- LR Length (11) — lookback for all four linear regression calculations
- Signal SMA Length (7) — SMA applied to LR close for crossover signal line
- Trend EMA Length (200) — macro bias reference line
Filters & Signals
- Volume Filter on Signals — require volume > volume SMA
- Volume SMA Length (20)
- RSI Filter on Signals — block overbought/oversold crossovers
- RSI Length (14)
S/R Zones
- Pivot Left/Right Bars (15/10) — pivot detection sensitivity
- Show S/R Zones
- Extend Zones to Right — infinite extension toggle
- Zone Width (40 bars) — forward extension length when not extending to right
- Max Zones to Show (6)
MTF Dashboard
- Show MTF Table
- TF 1–6 — six configurable timeframes (default: 1, 5, 15, 60, 240, D)
Visual
- Bull / Bear Candle Color — OHLC candle colours for flux candles
- Signal Line Color — signal SMA line colour
- EMA Color — trend EMA line colour
- Show Dashboard
How to Use
1. Apply to any liquid market. Use LR length of 9–15 for intraday charts; 20–30 for swing trading.
2. Watch for flux candle colour transitions: a sustained sequence of teal candles above the signal line confirms an uptrend; purple candles below confirm a downtrend.
3. BUY labels appear below the bar when LR close crosses above the signal line with volume and RSI conditions met. SELL labels appear above the bar on crossunders.
4. Prefer signals where the flux candle direction (teal/purple) aligns with the EMA bias AND the MTF table shows 4+ timeframes in agreement.
5. S/R zones from prior pivots serve as target levels and potential reversal points — align entries near these zones for improved risk/reward.
Non-Repainting Design
All signals require barstate.isconfirmed. MTF data uses lookahead_off. LR calculations use only confirmed historical bars (offset 0 is the current bar's regression endpoint based on past data). Signal labels never move after being stamped on a closed bar.
Limitations
- Linear regression candles reduce volatility information. In sharp, impulsive markets, the flux candle series will understate the actual price range. Raw candles should be viewed alongside the indicator for context.
- Short LR lengths (< 7) make the flux candles nearly identical to raw candles; very long lengths (> 30) introduce significant lag into the signal line crossovers.
- The volume and RSI filters may suppress signals during thin trading hours on forex pairs (e.g., Asian session on EUR/USD pairs). Disabling filters during these sessions is a valid adjustment.
- S/R zones are drawn from the pivot confirmation bar, not the pivot bar itself (due to the right-bar confirmation delay). Zone left edges are placed correctly but appear N bars after the actual pivot.
Disclaimer
This indicator is for educational and informational purposes only. Linear regression candles and crossover signals are technical analysis tools and do not predict future price movement. Always use proper risk management and conduct your own analysis.
Made with passion by officialjackofalltrades
Indicator



