Order-Flow Simulator
10+ advanced indicator formulas you can paste into the Custom Indicator box.
Each example returns a price‑scaled value (so it overlays cleanly on the price chart). You can paste one formula at a time.
Tracks a blend of price and VWAP to smooth pullbacks while staying near the price scale.
// VWAP Pullback Line
return (vwap * 0.7) + (close * 0.3);
A weighted blend of EMA10 and EMA20 to create a responsive trend line.
// EMA Trend Blend
return (ema10 * 0.6) + (ema20 * 0.4);
Shifts price by volatility to highlight expansion moves.
// ATR-Weighted Price
return close + (atr14 * 0.5 * bodyDir);
Adds momentum (MACD histogram) to SMA20 for faster response.
// Momentum-Adjusted SMA
return sma20 + (macdHist * 0.8);
Tilts the midline higher when RSI is bullish and lower when RSI is weak.
// RSI-Bias Midline
const bias = (rsi14 - 50) / 100;
return close + (atr14 * bias);
Boosts the close when volume is above average, dampens when below.
// Volume-Weighted Close
const vBoost = Math.max(0.5, Math.min(1.5, volRel));
return close * vBoost;
Projects where price sits within Bollinger Bands and maps it back to price scale.
// Bollinger Percent-B Price
if (bbUpper === null || bbLower === null) return close;
return bbLower + (bbWidth * bbPctB);
Combines EMA spread and slope to show trend strength as a price overlay.
// Trend Strength Line
const strength = (emaDiff * 2) + (ema10Slope * 5);
return close + strength;
Anchors to HLC3 and pulls toward it when price is stretched.
// Mean Reversion Anchor
const stretch = (close - hlc3);
return close - (stretch * 0.6);
Moves the line toward the wick that shows stronger rejection.
// Wick Rejection Line
const wickBias = (upperWickPct - lowerWickPct) / 100;
return close - (atr14 * wickBias);
Uses Stochastic to bias price higher or lower based on momentum position.
// Stochastic-Weighted Price
const kBias = (stochK - 50) / 50;
return close + (atr14 * 0.3 * kBias);
Adds OBV slope to price to highlight volume‑driven drift.
// OBV Drift Overlay
const drift = Math.tanh((obv / Math.max(1, volSma20)) * 0.01);
return close + (atr14 * drift);