Ivyware Chartboard Live chart Runs in your browser Melbourne, AU
Ivyware

Ivyware/Chartboard/Live chart

In your browser

Chartboard, running in the page

This is Chartboard's chart engine ported to JavaScript. It charts the sample datastore, or a CSV of your own that never leaves your machine. Every value it plots is the same double the desktop computes.

Loading the chart engine…

What this is

The desktop chart engine is C++, rebuilt from the shipped binaries. This page runs the same engine in JavaScript. It keeps the same period synthesis and the same calculation conventions, transcribed routine by routine in the same operation order.

Before this page shipped, every indicator was computed at every period unit, both here and by the desktop engine's own test harness, and the two were compared value by value. They agree to the last bit.

What is here: the OHLC stack, its overlays and the indicator panes, at yearly to daily periods, on a linear or log10 scale. What is not: the ribbon, the dialogs, Python advisors, workspaces, Point & Figure, scanning and the drawing tools. For those, download Chartboard.

Moving around

drag ← →move through time; hold Shift with the arrows for ten bars at a time scroll pinch + −zoom, about the bar under the pointer Home Endthe oldest bars, the newest bars

Click any overlay or indicator name to change its parameters. Whatever the chart shows is also kept in the address bar, so Copy link shares this exact chart.

Your own data

Open a CSV, or drop one on the chart. It is read in this browser and is not uploaded anywhere. The reader takes a header row that names the columns, such as a Yahoo Finance download:

Date,Open,High,Low,Close,Adj Close,Volume
2026-05-08,57.44,57.95,57.07,57.95,57.95,8854073
2026-05-11,58.22,58.71,58.12,58.28,58.28,2249911

To try it, download a sample CSV: two years of BHP daily bars, 22 KB. Then open it with Open CSV…, or drop it on the chart.

Headerless Metastock and StockEasy rows work too, with or without a leading code: BHP,20260511,58.22,58.71,58.12,58.28,2249911. The CSV format below has the full rules.

As on the desktop, weekend bars are left out, and a week opens on its Monday. Weekly, monthly, quarterly and yearly bars are built from the dailies, never read from the file.

The sample datasets come from the datastore that ships with Chartboard. Each one ends at its last update, and is here to show the engine at work, not to trade on.

The CSV format

One row per trading day. A file is a header row naming the columns followed by the rows, or rows alone in a fixed order. Anything that is neither is skipped, so a title line, a second header or a footer does no harm.

Download a sample CSV BHP-sample.csv · 503 daily bars, May 2024 to May 2026 · 22 KB · the header-row layout below, with every column filled

With a header row

Columns are found by name, in any order. Case, spaces and punctuation in a name are ignored, and columns the chart does not use are skipped.

ColumnHeader names it answers toNeeded
Datea name starting Date, Time, Timestamp or Day; if none does, the first columnyes
Openstarting Openno
Highstarting Highno
Lowstarting Lowno
Closeexactly Close, Last, Price, Value or Close/Last; failing those, the first name containing close, such as Adj Closeyes
Volumestarting Volno

An exact Close wins over Adj Close, so a Yahoo Finance download charts its plain close. A file with no Open column is a close-only file. Each bar's open, high and low are set to its close, and the chart opens in the Line style, the only one that shows a close by itself:

Date,Close
2026-05-08,57.95
2026-05-11,58.28

Without a header

When the first row starts with a date, or with a code and then a date, the columns are read by position:

[Code,] Date, Open, High, Low, Close [, Volume]

The code, if there is one, names the chart; otherwise the file name does. The layout is decided from the first row. If it has fewer than five fields after the code, every row is read as Date, Close, with anything after the close ignored. That covers the Metastock and StockEasy layouts, and a bare list of dates and closes:

BHP,260511,58.22,58.71,58.12,58.28,2249911
BHP 20260511 58.22 58.71 58.12 58.28 2249911
20260511,58.28

Values are read as written. The desktop's EzyChart and InsightTrader grammars hold prices in cents and divide by a hundred, and some volume grammars multiply. This reader does neither, so convert such a file to dollars first.

Separators and quotes

The separator is the first of comma, semicolon, tab or blank space found outside double quotes. It is chosen line by line. Runs of blanks count as one. A field may be wrapped in double quotes, which keeps a separator inside it as text: "1,234.50" is one field. Blank lines, a byte-order mark, and Windows or Unix line endings are all fine.

Dates

FormExampleNotes
YYYYMMDD20260511
YYMMDD26051100–49 is the 2000s, 50–99 the 1900s
YYYY-MM-DD2026-05-11, 2026/5/11 16:00-, / or . between the parts; anything after the day, such as a time, is ignored
D-Mon-YYYY11-May-2026, 11 May 26English month names, three letters or more; -, /, . or a space between the parts. The spaced form needs a comma, semicolon or tab file, since a space-separated file splits it into three fields
D/M/YYYY11/05/2026, 11.5.26read day first; see below

A slashed date such as 05/06/2026 could be either order. It is read day first, the Australian order, unless some date in the file has a second number over 12, which proves the file is month first. A file that proves both orders is refused. A date that does not exist, such as 31/02/2026, skips its row.

Rows may come in any order; they are sorted. A date that repeats keeps its last row, so intraday rows collapse to the day's final one.

Numbers

The decimal point must be a full stop. A dollar sign and thousands commas are dropped, so $1,234.50 reads as 1234.5. This means a decimal comma is misread: 58,22 becomes 5822. An empty field, -, n/a, NA or null means no value. A row with no close is skipped; a missing open, high, low or volume is left blank. Without volume the Volume pane shows "no values in this window", and the indicators built on volume have nothing real to work from. Everything else charts normally.

After reading

  • Bars dated Saturday or Sunday are left out, exactly as the desktop leaves them out.
  • Weekly, monthly, quarterly and yearly bars are built from the dailies. Each opens on the first day's open and takes the highest high, the lowest low, the last close and the summed volume. A week runs Monday to Friday, and each coarser bar carries the date of its first trading day.
  • A bar whose close is zero or below is drawn, but every indicator skips it, as on the desktop.
  • Prices show as many decimals as the file's closes need, from two to six.

A file that cannot be charted says why in the bar under the chart. The reasons: the file is empty, a header has no Close column, no row has both a date and a close, every bar falls on a weekend, or the dates mix day-first and month-first order.