Launch offer — 30% off every licence until 8 November 7 days free first, no card needed. See the indicators →
Home / Indicators / Support & Resistance / OFS StructureMapper
SUBSCRIPTION OFS StructureMapper — support & resistance indicator for ATAS: scored 0-100

OFS StructureMapper

Only the trendlines and zones worth drawing: each scored 0–100, marked BROKEN when the market leaves it and removed once it stops mattering. No footprint or subscription needed.

Current version1.5.11 · 2026-10-29
CompatibilityATAS 8.0.14+ and ATAS X 8.0.14+
RequirementsWindows 10/11, .NET 10, ATAS or ATAS X - and nothing else. NO footprint or cluster data, NO market depth, NO external data feed and NO extra subscription of any kind. It reads the candles yo
UpdatesAll future updates included
DeliveryATAS catalog (automatic)
Choose your license VAT included
✔ Activates on your ATAS e-mail automatically after payment — the indicator appears directly in your ATAS catalog.

Description

Your platform already draws a perfect trendline the moment you click two points. What it does not do is decide WHICH two points deserve a line, count how many times price actually respected it, notice that it broke three hours ago, or take it off the chart when it stopped mattering. That is the whole job of OFS StructureMapper. Nothing extra is required - no footprint, no market depth, no subscription; it reads the candles your chart already has.

It answers four location questions, continuously and without being asked:
• Where is the nearest active structural support?
• Where is the nearest active structural resistance?
• Which diagonal trendline is currently valid?
• Has a level held, broken, flipped or expired?

It is not a signal generator. It maps location; whether the market is tradable is a different question, and so is when to press the button.

WHAT A MANUAL DRAWING TOOL CANNOT DO
The platform's line tool is precise and fast, and this indicator does not replace your own lines — it adds the part a drawing tool structurally cannot provide.

1. IT SCORES EVERY OBJECT OUT OF 100. A line with four clean touches and a line drawn through the middle of six candles no longer look the same on your chart.

2. IT KNOWS WHEN A LEVEL DIED. Objects have a lifecycle — Candidate, Confirmed, Tested, Broken, Flip, Expired — and each transition has a rule. A line expires when it stops being touched. A broken level stops being extended forward at the break bar and waits a fixed window for its retest. Hand-drawn lines stay until you delete them, which is why old charts fill up with structure that stopped working days ago.

3. A WICK IS NOT A BREAK. A break is only called a break when the market genuinely left the level and stayed there. One spike through it is not enough, and one nervous bar is not enough - which is exactly why a BROKEN badge here means something. A stricter setting is available for noisy data. This is the single most common source of false breaks, and it is a rule here, not a judgement call.

4. IT IS BUILT NOT TO REPAINT. A swing point cannot exist until the bars that confirm it have closed, so it does not appear retroactively; only bar-close logic changes a Confirmed, Broken, Flip or Expired state; and the optional intrabar preview lives in a separate style and can never become an anchor. That is the construction. The claim itself is only worth what the test behind it proves, so the indicator can write a diagnostic log of every object and every state change, so a live run and a reloaded run can be compared line by line — and they have to match exactly. Until that check has been signed off on your data, this is a design property and not a certified one, and the product deliberately does not call itself a non-repainting indicator.

5. ONE SETUP FOR ANY MARKET AND ANY TIMEFRAME. Tolerances and distances are measured in Volatility Units — a yardstick the indicator takes from your own chart and re-measures as conditions change — instead of a hard-coded point or tick distance. The default Auto preset uses nothing else, so the same settings work on index futures, crude oil, currencies or crypto, and on a 250-tick, a 1-minute, an hourly or a daily chart. Session rules adapt too: on a chart where a session holds only a few bars, the structure is not wiped at every session. The NQ, ES, BTC and EUR/USD profiles stay available as documented starting points.

== SUPPORT AND RESISTANCE ARE AREAS, NOT LINES ==
A zone is built from the cluster of turns that actually formed it, so one extreme wick can neither shift it nor blow it up. Zones merge when they describe the same structure and stay separate when merging would produce one useless block. A zone that breaks and is then rejected from the opposite side is marked as a flip and keeps working in its new role.

Context levels are optional and clearly separate: prior session high and low (on in the Auto preset), the opening range, the overnight high and low.

HOW TO READ THE PANEL
• Preset — which starting bundle is active, so it is never a guess which numbers the chart is running on.
• Nearest support — distance in ticks below price, the zone's score, its state, and QUALIFIES only when it is confirmed, clears your attention score and has enough opposing space. UNKNOWN means no zone exists on that side; if only a candidate exists, the panel says CANDIDATE and never marks it QUALIFIES.
• Nearest resistance — the same, above price.
• Active TL — the currently ranked primary trendline: direction, state, touch count, score.
• Space — the room between nearest support and nearest resistance, in volatility units and ticks. The built-in no-trade rule is too little room to the next opposing level, and the panel says TOO TIGHT when that happens; this is the number to check it against.
• Last event — what structure did most recently, in words: a touch waiting for its rejection, a confirmed rejection, a break watching for the retest, a flip, an expiry.
• Preview (optional) — what the forming bar is touching or approaching, on its own line. The confirmed state above it is never overwritten.
• Detailed panel mode adds the calibration numbers: the volatility unit in ticks, the structure density of both layers against the band the calibration aims for, and how many objects are on the chart.

THE CONTROL PANEL
A one-line panel at the top of the chart keeps the changes you make most often one click away:
• Sensitivity − / + — the one dial that makes the whole structure coarser or finer; it is rebuilt in the background while the chart keeps running.
• ZONES · TRENDS · CONTEXT — show or hide the zones, the trendlines and the context levels, each on its own. They only change what is drawn: everything is always calculated, so switching the trendlines off never moves a zone, and it takes effect at once. Hidden objects give no alerts.
• LABELS · PANEL — the labels and the status panel.
Blue means on, grey off; HIDE folds the panel into a small button with the product name.

READING THE CHART
Right-edge labels name every displayed object without covering the middle of the chart, and stagger themselves when prices overlap: TL-S | 82 | 4T | CONFIRMED for a rising-support line with four touches, S1 | 18452.50-18453.50 | 76 for the nearest support zone. Lifecycle decides the line pattern: Candidate and Broken objects are dashed, while Confirmed and Flip objects are solid; score controls visibility, opacity and emphasis. By default one winning line per direction and layer and up to three zones per side are drawn, and no two zones closer than one Volatility Unit to each other (Minimum Spacing): when two would crowd each other, the context level or the stronger zone stays. Active, Broken and Balance lines share the same per-layer slots; detected, context, Broken and Balance zones share the same per-side budget. Explicit context is protected in ranking, so turning it on does not silently expand the chart past the configured limit. Live trendlines and active zones run 100 px past the live candle (Extend Right), everything can end before the right edge of the chart to keep the Depth Of Market free (Line Right Offset), and every label sits on a dark box (Label Background).

THE FIVE-STEP READING SEQUENCE
1. Identify the nearest CONFIRMED support and resistance, not every visible object.
2. Check whether the active trendline agrees with the structural direction.
3. Watch HOW price approaches: a controlled pullback with smaller bars has a reasonable chance of a reaction; a single impulsive bar demands stronger confirmation; repeated tests with shrinking reactions mean the level is being consumed — do not fade it; compression straight into a level raises breakout risk; an overshoot with an immediate reclaim is a possible sweep.
4. Wait for a valid reaction or a confirmed break. Do not predict the outcome at first contact.
5. Measure the space to the next opposing object before you consider anything.

BUILT-IN STARTING PRESETS
Auto (the default) fits any market, chart type and timeframe: distances from the Volatility Unit only, one-tick floors, sessions from the platform, and the prior session high and low as context levels. The market presets — NQ/MNQ 250-tick, ES/MES 500-tick, ES/MES 250-tick, BTC-USD 500-trade and EUR/USD 1-minute, each applied in one step — include the session handling that belongs to that market, not only its thresholds. They are engineering starting points, not claims of optimality — replay-test them on your own feed, venue and session template.

CALIBRATING A NEW SYMBOL
Leave the preset on Auto — it needs no market-specific number — and Sensitivity on AUTO: it keeps the structure density in the band the indicator aims for, by itself. The Detailed panel shows that density, so you can see at a glance whether the dial is right instead of guessing. If you would rather set it by hand, move Sensitivity one step at a time. Raise Standard Break Closes from two to three only if wick noise is still producing false breaks.

== WHICH SETTINGS ACTUALLY MATTER ==
The settings list holds what is yours to tune; the engine internals keep the values that the preset and the Sensitivity dial give them. This is the handful you will reach for, in the order you should touch them.

• 16 · Control Panel — the buttons on the chart: Sensitivity − / + and ZONES, TRENDS, CONTEXT, LABELS, PANEL. Most days this is all you touch.

• 06 · Mode and Inputs — PRESET. Auto fits any market and timeframe; a market preset loads a starting bundle for that market, session handling included. Change nothing else until you have watched a session with it.

• 06 · Mode and Inputs — SENSITIVITY. The single dial that makes everything coarser or finer at once. AUTO holds the structure density in the band the indicator aims for, by itself. Leave it on AUTO unless you have a reason not to.

• 11 · Scoring and Ranking — MINIMUM DISPLAY SCORE. Too much on the chart? This is the first thing to raise. It hides weak objects rather than deleting them, so nothing stops being tracked in the background. Its partner is ATTENTION SCORE, which decides when the panel is allowed to say QUALIFIES.

• 09 · Trendlines — STANDARD BREAK CLOSES and REQUIRE THIRD TOUCH TO CONFIRM. Your two strictness dials. Tighten them on noisy data and you get fewer objects, each of them meaning more.

• 10 · S/R Zones — MAXIMUM ZONES PER SIDE and MINIMUM SPACING (VU). Together they decide how readable the chart stays: how many zones are allowed per side at all, and how close two of them may be drawn.

• 15 · Panel — PANEL MODE set to Detailed while you tune. It shows the numbers you are tuning against. Put it back to Compact when you are done.

• 05 · Session and Time — TIME ZONE sets how alert timestamps and RTH Start / RTH End read; SESSION TEMPLATE (06 · Mode and Inputs) with RTH Start / RTH End controls session boundaries. Changing the zone never moves structure.

Everything else has a sensible default and can wait until you want it.

MACHINE-READABLE OUTPUT
Nearest support and resistance boundaries, both scores, the projected price of each active trendline, the lifecycle state of the ranked line and zone, the last structure event, the volatility unit, and the space to the next opposing level in ticks, price and VU — all as numeric series, so another module or an export can read the structure without parsing text. Alerts play their sound, and Telegram receives a short sentence with the object, its state, the price and the instrument.

HONESTY
When no zone exists on a side, the panel says UNKNOWN — not zero, not "clear". A visible but unconfirmed zone is named CANDIDATE and cannot receive QUALIFIES. Pending pivots are drawn only as a preview and never used as anchors. Nothing is inferred from the forming bar unless you switch the preview on. And the indicator will not tell you a level must hold: trendlines and support/resistance are analytical constructs, not barriers.

Installation guide
1. Create or sign in to your OrderFlowSmith account with the same e-mail address used by your ATAS account. When access to OFS StructureMapper is activated and the e-mails match, ATAS delivers the indicator automatically; do not install a DLL manually.
2. Open or fully restart ATAS so the automatically delivered indicator becomes available in the indicator catalogue. Whenever an update is released through ATAS, fully restart the platform; ATAS downloads and loads the new version automatically.
3. If your ATAS account uses a different e-mail address than your OrderFlowSmith account, write to us at orderflowsmith.com/contact - we move the license to your ATAS e-mail and ATAS delivers the indicator automatically.
4. Add OFS StructureMapper to a chart.
5. Open indicator settings → 01 · License → paste the license key from your OrderFlowSmith account (it is also sent by e-mail).
6. The settings show the licensed account; the panel footer shows the version and license status, and structure appears as soon as enough bars have been scanned.

First settings worth a look: the control panel at the top of the chart (Sensitivity − / +, ZONES, TRENDS, CONTEXT, LABELS, PANEL); 06 · Mode and Inputs → Preset stays on Auto for any market and timeframe (NQ, ES, BTC and EUR/USD presets are optional starting points); 15 · Panel → Panel Mode, switched to Detailed while you calibrate, so you can see pivot density and rejection reasons; 11 · Scoring and Ranking → Minimum Display Score if the chart is busier or emptier than you want. Every setting has a tooltip explaining what it does and why it exists.
Changelog — version 1.5.11
1.5.11 - NOTICES OFF BY DEFAULT AND BELOW EACH OTHER; A DOT ON THE HIDDEN BUTTON.

- The waiting and error notices are off by default, also on saved charts - switch them on with Show Notices. A missing or invalid licence is always shown.

- Notices start 50 px from the top, below the row of hidden panel buttons (Notice Offset Y), and the notices of several OFS indicators stack below each other by themselves - they never cover a control panel or a hidden panel button.

- The hidden panel button shows a dot before the name: green when anything on the control panel is switched on, an empty grey ring when everything is off - you see at once which indicator draws on the chart.

1.5.10 - THE TIME ZONE ROW SWITCHES TO MANUAL AT ONCE.

- A non-zero Manual Offset (hours) switches Time Zone to Manual. Until now the settings window kept showing the previous zone until it was reopened - now the Time Zone row shows Manual at once.

- Nothing else changes.

1.5.9 - LOG: ONE SWITCH, ITS OWN FOLDER; THE LOG NO LONGER CHANGES THE RECALCULATION.

- New in 19 · Log: Log (on / off, off by default) and Log Folder. Switched on, the indicator writes everything it does into its own log - its settings and every change of them, the chart, the calculation, every pivot, trendline and zone event with its reason and score, every rebuild in the background, its alerts and errors and what the panel shows. Keys, tokens and IDs are never written.
- The files go into the folder of the indicator inside Log Folder, for example D:\logs\OFS StructureMapper - one file per chart and day, with the computer and the platform in the file name.
- Diagnostic Log (Off / Events / Events + Bar Snapshots) is replaced by this one switch - a saved chart with Diagnostic Log on has Log on. The CSV of the structure events is written next to the log while Log is on.
- Switching the log on no longer changes how the chart recalculates: a settings change is always rebuilt in the background (until 1.5.8 Diagnostic Log recalculated the whole chart). Diagnostic Mode stays below Log Folder.

1.5.8 - NEW YORK IS THE DEFAULT TIME ZONE.

- Time Zone (05 · Session and Time) is New York by default for a newly added indicator - the exchange clock of the US index futures (until now UTC). Saved charts keep their own zone.

1.5.7 - SENSITIVITY + SHOWS MORE ZONES, - FEWER.

- Each Sensitivity step above Normal also shows one more zone on each side of price, each step below one fewer (at least one): with the default 3 per side, -3 to +3 show 1, 1, 2, 3, 4, 5 and 6 zones per side. Normal and AUTO show Maximum Zones Per Side as before. The control panel - and + act the same way.
- Context levels (prior session high and low, opening range, overnight) no longer take the place of a zone - they are counted separately, as the manual says. With one zone per side the prior session levels took both places and nothing was left near price.
- Sensitivity description: Normal is the default (it said AUTO).

1.5.6 - MORE SENSITIVITY NO LONGER SHOWS FEWER ZONES; AUTO ON THE CONTROL PANEL.

- Minimum Spacing now counts while the zones of each side are picked: a zone too close to a stronger one leaves its place to the next zone further out. Until now the best three zones of a side were picked first and the spacing then thinned them - with a finer structure they lay close together, so turning Sensitivity up could leave only one or two zones on the chart.
- Control panel: AUTO right after Sensitivity (blue = AUTO). A click switches between AUTO and NORMAL; - and + step from NORMAL as before.
- Changing Minimum Spacing rebuilds the structure in the background, because it now decides which zones take the places of a side.

1.5.5 - 05 · SESSION AND TIME AS IN OFS CONFIRMEDABSORPTION.

- 05 · Session and Time has only Time Zone, Manual Offset (hours), RTH Start and RTH End. RTH Start / RTH End (were Regular Hours Start / End) are shown and entered in your Time Zone; the sessions stay anchored to the exchange clock with daylight saving per bar, so nothing moves on the chart.
- Session Template moved to 06 · Mode and Inputs. Session Time Zone is no longer a separate setting - the market presets set it (NQ and ES New York, BTC keeps its 00:00 UTC day).

1.5.4 - A CHART LEFT RUNNING SHOWS WHAT A RELOADED CHART SHOWS.

- Live, the confluence of lines and zones was refreshed on every candle, during the history load every 16 candles - a chart left running overnight could show other lines and zones than the same chart loaded again. Live now uses the same rhythm.
- History (sessions): the window starts at a session start and moves on with every new session (rebuilt in the background), also the 1 000-candle minimum on hourly, 4-hour and daily charts - a chart open overnight no longer keeps older sessions.
- The information panel no longer hides behind an open control panel: where the control panel covered it (top right on a narrower chart), the panel now sits just below it. Without overlap nothing moves.

1.5.3 - CONTROL PANELS AND HIDDEN BUTTONS LINE UP BY THEMSELVES; EVERYTHING OFF BY DEFAULT.

- The buttons of hidden control panels of all OFS indicators on a chart line up side by side by themselves at the top centre, in the order of the chart's indicator list; open control panels at the same place stack below each other. A different position or offset in the settings keeps a button or panel in its own place.

- New default places, also on saved charts: Control Panel Position Top Center, Offset X 0, Offset Y 40; Hidden Button Position Top Center, Offset X 0, Offset Y 5.

- Every function of the control panel is off by default for a newly added indicator (ZONES, TRENDS, CONTEXT, LABELS and PANEL), so a new chart shows nothing until you switch it on. A saved chart keeps its own switches.

1.5.2 - THE WIDER VIEW BY DEFAULT; DIAGNOSTIC MODE NO LONGER CHANGES THE CHART; CONTEXT LEVELS IN AUTO.

- Maximum Distance From Price (VU) in 11 · Scoring and Ranking is now 0 by default, on saved charts too: every trendline and zone is drawn, however far it is from price (until now 3 Volatility Units). A number still keeps only what is close.

- Diagnostic Mode (19 · Log) only adds its calibration marks - the pivots, the tolerance bands and the counters in the panel. The trendlines and zones stay exactly the same, on or off; until now it also showed the objects hidden by the distance and score limits.

- The Auto preset, the default for a new chart, now draws the prior session high and low as context levels, so the CONTEXT button has something to show from the start.

1.5.1 - TOUCH DOTS OFF BY DEFAULT.

- Show Touch Points (12 · Structure Display) is now off by default, on saved charts too. The dots under and over the candles mark the touches counted in the label (for example 4T) - switch them on when you want to check them.

1.5.0 - CONTROL PANEL; SWITCHES THAT ONLY HIDE; ZONES THAT NEVER CROWD; ANY MARKET, ANY TIMEFRAME.

- New: a one-line control panel at the top of the chart (16 · Control Panel) - Sensitivity with - and +, ZONES, TRENDS, CONTEXT, LABELS and PANEL. Blue = on, grey = off; HIDE folds it into a small button.

- Zones and trendlines are always calculated: Show Zones, Show Trendlines and the new Show Context Levels only hide and show (until now Enable Zone Engine and Enable Trendline Engine). Switching the trendlines off no longer changes the zones, and it acts at once. Hidden objects give no alerts.

- New: Minimum Spacing (VU) in 10 · S/R Zones, default 1 - a weaker zone closer than one Volatility Unit to a stronger one is not drawn and gives no alert. Zones no longer touch or overlap.

- New default preset Auto for any market and timeframe - every distance from the Volatility Unit of your chart, one-tick floors, sessions from the platform. Saved charts keep their preset.

- On charts where a session has fewer than 40 bars (hourly, 4-hour, daily) the structure is no longer reset at every session, so trendlines and zones appear there too.

- History (sessions) replaces Maximum Historical Scan (bars): 5 sessions, at least 1000 bars, 0 = the whole chart.

1.4.2 - PANEL TEXT.

- Panel: when the room between the nearest support and resistance is too small, the Space row now says just TOO TIGHT.

1.4.1 - A CLEANER DETAILED PANEL.

- Panel Mode Detailed (15 · Panel) and Diagnostic Mode (18 · Log) no longer list the counts of discarded candidates; the panel keeps the numbers you calibrate with (volatility unit, pivot density, object counts, objects on screen).

1.4.0 - LINES AND ZONES RUN PAST THE LIVE CANDLE; FREE SPACE ON THE RIGHT; LABELS ON A DARK BOX.

- New: Extend Right (px) in 12 · Structure Display - a live trendline continues along its slope and an active zone runs this many pixels past the live candle, into the free space on the right of the chart. Default 100; 0 = as before (they end at the last candle). A broken object is never extended.

- New: Line Right Offset (px) in 12 · Structure Display - trendlines, zones and their labels end this many pixels before the right edge of the chart, so they leave free what you keep there, for example the Depth Of Market. Default 0.

- New: Label Background in 13 · Labels and Markers - the labels, the zone names and the FLIP / BALANCE tags sit on a dark box, so no line or zone edge runs through the text. Fully transparent = no box.

- The panel, the licence notice and the new-version card are placed inside the chart area like in every OFS indicator; on classic ATAS they could reach under the price scale.

- The settings groups appear in the same order on ATAS and ATAS X (14 · Outputs before 15 · Panel).

- The red outage frame of the panel returns to normal after 4 s of healthy data (10 s after lost data or a lost connection) instead of 30 s.

- Texts: group names as the settings window shows them; alerts are described as they work (sound, and a short sentence in Telegram).

1.3.15 - RED PANEL FRAME WHEN THE CONNECTION OR THE DATA DROPS; LOG FOLDER.

- New: the indicator watches the connection and the market data - the account connection (for example Rithmic) lost for more than 15 s, no market data for 15 s while CME is trading, or the data more than 5 s late. While that lasts, the panel gets a thick red frame; the indicator keeps working, and the frame returns to normal after 30 s of healthy data. No alert and no sound. Setting Panel Outage Frame (on by default) in the panel group.

- New: Log Folder (in the Log group) - the folder for the diagnostic CSV files, for example D:\logs; the files go into a subfolder named after the computer, so two computers can share one synchronised folder. Empty = %LOCALAPPDATA%\OrderFlowSmith\diag as until now.

1.3.14 - ALERTS: SOUND ONLY, NO POPUP WINDOW.

- When an alert fires, the indicator only plays its sound - no popup window appears on the chart.

1.3.13 - A SHORTER SETTINGS LIST; CLEARER SETTING DESCRIPTIONS.

- The settings list shows what is yours to tune: the engine internals of the expert groups (volatility, swings, trendline and zone rules, score weights) are no longer listed and keep the values the Preset and the Sensitivity dial give them. Saved charts keep every value.
- Show Advanced Settings is gone - there is nothing left to fold away.
- Setting descriptions and the manual say what each setting changes on the chart, without references to the internal specification.

1.3.12 - THE NEW-VERSION CARD POINTS TO ATAS; SHORTER CHANGELOG; CLEAN PRODUCT TEXTS.

- The new-version card now says that ATAS delivers the new version to your platform automatically (until 1.3.11 it pointed to a download in your account on orderflowsmith.com, which is no longer offered).
- Versions 0.1.0 to 1.2.5 keep their headline only, so the product card shows the whole history.
- The product page shows dashes, arrows, dots and bullets correctly again (they appeared as broken characters).
- Nothing else changed.

1.3.11 - ZONE NAMES IN THE MIDDLE OF THE ZONE.

- The name of a context zone (prior session high / low, opening range, overnight high / low) and the FLIP / BALANCE tag now stand in the vertical middle of the zone at its left end - no longer above its top edge. With Label Position = Left they stand right after the zone label, so the two never cover each other.

1.3.10 - PRODUCT NAME IN TELEGRAM, "AND" INSTEAD OF "&" IN SETTINGS.

- Telegram messages start with the product name [OFS StructureMapper] instead of a short internal code.
- Settings groups 05 · Session and Time, 06 · Mode and Inputs, 10 · S/R Zones, 11 · Scoring and Ranking and 13 · Labels and Markers are written with "and": ATAS X showed the "&" sign doubled (for example "Session && Time") and the classic ATAS hid it.
- Only names changed. Saved settings and chart templates keep all their values.

1.3.9 - THE NEW-VERSION CARD HAS ONLY THE CLOSE BUTTON.

The card announcing a new version no longer has a cross in its top corner - the Close button at the bottom is the only way to close it, the same in every OFS indicator. Closing it still remembers that version, so the card does not come back until the next release. Nothing else changed.

1.3.8 - DRAW ABOVE CANDLES IN THE WHOLE FAMILY; NOTHING OVER THE PANELS OF OTHER INDICATORS.

Draw Above Candles (12 · Structure Display) stays off by default, the same as in the whole OFS family. Its description now says what ATAS really does: the order applies to the whole price panel - while any indicator on the panel has it on, everything on the panel is drawn above the candles - and the StructureMapper panel always stays on top.

1.3.7 - SETTINGS CHANGES ARE BUILT IN THE BACKGROUND.

A change of a calculation setting (preset, sensitivity, swings, trendlines, zones, scoring, volatility, session) used to recalculate the whole chart through the platform, which runs it on the settings window thread under the calculation lock - on a large chart the platform and the ticks of the whole instrument stood still for a second or two after every change. Now the new structure engine is built in the background with a copy of all settings and swapped in when it is ready; until then the chart shows the previous structure and the panel says Engine REBUILDING IN THE BACKGROUND. The machine-readable output series are refreshed on the calculation thread with the following ticks, newest candles first. The alert memory is carried over, so an event is not announced again after a settings change. With Diagnostic Log on, the whole chart is still recalculated as before (the log follows the running engine).

1.3.6 - ZERO WORKS AGAIN FOR SCAN AND LIFETIMES; LIVE PREVIEW VISIBLE; EVERY SETTING SHOWS AT ONCE; NO UPPER LIMITS.

Maximum Historical Scan = 0 (the whole loaded chart), Confirmed Lifetime Minimum = 0 and Confirmed Zone Lifetime = 0 (never expire by time) work again, as their descriptions say. Until now the value 0 was silently turned into 500, 5 and 10 bars.

Calculation Mode = Intrabar Preview: the touches and pending pivots of the forming candle now appear on the chart as they happen (up to four times a second). Until now the preview was calculated on every tick but shown only with the next candle.

Colours, line widths, labels, the show / hide switches and the score thresholds for drawing now repaint the chart the moment you change them - also on a weekend chart or a chart scrolled into the past.

No upper limits in the settings any more (pivot bars, excursions, tolerances, lifetimes, weights, line and zone counts, font and line sizes) - only a sensible minimum stays; offsets are free. Saved charts keep every value.

1.3.5 - CHECK FOR UPDATES CHECKS AT ONCE; THE NEW-VERSION CARD ALWAYS IN THE MIDDLE OF THE CHART.

Unticking Check For Updates in the settings and ticking it again now asks orderflowsmith.com for the latest version straight away and, when a newer version exists, shows the card at once - also on a weekend or in a quiet market with no new ticks. Until now the check started only if the chart happened to redraw between the two clicks, so without ticks nothing happened, and the answer waited for the next redraw. Ticking it again also brings back a card you closed earlier.

The new-version card always opens in the middle of the chart, whatever the position of the control panel or the notices of the indicator. Nothing else changed: the calculation, the settings and saved charts stay as they were.

1.3.4 - SETTINGS IN THE COMMON OFS ORDER; CHECK FOR UPDATES ON DEMAND.

1.3.3 - INTERNAL: ONE ENGINE SHARED WITH OFS ENTRYDESK. NOTHING CHANGES ON YOUR CHART.

1.3.2 - MANUAL UPDATE CHECK.

1.3.1 - PRODUCT ROW SHOWS THE NAME ONLY.

1.3.0 - SETTINGS TEMPLATE: LICENSE HEADER, PANEL BACKGROUND AND NOTICES, TELEGRAM IN ONE FORM. STRUCTURE LOGIC UNCHANGED.

1.2.12 - NO CUSTOMER LIMITS: WHOLE-CHART SCAN, LEVELS THAT NEVER EXPIRE, TRANSPARENCY IN THE COLOR.

1.2.11 - PANEL LAYOUT AND VISIBILITY CONTROLS.

1.2.10 - VISIBLE STRUCTURE NOW HONOURS ITS LIMITS.

1.2.9 - DEEP SPECIFICATION HARDENING: HONEST LIFECYCLES, DETERMINISTIC PARITY AND ONE ATOMIC CHART FRAME.

1.2.8 - THE UPDATE CARD NOW TELLS YOU WHAT IS NEW.

1.2.7 - SMALL AUDIT FIXES: EXACT CONFLUENCE, A STEADIER SECOND LINE, AND A DIAGNOSTIC LOG THAT KEEPS UP.

1.2.6 - ALERTS ACTUALLY FIRE NOW, AND TIMES ARE PICKED, NOT TYPED.

1.2.5 - ZONES AT THEIR TRUE COLOUR, AND DRAW ABOVE CANDLES FINALLY WORKS.

1.2.4 - NEW UPDATE CARD, CENTRED AND WITH DIRECT LINKS.

1.2.3 - DOTS SIT EXACTLY ON THE WICK.

1.2.2 - ALERT SOUND IS A LIST WITH A PLAY BUTTON.

1.2.0 - TIME ZONE AND SESSIONS, WITHOUT MOVING YOUR STRUCTURE.

1.1.7 - THE UPDATE CARD'S CLOSE BUTTON IS A REAL BUTTON - a framed, highlighted square instead of a faint cross, comfortably clickable.

1.1.6 - THE PANEL FOOTER NO LONGER SHOWS YOUR E-MAIL ADDRESS.

1.1.5 - A NEW VERSION NOTICE.

1.1.4 - LICENCE GATE ON NOTIFICATIONS.

0.3.15 - The context panel now starts hidden, so adding the indicator leaves the chart clean.

0.3.14 - FLIP and BALANCE tags off by default. The object is already drawn in the colour of its new role, so the tag only repeated what the colour said.

0.3.13 - A level no longer switches itself on and off as price drifts past it.

0.3.12 - Sensitivity can calibrate itself.

0.3.11 - The sensitivity dial became a named list instead of a signed number.

0.3.10 - The drawn line stopped changing several times a second.

0.3.9 - Everything drawn per bar was half a candle to the right.

0.3.8 - Touch dots and pivot markers moved outside the candle.

0.3.7 - Trendlines stopped dying three bars after they were confirmed.

0.3.6 - Turning the sensitivity down could empty the chart.

0.3.5 - The prior-session high stopped disappearing.

0.3.4 - An object can no longer flip roles forever.

0.3.3 - The panel and label offsets are no longer capped at a number with no reason behind it, which ran out on a large or high-resolution chart.

0.3.2 - Five fixes found by reading two charts three minutes apart.

0.3.1 - The test instrument.

0.3.0 - A readable chart, and a settings window you can use.

0.2.0 - A full cross-check against the design document, section by section, and everything it found.

0.1.2 - Drawing while settings are being changed.

0.1.1 - First round of fixes from a live chart.

0.1.0 - First release.

Frequently asked questions

I can already draw a trendline in ATAS. What does this add?
The drawing tool is precise and fast, and this does not replace your own lines. What it adds is everything after the line exists: choosing which swing pairs deserve a line at all, counting the independent touches, scoring the line out of 100, refusing to confirm it until price has actually rejected it, detecting the break by closes rather than by a wick, and retiring it when it stops being touched. A hand-drawn line stays until you delete it — which is why old charts fill up with structure that stopped working days ago.
Does the indicator repaint?
It is engineered so completed structure does not repaint. A swing point does not exist until the bars that confirm it have closed, only bar-close logic changes a Confirmed, Broken, Flip or Expired state, and the optional intrabar preview draws in a separate style on its own channel and can never become an anchor. We would rather you verified that than believed it: switch on 19 · Log → Diagnostic Log, run the chart live, then reload it from the beginning and compare the two logs. Every object, every anchor and every state change is written down with the reason for it, so the live run and the reloaded run can be checked against each other line by line: missing objects, extra objects, anchor differences, state differences and retroactively changed reasons all have to be zero. Until that comparison has been signed off on your own data and feed, we describe this as how the indicator is built rather than as a certified property.
Why is a wick through my level not a break?
Because it is the single most common source of false breaks. A break requires acceptance: the market has to leave the level and stay there, not just poke through it. How strict that is, is yours to set in 09 · Trendlines. If your feed is noisy, make it stricter — that is the conservative mode.
What is a Volatility Unit (VU)?
The yardstick the indicator measures distances with: how far this market typically travels right now, taken from your own chart and re-measured as conditions change. Because the yardstick moves with the market, the same settings stay meaningful on a quiet and on a busy day, and one extreme bar cannot stretch every distance at once. The Detailed panel shows its current value in ticks. This makes profiles portable starting points, but it does not remove feed-specific replay calibration.
What is the difference between Candidate and Confirmed?
A candidate is a line the indicator has found but price has not proven yet; it is drawn dashed. It becomes Confirmed when price comes back, touches it again and is rejected by it, without breaking it in the meantime. That third touch is a trading-design rule rather than a market law, so you can turn it off (Require Third Touch to Confirm) and confirm on the second touch instead.
Why do some lines never appear?
Because a line has to pass quality checks before it is drawn, and most candidate lines do not. For more lines lower Minimum Display Score or move Sensitivity towards more structure; for fewer, do the opposite.
Why are support and resistance drawn as areas instead of lines?
Because price does not react at one exact number. A zone is built from the cluster of turns that formed it and is never allowed to become a hairline, so one extreme wick can neither shift it nor blow it up. Touches, rejections and breaks are always evaluated against the area, not against a single price. A single price line is drawn for context levels where an exact number is what you asked for.
What does FLIP mean?
That the object was confirmed, was then broken by a real acceptance, and was afterwards retested from the opposite side and rejected there. Broken support acting as resistance, or the reverse. It keeps working in its new role and is marked so you can see that its history is mixed. An object can never jump straight to a flip — a confirmed break is always required first.
How do I calibrate it for a symbol that is not in the presets?
Leave the preset on Auto — it measures everything from your own chart, so no market-specific number is needed — and Sensitivity on AUTO, which finds the structure density the indicator aims for by itself. Switch Panel Mode to Detailed to watch that density against its band; if you prefer to set it by hand, use Sensitivity − / + on the control panel one step at a time. Raise Standard Break Closes from two to three only if false breaks persist.
There are too many objects on my chart. What do I change first?
Use the control panel first: switch off what you do not need right now — ZONES, TRENDS, CONTEXT or LABELS. It only hides, so nothing else moves. If zones still crowd each other, raise Minimum Spacing (VU) in 10 · S/R Zones (default 1); then raise Minimum Display Score, press Sensitivity − for less structure, or reduce Maximum Zones Per Side. To keep only what is close to price, set Maximum Distance From Price (VU) in 11 · Scoring and Ranking (0 = no limit, the default).
What do the presets actually change, and can I trust them?
Auto, the default, writes nothing market-specific: distances come from the Volatility Unit of your chart, the tick floors are one tick, the sessions come from the platform and the prior session high and low are drawn as context levels, so it fits any market and timeframe. A market preset writes the internal thresholds and the session handling for that market and chart type. Those are engineering starting points, not claims of optimality — replay-test a preset on your own data provider, venue and session template before trading it, and save your result as your own setup.
Does it work on both ATAS and ATAS X?
The same DLL is built against the classic-compatible ATAS API and is intended for both classic ATAS Platform and ATAS X. Runtime acceptance is recorded separately for each platform. Classic ATAS loads indicators at startup, so after installing a new version close it completely and start it again; otherwise the previously loaded DLL remains in memory.
Can other indicators read its output?
Yes. With Publish Machine Series switched on you get the nearest support and resistance boundaries, both scores, the projected price of each active trendline, the lifecycle state of the ranked line and zone, the last structure event, the volatility unit, and the space to the next opposing level in ticks, price and VU — all as numeric data series. Alerts play their sound, and Telegram receives a short sentence with the object, its state, the price and the instrument.
Do settings take effect immediately?
Yes. Every setting applies the moment you change it. The control panel buttons and Show Zones, Show Trendlines, Show Context Levels and Minimum Spacing only change what is drawn, so they act at once, without recalculation; settings that change what is calculated rebuild the structure in the background while the chart keeps running. You never need to remove and re-add the indicator. After switching a preset, close and re-open the settings window to see the values it wrote.
Where do I enter my license key?
In the indicator settings, group 01 · License — the first group in the list. Paste the key from your OrderFlowSmith account. It is verified locally, so no internet connection is required while trading.
Is there a trial?
Yes, a 7-day trial with full functionality — one trial per ATAS e-mail and product.
Does it place orders or tell me when to enter?
No. It answers where price should react, break or retest. Whether the market is worth trading at all is a separate question, and so is the trigger. Entries, exits, position size and risk stay entirely with you — the documentation is explicit that a line or a zone alone is never sufficient reason for a trade.
What is the control panel at the top of the chart?
A one-line panel: Sensitivity − / + makes the structure coarser or finer; ZONES, TRENDS and CONTEXT show or hide the zones, the trendlines and the context levels each on its own; LABELS and PANEL switch the labels and the status panel. The switches only hide and show — the structure is always calculated — so they act at once and switching the trendlines off never moves a zone. Its position, size and colours are in 16 · Control Panel; HIDE folds it into a small button.
Does it work on any timeframe?
Yes — tick, volume, range and time charts, from seconds to daily. Distances follow the Volatility Unit of the chart itself, and on a chart where a session holds only a few bars (hourly, 4-hour, daily) the session rules switch off by themselves, so the structure is not wiped at every session. History (sessions) means the same on every chart type and always reaches at least 1000 bars back.
⚠ OFS StructureMapper is an analytical decision-support tool only. Trendlines and support/resistance areas are analytical constructs, not guaranteed barriers: the indicator does not predict that a level will hold, does not generate trade signals and does not guarantee any outcome. Tick-chart appearance depends on the data feed and trade aggregation; spot FX has no single centralized tape, so results there are broker-specific, and crypto structure can differ between venues. No preset removes the need for replay testing across several volatility regimes. Position size, stop-loss, daily loss limits and whether to trade at all are your decisions, not the indicator's. Trading futures, forex and crypto carries a substantial risk of loss and is not suitable for everyone. This product is analysis software — it is not financial, investment or trading advice, and it cannot guarantee any profit. Every decision stays with you: whether to trade at all, position size, stop-loss and when to walk away. Any performance figures we publish come from historical testing; hypothetical and back-tested results have inherent limitations and never guarantee future results. To the maximum extent permitted by law, OrderFlowSmith is not liable for trading losses, missed opportunities or other damage arising from the use of this software. Never trade with money you cannot afford to lose.

Reviews

No reviews yet — be the first verified buyer to share your experience.