The Data Chart is SOAP2's historical OHLC/candlestick chart for a symbol — bars, volume,
RSI/Momentum, and a set of overlays. This guide covers everything added on top of the original chart: switching
symbols from the chart itself, Heikin-Ashi candles, manual control of the price (Y) axis, keyboard shortcuts,
and the ALMA/JMA/Cycle/Pivots/Stability indicator tabs (Cycle also offers an Adaptive Length reading and an
Abrupt Gating toggle) in the settings panel.
Select a symbol in the top-left watchlist dropdown, then use the top toolstrip's Historical
Chart menu item (or the Alt+D shortcut) — one chart window per symbol; reselecting
a symbol that already has a chart open brings its existing window to the front instead of opening a
duplicate.
From an open OA window, Alt+D opens/raises the Data Chart for that OA's own symbol.
Switching symbols
The symbol box on the chart's own toolstrip (top-left, where a plain read-only label used to be) is now a
dropdown mirroring your Watchlist. Picking a different symbol from it jumps to that symbol's own chart
window (opening one if it doesn't exist yet, or bringing the existing one to the front) — it does not repurpose
the window you're looking at, since each Data Chart window is tied to one symbol. The dropdown refreshes from
the Watchlist every time you open it, so newly-added symbols show up without needing to reopen the chart.
The settings panel
Click the Show/Hide Settings toolstrip button (over the chart) to reveal a small panel with
bar size, history size, RTH/OHLC/Heikin-Ashi toggles, the MM in Y-Rng
checkbox, and a five-tab ALMA / JMA / Cycle / Pivots / Stability indicator control — everything
described below lives in this panel.
Heikin-Ashi
Check Heikin-Ashi in the settings panel to replace the candles/OHLC bars with Heikin-Ashi
smoothed open/high/low/close — the standard trend-smoothing candle transform, useful for reading trend
direction through noisy price action. Unchecked by default.
Works with either candle style (the separate OHLC checkbox still picks candlesticks vs.
bars) — Heikin-Ashi is an independent data transform, not a third render style.
Only the candles/bars themselves change. ALMA, JMA, Murrey Math, the projection cone, and
the bars grid on the left all continue to use real prices — so if you're comparing an overlay against the
candles, remember the candles are now smoothed and the overlay isn't.
The hover trackline (see below) switches its Open/High/Low/Close labels to "HA Open" / "HA High" / etc.
while this is on, as a reminder you're looking at synthetic values there too.
Hover crosshair and trackline
Moving the mouse over the chart shows a crosshair cursor and a tracking line (vertical + horizontal) that
follows the nearest bar, with a floating label and a matching Date/Open/High/Low/Close readout in the info box
below the chart. The label includes the bar's time (not just the date) for any intraday bar size — 1-minute up
through 1-hour.
Keyboard shortcuts
While a Data Chart window has focus, F1 opens Help and F12 opens the
Keyboard Shortcuts window — same as everywhere else in SOAP2. See the full
Keyboard shortcuts reference for shortcuts available from the main
window and from OA (including Alt+D, which opens a Data Chart from either).
Y-axis zoom and pan
The price axis is mirrored on both the left and right edges of the chart — that left-hand
copy is also an interactive control surface, separate from the usual mouse-wheel bar-count zoom over the
candles themselves:
Mouse wheel while hovering directly over the left-edge price labels — zooms the Y range
in/out, keeping the price under the cursor fixed on screen.
Click-drag on the left-edge price labels — pans the Y range; the price under the cursor
follows the mouse as you drag.
Double-click on the left-edge price labels — resets back to automatic scaling.
A manual Y range is remembered as you zoom/pan the chart horizontally (bar count) or change indicator
settings, but resets to automatic the next time you load a different symbol or dataset into the same chart
window.
Keeping Murrey Math out of the Y-range
Murrey Math S/R levels are computed from a long trailing lookback and can sit well outside the currently
visible bars' own high/low — by default that still widens the Y-axis to fit them, which can squash the
candles/ALMA line into a small band of the chart. Uncheck MM in Y-Rng in the settings panel to
keep the Murrey Math lines drawn (clipped at whatever the axis edge is) without letting them drive the
auto-scale. Checked is the default, matching the chart's original behavior.
Advanced indicators: what they're for
The tabs below (ALMA, JMA, Cycle, Pivots) aren't unrelated extras bolted onto the chart — they build on each
other towards one goal: reading the market's current rhythm, and using it to anticipate turns instead
of only reacting to them after the fact. A plain moving average tells you the general direction, but
says nothing about *when* price is likely to turn — these do. Stability is a fifth, separate
tab alongside them — not part of that rhythm-reading chain, but a pair of "how much should I trust what I'm
seeing right now" readouts you can check alongside any of the above.
ALMA and JMA are the foundation: smoothing overlays that cut noise while staying close to
price, with far less of the lag a standard moving average adds. They make the underlying swing easier to see,
but on their own still don't say anything about timing.
Cycle asks a more specific question of the same price series: is there currently a
repeating swing (a "dominant cycle"), and if so, how long is it and where in that swing is price right now?
This is what makes anticipation possible in the first place — knowing the rhythm lets you estimate roughly
when the next turn is due, not just that price is going up or down.
Adaptive Length (on the Cycle tab) takes that same rhythm reading and makes it steadier:
rather than reacting to every bar's own possibly-noisy estimate, it only shifts once a genuinely different
cycle length has held for a few bars, easing towards it smoothly. Useful when the raw Dominant Cycle line
looks twitchy and you want a calmer read on what the market's actually settling into.
Pivots is the payoff: it turns that continuous rhythm reading into a concrete, discrete
call — "this bar was a high" or "this bar was a low" — so you don't have to eyeball the Sine/LeadSine
crossover yourself to decide where a turn happened.
None of this replaces judgment or risk management — think of it as a more structured way of asking "is this
market currently choppy in a way I could time," rather than a signal to trade mechanically. See
Limitations below for what hasn't been validated yet.
The ALMA tab
Show ALMA — toggles the Arnaud Legoux Moving Average overlay on the price panel (window=9,
offset=0.85, sigma=6, the commonly-used defaults). Checked by default.
The JMA tab
Show JMA — a second, independently-toggleable moving-average overlay on the price panel: a
reverse-engineered approximation of the Jurik Moving Average (the real Jurik Research formula has never been
published). Unchecked by default so it doesn't suddenly appear over ALMA for existing charts.
Length — the averaging period (default 7). Lower = faster/noisier.
Phase — -100 to 100 (default 0). Negative trades responsiveness for smoothness; positive
reduces lag at the cost of some overshoot.
The Cycle tab
Show Cycle — replaces the Momentum sub-panel (not RSI) with a dominant-cycle oscillator
panel: Sine and LeadSine (both bounded -1 to 1), plus a
Dominant Cycle (bars) line on its own right-hand scale. Unchecked by default; switch it back
off to get Momentum back.
Min / Max — the candidate cycle-period range to search, in bars (default
8-48, Ehlers' own daily-swing default). Min can't exceed Max and vice versa — moving one past the other drags
the other field along with it. This same range is also what the Pivots tab searches, below.
A LeadSine/Sine crossover anticipates a cycle turn — roughly 1/8 to 1/4 of the current
dominant cycle's length, in advance.
The Dominant Cycle line only draws while the reading is judged stable (the
period estimate has settled down, not still hopping around) — gaps in that line mean the market isn't
showing a clean, tradeable cycle right now (often a strong trend), not missing data.
Show Adaptive Length — a second, steadier line on the same right-hand scale as
Dominant Cycle: instead of following the raw per-bar cycle-length reading directly, it only shifts once a
meaningfully different length has held for a few bars in a row, then eases towards it smoothly. Useful when
the raw Dominant Cycle line looks jumpy and you want a less twitchy read on "what cycle length is the market
actually leaning towards right now." Unchecked by default, and only draws anything while
Show Cycle is also checked (it shares that sub-panel rather than adding its own).
Enable Abrupt Gating — a safeguard that keeps a single sudden price spike from throwing
off the Dominant Cycle / Adaptive Length reading or getting reported as a false pivot. Checked (on) by
default — this is the setting to try unchecking if you want to compare pivot/adaptive-length output with the
safeguard fully disabled, for example while reviewing how a specific news-driven move was handled. The
default can also be changed under General Settings so new Data Chart windows start with your
preferred setting.
The Pivots tab
Show Pivots — marks bars the cycle detector identifies as a turning point: a red down-triangle
just above a bar for a high, a green up-triangle just below a bar for a low. Unchecked by default. Builds on the
same cycle detection as the Cycle tab (reusing its Min/Max period range) but works independently of whether
the Cycle sub-panel is actually shown.
There is no separate window/lookback setting to tune here — an earlier version exposed one
("Confirm"), but it turned out to have essentially no effect on which bar gets picked, so it was removed. See
the developer overview if you're curious why.
Each marker is placed at the identified bar's own real high/low (not a smoothed value) even when
Heikin-Ashi is on.
The Stability tab
Two independent "how much should I trust the current reading" measures — not chart overlays, but readouts
in the toolstrip info line above the chart and in the per-bar hover info box. Turn either on and watch the
number rather than a drawn line.
Show Trend Persistence — a P value (0 to 1, 0.5 = neutral) measuring
sustained directional drift over a trailing window (Window, default 30 bars). P moves away
from 0.5 when price has been persistently trending one way; it stays near 0.5 for both a genuine cycling
market and flat/random noise alike — so a near-0.5 reading does not by itself mean "clean cycle," only "not a
sustained trend."
Show Spectral Entropy — an Entropy value measuring how concentrated the
Cycle detector's belief about the dominant period currently is, flagged (elevated) when it's
running unusually high relative to its own recent history (Window/Threshold,
default 20 bars / 1.0). A settled, confident cycle reads low; "elevated" means the market's rhythm is
currently muddier than usual — a regime change or a genuinely choppy stretch. Requires Show
Cycle also checked (it reads the Cycle tab's own spectrum), noted in the checkbox's own tooltip.
Limitations
Cycle, Adaptive Length, and Pivots all need real warm-up. All start drawing fairly early
(once Min+Max+a few bars have loaded), but don't trust the Dominant Cycle / Adaptive Length / Sine / LeadSine
readings, or act on a pivot marker, for real decisions until the chart has several hundred bars loaded — the
underlying estimate keeps converging well past its first appearance.
The default 8-48 bar cycle range is tuned for daily-ish swing cycles on equity-like closes. It hasn't
been validated at options-relevant timeframes (1-min/5-min bars, IV/vega series) — treat Min/Max as something
to tune against what you're actually looking at, not a known-correct setting.
Pivot markers, Adaptive Length, Trend Persistence, and Spectral Entropy are all validated on synthetic
data only so far (see the developer overview) — treat them as a visual/reference aid, not a signal to act on
directly, until checked against real data for your symbols/timeframes.
JMA is, like ALMA, a smoothing overlay only — neither one is a signal or a recommendation by itself.
X-axis label placement (which bars get a date/time label) follows ChartDirector's own internal layout
heuristics — it won't always look perfectly evenly spaced, and that's expected rather than a bug to report.