Skip to content

Order Flow Indicator Suite

Assembly: TraderJan.Indicators.dll
Indicators Included: Liquidity Battle.cs, Market Footprint.cs, Market Map.cs, Market Speed.cs, CandleVolumeAndDelta.cs


🟒 Part 1: Layman & Trader Guide

1. What is Order Flow?

Most conventional trading indicators (Moving Averages, RSI, Stochastics) only look at Price over Time.

Order Flow looks inside each candle to see the real engine that moves price: the clash between Aggressive Market Orders (Flow) and Passive Limit Orders (Liquidity).

[ Market Buy Orders ]  ──► Hitting ──► [ Limit Sell Orders (Ask) ]  ──► Absorbed? ──► Reversal!
[ Market Sell Orders ] ──► Hitting ──► [ Limit Buy Orders (Bid) ]   ──► Swept?    ──► Breakout!

2. Guide to the Order Flow Tools

βš”οΈ Liquidity Battle (The Flagship)

  • What it does: Treats the market like a real-time tug-of-war physics engine. It tracks whether aggressive market buyers are breaking through the order book or getting absorbed by passive limit orders.
  • How to trade it:
  • Absorption: Large aggressive buyers fire repeatedly into a price level, but price refuses to go higher. This indicates massive institutional limit orders absorbing them. Look for reversals.
  • Exhaustion: Aggressive volume suddenly vanishes at a key level. The market loses momentum and rolls over.

πŸ—ΊοΈ Market Map

  • What it does: The "Big Picture" liquidity heatmap. While tools like Bookmap show you what traders intend to do (resting limit orders that can be pulled/spoofed), Market Map shows where institutional transactions actually executed.
  • How to trade it: Follow the high-volume liquidity tracks to identify where institutions established massive positions.

πŸ‘£ Market Footprint & Cluster Delta

  • What it does: Displays Point of Control (POC), Value Area (VA), and Volume Delta directly on standard candles without needing to zoom into cluttered footprint numbers.
  • How to trade it: When the POC of a candle shifts dramatically to the extreme wick while Delta is negative, buyers have been trapped at the highs.

πŸš€ Market Speed (Tape Acceleration)

  • What it does: Like a speedometer for transaction velocity. It measures how many trades occur per millisecond.
  • How to trade it: Spot acceleration into key support/resistance zones before price turns around.

πŸ’» Part 2: Expert & Developer Specification

1. Market Data Ingestion & Microstructure Engine

The suite interfaces directly with ATAS market depth and cluster feeds: * Subscribes to MarketDataFactory cluster aggregation: CumulativeDelta, VolumePerPrice, and BidAskDelta. * Bypasses heap memory allocations by reusing pre-allocated circular structs (_clusterBuffers).

2. Physics Model: Flow vs. Liquidity Vectors (Liquidity Battle.cs)

Liquidity Battle models market action as kinetic energy vectors:

$$F_{\text{net}}(t) = \int_{t-\Delta t}^{t} \left( \Delta_{\text{market}}(\tau) \cdot v_{\text{speed}}(\tau) \right) d\tau - R_{\text{limit}}(p)$$

Where: * $\Delta_{\text{market}}$: Net market delta (Aggressive Buy Volume $-$ Aggressive Sell Volume). * $v_{\text{speed}}$: Execution velocity (Trades per second). * $R_{\text{limit}}(p)$: Resting limit order resistance at price level $p$.

3. Rendering Pipeline & Zero-Allocation UI Standards

Indicators in this suite redraw on every tick. To ensure 60+ FPS chart rendering without stuttering: * GDI Native Marshaling: Colors are cached as CrossColor fields and converted via .ToGdiColor() during OnRender. * String Measurement Memoization: Text layout is handled by CachedMeasureString backed by an LRU cache, preventing redundant GDI text size calculations. * No LINQ in Render Loops: All array iterations use raw indexed for loops rather than foreach or LINQ iterators.