Risk disclosure
© 2026 Erianux LLC. All rights reserved.

ManualsErianux Market Schedule2.0.0Updated 23 September 2026

Erianux Market Schedule

An economic calendar in its own window and on your chart. This manual covers the window, every data source and exactly what each one contacts, the settings, and the Event Markers indicator.

What it is

Market Schedule lists the scheduled economic releases and central-bank events for the days you choose, with a countdown to the next one, the time your pre-event blackout opens, and whatever figures your sources can supply: the actual, the consensus, the previous print.

It is built as a socket rather than a data product. The base layer is the release calendars the US agencies publish themselves, which need no key and no account. On top of that you can switch on free public sources and, if you already pay for an economic-calendar service, plug your own key into it. Your machine fetches everything directly. Erianux runs no server in between, sees no key and resells no data.

Every figure in the window is what a source said. Nothing is estimated or filled in. An empty cell means no source you have switched on supplied that value. A dash or a blank is information; a plausible wrong number would not be.

Event Markers puts the same schedule on your chart: a vertical line at each release, coloured by impact, its title at the top, a countdown in the corner, and an optional NinjaTrader alert a set number of minutes before.


Opening it

  • The window: Control Center, New menu, Erianux Market Schedule. If the window is already open, the menu item brings it to the front instead of opening a second one.
  • The window is saved with your workspace like any other NinjaTrader window.
  • The chart side: add the indicator Erianux Event Markers to a chart from NinjaTrader’s Indicators dialog.

The first time the window opens, a five-card tour explains where each number comes from. It shows once. You can open it again at any time from Settings, or by typing /tour or /help in the command line.


The window

From top to bottom:

3.1 The command line

The strip at the top. It shows SCHEDULE, your impact contract (MNQ unless you change it) and its front month, three function keys, and a text box.

  • Type in the box to filter the list by event title, category or source as you type.
  • Start with / and press Enter to run a command (see The window.7).

3.2 The status strip

Five cells:

Cell What it shows
NEXT RELEASE The next high-impact release that passes your filters (or, if none, the next release of any impact), its day and time in NinjaTrader’s time zone, and a countdown. A long title scrolls so you can read it. Market closures never count as the next release.
BLACKOUT OPENS When your pre-event blackout begins for that release, or IN BLACKOUT in red while you are inside it. Underneath: the blackout length and whether chart shading is armed.
RANKED BY TIME OF RELEASE, or REALISED MNQ IMPACT (your impact contract’s name) once the days in range have impact history. Click the cell to switch. Until history exists it says so rather than claiming a ranking.
SOURCE Which layers are live: AGENCIES, plus FOREX FACTORY and your provider’s name when they are on. Underneath: how many releases each agency supplied.
DAY BUDGET How many of today’s releases have been reported. Underneath: the summed median move of today’s releases on your impact contract, or a count of past events still without actuals.

3.3 The filter line

  • range: today · week (the current week, Sunday to Saturday; the default) · next (next week) · month (the next 31 days from today) · prev (the previous calendar month).
  • impact: high · med · low. High and medium are lit by default.
  • ccy: WORLD, then USD, EUR, GBP, JPY, CAD, AUD, NZD, CHF, CNY. All nine currencies are lit by default. WORLD shows every region any switched-on feed supplied, including date-only notices (see Where the data comes from.3), and does not claim complete global coverage. Picking a single currency turns WORLD off.

Market closures and early closes show whatever impact you have lit. The text filter still applies to them.

The window saves these filters, and Event Markers reads them (see Erianux Event Markers (chart indicator).3).

3.4 The table

One row per event, grouped under a day header (TUE 23 SEP, with a TODAY tag on today) that also counts how many of that day’s events have been reported. Within a day, rows run by time, or by median realised impact when you rank by impact.

Column What it holds
TIME The release time in NinjaTrader’s time zone. A high-impact time sits in a red box. TBA for an event published with a date but no time.
CCY The currency the event belongs to.
IMP Impact: ▲▲▲ high, ▲▲△ medium, ▲△△ low, ■ a market closure, - no rating (date-only notices).
EVENT The title as the source gives it. When links are on, click it to open the release’s page in your browser. A tooltip adds the category, and marks the row provisional when it is more than 60 days out.
PERIOD The reference period, for example AUG 2026 or Q2 2026.
ACTUAL / LATEST What printed, from whichever source supplied it. Pending before the release. Empty after the release if no source supplied a value, and empty for speeches, meetings and notices, which carry no figure.
PREVIOUS The last print, green when positive and red when negative. ·r marks a revised previous.
CONSENSUS The survey median, when a source supplies one.
FORECAST A model projection, shown only when your provider is Trading Economics, the only preset that publishes one.
SURP σ The surprise, in standard deviations of this release’s own history of actual minus consensus. It needs at least six past prints that had a consensus, and it is never computed on a revised (LATEST) value.
MNQ pt Named after your impact contract. The median absolute move that contract made in the 30 minutes after this release, from up to the last 24 releases your own charts recorded (see Erianux Event Markers (chart indicator).4). It needs at least three.
STATUS A countdown today (HH:MM), days to go on later days (T−3d), REPORTED when a feed supplied the actual, LATEST when the value is the current revised figure from an official series (not the first print), TIME TBA for date-only rows, and empty once a release has passed with no value.

The value columns appear only when something can fill them. ACTUAL needs a provider, FRED or the Erianux data feed. PREVIOUS needs a provider, FRED or Forex Factory. CONSENSUS needs a provider or Forex Factory. SURP σ needs a provider.

Drag a column’s header edge to resize it; double-click the edge to put it back. The table scrolls sideways if the columns are wider than the window. Widths are remembered.

3.5 The detail panel

On the right, for the selected event (or the next one if nothing is selected). Drag the bar between table and panel to change its width; it is remembered, with a minimum of 360 pixels.

  • Release: the scheduled time with your zone’s abbreviation (and PROVISIONAL if more than 60 days out), the reference period, the unit and basis.

  • Figures: actual (or latest actual, with a note that it is a revised value and is left out of surprise statistics), consensus (no feed if none), model, previous, previous revised, and the surprise, or collecting · n of 6 while history builds.

  • Impact · last 6 releases: date, surprise, and your impact contract’s move 5 and 30 minutes after, for the last six recorded releases of this series. Until your charts have recorded some it says no history yet and tells you what to keep open.

  • Surprise vs own history: one bar per past release on a −2σ to +2σ axis.

  • Actions:

    • signpost on chart: pins this release so Event Markers draws it at full weight with a flag, whatever your filters.
    • shade blackout: switches chart shading of the blackout on or off (on by default).
    • arm alert: makes Event Markers alert on this release even if your filters would otherwise hide it.
    • revision vintages: asks ALFRED for the series’ revision history (see Where the data comes from.4).
    • source ↗: opens the release’s page in your browser.

    Date-only events cannot be signposted or alerted, because they have no time. The buttons say so.

Where the schedule came from, which calendar layer is active (FREE CALENDARS or PROVIDER …, with SETUP NEEDED (F3) if a provider has no endpoint), how many releases are on file, and when the schedule was last updated or the last error. Hover it for each source’s status. Messages from commands, throttled refreshes and saved reports stay there until the next refresh.

3.7 Keys and commands

Key Does
F1 Refresh now. At most once every five minutes; a refresh inside that says refresh throttled in the footer.
F2 Opens or closes Settings.
F3 Opens or closes Feeds.
F11 Fullscreen on or off.
Esc Closes the tour, or the settings page.
→ / Space, ← Next and previous card while the tour is open.

Commands, typed after / in the command line: refresh · settings · feeds · full or fullscreen · tour or help · today week next month prev · high med low (each toggles) · a currency code such as usd (toggles) · report (writes the diagnostics report). Anything else prints the list of commands in the footer.

3.8 Appearance

Settings offers Obsidian / Dark and Ivory / Light. Under Custom colours, each theme has thirteen colours you can set by hex (#RRGGBB): bg, panel, row, rowsel, hair, hair2, key, data, lbl, dim, pos, neg, hot. RESET THEME puts them back. Each theme keeps its own colours. High impact uses your neg colour, medium your hot, low your dim.


Where the data comes from

Each layer is its own switch. One source failing never empties the others, and a source that cannot be reached is replaced by its last saved copy, so a restart or a dead connection shows a dated schedule rather than a blank one.

4.1 The base: the agencies’ own calendars (always on, no key)

Agency What is fetched From
Bureau of Labor Statistics Release calendar www.bls.gov/schedule/news_release/bls.ics
Bureau of Labor Statistics Reference periods for this year’s releases www.bls.gov/schedule/<year>/home.htm
Bureau of Economic Analysis Release calendar www.bea.gov/news/schedule/ics/online-calendar-subscription.ics
Census Bureau Economic indicator calendar www.census.gov/economic-indicators/calendar-listview.html
Federal Reserve Board FOMC meeting calendar www.federalreserve.gov/monetarypolicy/fomccalendars.htm

These publish when a release happens, not the number. On their own they give you a dated list with empty value cells. Each is re-read every 12 hours, or five minutes after a failed attempt. FOMC statements are rated high impact and minutes medium. For agency rows, the add-on rates a fixed list of headline releases (the employment situation, CPI, GDP, personal income and outlays, advance retail sales, the FOMC statement) high, a second list medium, and the rest low.

4.2 Forex Factory weekly export (on by default, needs your acceptance, no key)

  • What: this week’s calendar from nfs.faireconomy.media, for every currency it lists, with forecast (consensus) and previous. It has no actual values.
  • Terms: it is published under Forex Factory’s personal-use terms (forexfactory.com/notices#terms). A notice above the table stays until you choose I ACCEPT or NOT NOW, and nothing is downloaded from it until you accept. NOT NOW switches the layer off.
  • Refresh: a copy under an hour old is reused rather than fetched again.
  • How it joins the base: US rows join the agency rows they match, and other currencies are added as their own rows.

The tour card describes this feed as covering this week and next week. The installed code fetches this week only.

4.3 Erianux data feed: direct official sources (on by default, no key, no account)

Switch: Feeds, Erianux data feed.

  • US values: eight Bureau of Labor Statistics series (CPI and core CPI, seasonally adjusted and not, payrolls, the unemployment rate, average hourly earnings, JOLTS openings) from the BLS public API at api.bls.gov, at most every two hours. They fill ACTUAL, and PREVIOUS where empty, for matching past US releases. These show as LATEST: the current revised value, not the first print.
  • UK values: CPI, core CPI and RPI annual rates from the Office for National Statistics (www.ons.gov.uk), fetched only when a matching UK release is due, at most hourly.
  • World dates: the IMF Dissemination Standards Bulletin Board week-ahead lists (dsbb.imf.org), refreshed every six hours and tried at most hourly. These rows have a date but no time and no impact rating, so they show as TBA, appear only under WORLD, and never trigger countdowns, chart markers or alerts.
  • A local archive: in Documents\NinjaTrader 8\Erianux\DataFeed\ it writes calendar.csv (the agency rows and official values), observations.tsv (a journal of each official value the first time it is seen and whenever it changes), global-calendar-coverage.csv, and its source caches. Rows from paid or optional feeds are not written to this archive.

4.4 FRED values (on by default; key optional)

  • Without a key: public FRED graph downloads (fred.stlouisfed.org) supply ACTUAL and PREVIOUS for mapped US monthly and quarterly releases (payrolls, unemployment, CPI, PPI, GDP, PCE prices, retail sales, housing, durables, trade, JOLTS, wholesale and others), cached for six hours.
  • With your FRED API key: the same values come from the FRED API (api.stlouisfed.org) instead.
  • The rule: a value is attached only when the release’s exact reference period is known and the release time has passed. The newest observation is never pasted onto older releases. Daily and weekly series (the fed funds target, jobless claims) are left empty. These are current revised values, marked LATEST.
  • Revision vintages: in the detail panel, revision vintages asks ALFRED (api.stlouisfed.org) for up to 24 recent vintages of the release’s series. This needs your FRED key; without one the panel says so.
  • Attribution, as FRED’s terms require: This product uses the FRED® API but is not endorsed or certified by the Federal Reserve Bank of St. Louis.

4.5 Your own calendar provider (off by default; your key)

If you subscribe to an economic-calendar service, choose it under Feeds, consensus feed. The presets, exactly as offered:

Preset What it needs (as shown in the window) Default endpoint
Trading Economics key as key:secret; the free guest key returns sample countries only; US rows need a paid plan api.tradingeconomics.com/calendar/country/All/{from}/{to}
Benzinga token from your Benzinga account; times read as Eastern; importance 3 and above shows as high api.benzinga.com/api/v2.1/calendar/economics
Finnhub token from your Finnhub account; the economic calendar is on their premium plans finnhub.io/api/v1/calendar/economic
FMP (financialmodelingprep) apikey; the economic calendar is on their Starter plan and above financialmodelingprep.com/stable/economic-calendar
EODHD api_token; the economic events endpoint eodhd.com/api/economic-events
Investing.com (Apify) runs the Apify actor pintostudio/economic-calendar-data-investing-com under your Apify token; a pull takes about a minute api.apify.com/v2/acts/…/run-sync-get-dataset-items
JBlanked Api-Key from jblanked.com; the forex-factory source by default; times read as GMT+3 unless the value carries an offset www.jblanked.com/news/api/forex-factory/calendar/week/
Finnworlds key from finnworlds.com; answers one day per call, so the preset asks for today; times UTC api.finnworlds.com/api/v1/macrocalendar?date={today}
FXStreet OAuth2 under a licence; paste the eventDates endpoint your licence gives you and a bearer token none, you supply it
custom any https endpoint returning a JSON list; you map its fields none, you supply it

Settings for this layer:

Setting What it does Default
Calendar endpoint URL Where the calendar is fetched from. Must be https. {from}, {to} and {today} are replaced with the window: from yesterday to 35 days ahead. Each preset remembers its own URL. The preset’s default
Your subscription API key Sent only to the endpoint above empty
Authentication query param, bearer or header. Apify always uses the query; JBlanked always uses its Api-Key header; Benzinga’s header form is token <key>; Finnhub’s header is X-Finnhub-Token; others use X-Api-Key. query param
Refresh Seconds between pulls, 60 or more 300
Conflicting records base wins (your feed fills only empty cells), feed wins (its values, and its time, replace the agency’s), show both (a row whose time differs by more than a minute is added beside the agency row) base wins
Mapping (custom only) cell=field;cell=field using the cells id name country currency datetime importance actual consensus model previous revised period unit comparison source_url empty

How provider rows are joined: same currency within a minute first, then the same date with a matching or known-alias title. Two different known releases never merge because they share words. Rows that match nothing are added as their own, which is how other currencies appear. A provider’s importance of 3 or more reads as high, 2 as medium, and 0 or 1 as low.

4.6 Market hours: your own trading-calendar service (off by default)

Adds exchange holidays and early closes as ■ rows. It expects the open-source trading-calendar service by apptastic-software (MIT licence) running on your machine: docker run -d -p 8000:80 apptasticsoftware/trading-calendar.

Setting Default Note
on / off off
endpoint http://127.0.0.1:8000 Plain http is accepted only for this machine; anything else must be https
exchange MIC CMES (CME) e.g. XCBF CBOE Futures, IEPA ICE US, XNYS NYSE

It asks for a window from seven days back to 62 days ahead. If the service cannot be reached and nothing is cached, and your MIC is CMES with an impact contract of NQ, MNQ, ES or MES, it falls back to NinjaTrader’s own CME US Index Futures ETH trading-hours template on this machine.


Settings reference

Open with F2. Settings and Feeds are one page; F3 jumps to Feeds, Esc closes it. The schedule keeps running underneath.

Setting What it does Default
Appearance Obsidian / Dark or Ivory / Light Obsidian
Blackout minutes Minutes before a release treated as the blackout, shown in the status strip and shaded on the chart 15
Impact contract The contract whose reaction to releases is recorded and measured (see Erianux Event Markers (chart indicator).4). Its front month shows in the command line. MNQ
Open event source pages in browser Makes titles, chart labels and source ↗ open pages on
Fullscreen (F11) Opens the window maximised off
Custom colours Thirteen colours per theme the theme’s own
RESET THEME · DIAGNOSTICS REPORT · TOUR Actions

Feeds: each layer in Where the data comes from has its own switch. Defaults: agency calendars always on; Erianux data feed on; Forex Factory on but inert until accepted; FRED on (no key needed); provider none; market hours off.

Also remembered: the range, impact and currency filters, WORLD, column widths, the detail panel’s width, the ranking, and your signposts and armed alerts.


Erianux Event Markers (chart indicator)

6.1 What it draws

  • A vertical line at each event in view that passes the filters, in the high, medium or low colour. Events up to three days past the last bar are placed in the chart’s right margin.
  • Its title at the top: time, title, currency, and the actual once printed (latest in front if it is a revised value). Neighbouring titles stagger over three rows so they do not overprint. With links on, clicking a title opens the release’s page; a click anywhere else, or with a modifier key held, stays with the chart.
  • Signposted releases (pinned in the window) at full weight with a ⚑ flag, whatever the filters.
  • Blackout shading: a light band over the blackout before the next high-impact release (or the next release, if none is high), when shading is armed in the window.
  • A countdown in the top-right corner: Next: <title> (<ccy>) <day time> in 3h 10m.
  • Date-only events are never drawn.
  • If no schedule is loaded yet, the corner says loading the calendar… or no calendar loaded - press Refresh in the Market Schedule window, and nothing else is drawn.

Times are in NinjaTrader’s configured time zone, and the countdown reads NinjaTrader’s own clock (which follows playback and the connection), not the PC clock.

6.2 Properties

Group Property What it does Default
Events Currencies Comma-separated currency codes, e.g. USD, EUR. Empty = follow the Market Schedule window’s selection empty
Events Impact High only · High and medium · All High and medium
Events Show titles Title text at the top of each line on
Events Show countdown The next event and time to it, in the corner on
Alert Alert minutes before 0 to 240. 0 = no alert 5
Alert Alert sound A file in NinjaTrader’s sounds folder Alert1.wav
Colours High impact Line and label colour red (#E03C31)
Colours Medium impact amber (#E8A317)
Colours Low impact yellow (#E8D44D)
Colours Line width 1 to 5 1
Colours Line opacity 0.1 to 1.0 0.7

6.3 How the filter works

  • Impact comes from the property above.
  • Currencies: if the property is empty, the indicator follows the window. When the window’s WORLD is on, every currency passes; otherwise the window’s lit currencies do. Market closures pass the currency filter, but the impact setting still applies, so the chart shows them only with Impact set to All.
  • Before the window has ever saved its filters, an empty Currencies property shows every currency (the indicator’s own default for WORLD is on), while the window itself opens with WORLD off. Once the window saves its filters, the two agree.

6.4 Alerts

At the chosen minutes before each event that passes the filters, or that you armed in the window, it raises a NinjaTrader alert through the platform’s own Alert: it appears in the Alerts Log and plays your sound. It fires once per event, in real time only, never on historical bars. The message reads, for example, CPI (USD, High) at 08:30 - in 5m forecast 0.3% previous 0.2%. The indicator keeps running on a hidden chart, so alerts still fire when the chart is not in view.

6.5 The reaction record

On a chart of your impact contract (MNQ by default) with a period of 30 minutes or less, in minutes or seconds, Event Markers records how the contract moved around each release it lived through. That means the close before the release, the signed move 5 and 30 minutes after, the move to the 16:00 Eastern close, and the twelve five-minute steps of the hour. It writes each release once, after the hour is over, to Documents\NinjaTrader 8\Erianux\ErianuxMarketSchedule.history.txt.

This local history is where the window’s impact column, ranking, day budget and surprise history come from. Nothing in it is bought, and it only grows while such a chart is open through releases.


What goes over the network

The whole list. Every request uses the User-Agent ErianuxMarketSchedule/2.0 (+https://erianux.com/support) and a 20-second timeout (170 seconds for the Apify preset). Nothing goes to an Erianux server.

Host When Needs
www.bls.gov, www.bea.gov, www.census.gov, www.federalreserve.gov Every 12 h (5 min after a failure), and on F1 nothing
nfs.faireconomy.media Only after you accept Forex Factory’s terms; reuses a copy under an hour old your acceptance
api.bls.gov, www.ons.gov.uk, dsbb.imf.org While the Erianux data feed is on (the default) nothing
fred.stlouisfed.org While FRED is on (the default) and no key is set nothing
api.stlouisfed.org FRED with your key, and revision vintages your FRED key
your provider’s endpoint Only if you choose a provider; https only your key
your market-hours endpoint Only if you switch market hours on your own service

The window checks every five seconds whether anything is due. It only makes a request when a source’s own interval has passed. Pages opened in your browser (release pages from titles, chart labels and source ↗) are limited to https pages on tradingeconomics.com, bea.gov, bls.gov, census.gov, federalreserve.gov and erianux.com. Anything else is refused and the footer says why.

Your keys are kept in %LOCALAPPDATA%\Erianux\ErianuxMarketSchedule.keys.txt, outside the Documents folder, so they are not carried by folder sync. The file is plain text on your machine. The window shows keys in password boxes, the diagnostics report shows them only as set or empty, and each key is sent only to the provider it belongs to. Keys found in an older preferences file are moved there once.


Files on your machine

In Documents\NinjaTrader 8\Erianux\:

  • ErianuxMarketSchedule.prefs.txt: every setting and filter above.
  • ErianuxMarketSchedule.<source>.cache: the last good copy of each source.
  • ErianuxMarketSchedule.history.txt: the reaction record.
  • ErianuxMarketSchedule.report.txt: the diagnostics report, when you write one.
  • DataFeed\: the Erianux data feed’s caches and archive.

In %LOCALAPPDATA%\Erianux\: ErianuxMarketSchedule.keys.txt.


Troubleshooting

  • The list is empty. The window says why: loading the agency calendars…, no schedule yet · F1 to refresh with the last error, or nothing in range for what you have lit with how many events are on file. In that last case, widen the range, light more impact levels or currencies, or clear the text filter.
  • An agency is missing. Feeds shows each source’s status: a release count, cached with the time of the saved copy, or the reason it failed. refused this machine (403) means the agency’s server turned the request down; its last saved copy is used meanwhile.
  • Values are empty. The agencies publish dates, not figures. Check which value layers are on in Feeds. Past events with no actual are counted in the DAY BUDGET cell.
  • F1 does nothing. Manual refresh is limited to once every five minutes; the footer says when the last attempt was.
  • A provider shows nothing. The footer says SETUP NEEDED (F3) if no endpoint is set. Feeds shows the provider’s status, including the HTTP code it returned. Endpoints must be https.
  • No impact numbers. Keep a chart of your impact contract, at 30 minutes or faster, with Event Markers on it, open through releases. Each release is recorded after its hour is over, and the median needs three.
  • Diagnostics report. Settings, DIAGNOSTICS REPORT (or /report) writes ErianuxMarketSchedule.report.txt. It contains the version, Windows and NinjaTrader versions, time zone, each source’s status, the last fetch and error, the last fault and where it happened, event counts, your filters and settings, and history counts. It contains no key and no instrument data beyond your impact contract’s name. The footer tells you where it was saved.