Version 1.0 · NinjaTrader 8 · English edition © 2026 TTW Trading Systems PTE. LTD. · Flow.42 Analytics · All rights reserved.

Context first. Pressure second. Execution last.


Table of Contents

  1. Overview
  2. What you see on the chart
  3. Quick start
  4. The CSV format
  5. How symbol matching works
  6. Auto-refresh
  7. Touch alerts
  8. The help panel and hotkey
  9. Full parameter reference
  10. Practical tips
  11. Troubleshooting
  12. Glossary

1. Overview

Flow.42 CloudNotes plots price levels from a cloud-hosted spreadsheet directly on your chart: support and resistance, key levels, prior-day values, target zones, or any custom annotation you keep in a sheet. You maintain the levels in one place online, and every chart running CloudNotes draws them automatically and keeps them up to date.

The idea is simple: instead of redrawing the same lines on every chart every morning, you write them once in a Google Sheet (or any spreadsheet that can publish to CSV), point CloudNotes at the link, and let it do the rest. Change a level in the sheet, and within your chosen refresh interval every chart updates itself. It is the fastest way to keep a shared, consistent set of levels across many charts and instruments.

CloudNotes draws each level as a labeled horizontal line with a price tag at the edge of the chart. Colors, labels, line styles and widths can all be defined per level in the sheet, so your important levels can stand out from the routine ones. It is a context and annotation tool: it shows you the levels you care about, clearly and consistently, without getting in the way.


2. What you see on the chart

For every level that matches the current chart's instrument, CloudNotes draws:

An optional small footer with a logo can be shown at the corner of the chart. That is the whole footprint: clean horizontal levels with clear labels, nothing more. Lines and labels respect the opacity you set, so you can make them bold and prominent or quiet and unobtrusive.


3. Quick start

Getting CloudNotes running takes three steps.

First, build a simple sheet with one row per level. At minimum each row needs three things: the instrument, the price, and a label. (The exact columns are covered in Section 4.)

Second, publish the sheet as CSV. In Google Sheets this is File → Share → Publish to web → Comma-separated values (.csv). Copy the link it gives you.

Third, add CloudNotes to your chart, paste that link into the CSV URL setting, and apply. Your levels appear within moments, and from then on CloudNotes refreshes them on the interval you choose.

That is it. Edit the sheet whenever you like; the charts follow.


4. The CSV format

Each row in your sheet describes one level. The columns are read in a fixed order. The first three are required; the rest are optional and fall back to the indicator's own settings when left blank.

Column Required What it holds
1: Instrument Yes The symbol this level belongs to (for example ES, NQ, CL). Use * to show the level on every chart. See Section 5.
2: Price Yes The price the line is drawn at. Must be a number. A price of 0 or a placeholder word (such as Pending, N/A, or After open) is skipped until a real number is present.
3: Label Yes The text shown in the level's label box (for example Prior High, VWAP, Target 1).
4: Text color No The label text color. Accepts a hex code like #FFFFFF or a common color name like White. Defaults to white.
5: Background color No The label box background color. Hex or color name. Defaults to red.
6: Line style No One of Solid, Dash, DashDot, DashDotDot. Falls back to the indicator's Line Style setting.
7: Line width No A number from 1 to 10 for the line thickness in pixels. Falls back to the indicator's Line Width setting.

A few practical notes. Colors can be written as a hex value (#FF8800) or as a common name (OrangeRed, LimeGreen, SteelBlue). Levels with a price of zero are skipped silently, which is handy if your sheet has formula cells that are not filled in yet. The same is true for placeholder text in the price column: the line simply waits, and appears on a later refresh once the cell holds a real number. This makes CloudNotes work smoothly with sheets that pull live values from elsewhere and may not be populated until later in the session.


5. How symbol matching works

CloudNotes decides whether a level belongs on the current chart by comparing the first two letters of the symbol. The comparison ignores case and spaces, so a row labeled ES will match an ES chart whether the chart's full symbol is ES, ES 03-26, or similar. Likewise NQ matches Nasdaq charts and CL matches crude oil charts.

Two special cases are worth knowing. A row whose instrument is * matches every chart, which is the way to broadcast a level (a major weekly pivot, say) to all your instruments at once. And a row whose instrument begins with / is ignored, which gives you a quick way to keep a level in the sheet for reference without drawing it.

Because matching is on the first two letters, keep that in mind for instruments that share a prefix, and label your rows with the standard two-letter root of the instrument you mean.


6. Auto-refresh

CloudNotes re-downloads the sheet and redraws levels on a fixed interval, set by Update Minutes (default 15). You never need to reload the chart by hand. Edit the sheet, and the change shows up on the next refresh. Setting a shorter interval makes changes appear faster at the cost of slightly more frequent fetching; a longer interval is calmer if your levels rarely change during the session.


7. Touch alerts

When Alert On Touch is on, CloudNotes plays a NinjaTrader alert sound whenever the current bar reaches one of your levels. The sound is set by Alert Sound File, which names a sound available to NinjaTrader (the default is Alert1). This turns your level sheet into a lightweight watch list. Set the levels that matter, and let the platform tell you when price arrives, rather than watching every tick yourself. Alerts are off by default.


8. The help panel and hotkey

CloudNotes includes a built-in on-chart help panel so the basics are always at hand. Show Help Panel toggles it, and when Enable Help Hotkey is on you can open and close it with a keyboard shortcut, by default CTRL + H. The panel's width, height and opacity are all adjustable so it fits your workspace. These settings are shared across charts, so once you size the panel to your liking it stays that way everywhere.


9. Full parameter reference

The settings appear in the NinjaTrader properties panel, grouped as you see them there. "Default" is the value the indicator ships with.

Data

Setting Default What it does
CSV URL (empty) The public link to your published CSV sheet. This is the one setting CloudNotes needs to start drawing levels.
Update Minutes 15 How often, in minutes, CloudNotes re-downloads the sheet and redraws levels. Minimum 1.

Style

Setting Default What it does
Line Opacity (%) 100 Opacity of the level lines and label boxes, from 1 to 100. Lower values make levels more subtle.
Line Style Solid The default dash style for level lines: Solid, Dash, DashDot or DashDotDot. A level can override this in the sheet.
Line Width 2 The default line thickness in pixels, from 1 to 10. A level can override this in the sheet.
Label Position Right Whether each level's label box sits on the left or right side of the chart.
Show Price In Label On When on, the level's price is appended to its label text (for example "Prior High 4321.00").
Notes Font Arial, 12 The font family and size used for the label text and the footer.

Alerts

Setting Default What it does
Alert On Touch Off Plays a NinjaTrader alert when the current bar touches or crosses a level price.
Alert Sound File Alert1 The name of the sound file used for the alert. Must be a sound available to NinjaTrader.

Misc

Setting Default What it does
Brought To You By flow42.io Footer text shown next to the optional logo. Read-only.
Show Logo On Shows the footer line and, when a valid local logo file is set, renders the logo on the chart.
Logo Path (optional) (Flow.42 logo) A local file path to a PNG or JPG logo for the footer. Remote links are not loaded for rendering. Read-only.

99 Help & Hotkey

Setting Default What it does
Show Help Panel n/a Shows or hides the on-chart help panel. Shared across charts.
Enable Help Hotkey n/a Lets you open and close the help panel with a keyboard shortcut. Shared across charts.
Assigned Help Hotkey CTRL + H The shortcut that toggles the help panel. Read-only.
Help Panel Width (px) n/a The width of the help panel in pixels. Shared across charts.
Help Panel Height (px) n/a The height of the help panel in pixels. Shared across charts.
Help Panel Opacity (%) n/a The opacity of the help panel, from 0 to 100. Shared across charts.

10. Practical tips

Keep one master sheet for everything. Because the instrument column decides where each level lands, you can hold every instrument's levels in a single sheet and let each chart pick out its own. One link, every chart.

Use color to encode importance. Reserve a bold background color for the few levels that truly matter and a quieter color for routine ones, so your eye goes to the right place immediately.

Use * for levels that apply everywhere. A market-wide level (a key date, a macro line) can be broadcast to all charts with a single * row instead of repeating it per instrument.

Park levels with a leading /. To keep a level in the sheet without drawing it, prefix its instrument with /. It stays for reference and reactivates the moment you remove the slash.

Let placeholder prices flow in. If your sheet pulls some values live and they are not ready at the open, leave them as a word like Pending or as 0. CloudNotes skips them quietly and draws them as soon as a real number appears.


11. Troubleshooting

No levels appear. Confirm the CSV URL is the published CSV link, not the normal share link to the spreadsheet. Check that at least one row's instrument matches the chart on its first two letters, or use * to test. Confirm the price column holds real numbers, not text.

Some levels are missing. Rows with a price of 0, a placeholder word, or an instrument that does not match the chart are skipped by design. Check those columns for the missing rows. Remember a leading / on the instrument hides the row deliberately.

Levels do not update after I edit the sheet. Changes appear on the next refresh, set by Update Minutes. Lower that value if you want them sooner. Also confirm your spreadsheet's published CSV actually reflects the edit. Some platforms take a short while to update the published version.

A level's color or style is not what I set. Color names must be standard (or use hex like #FF8800), and line style must be one of Solid, Dash, DashDot, DashDotDot. If a cell cannot be read, CloudNotes falls back to the indicator's own Line Style, Line Width and default colors.

The alert never sounds. Confirm Alert On Touch is on and that the Alert Sound File names a sound NinjaTrader can find.


12. Glossary

Level: a single horizontal line drawn at a price, with a label, defined by one row in your sheet.

CSV: a plain spreadsheet export (comma-separated values). CloudNotes reads your levels from a published CSV link.

Published CSV link: the special URL a spreadsheet gives you when you publish a sheet to web as CSV. This is what CloudNotes needs, not the ordinary share link.

Symbol matching: the rule that decides which levels belong on a chart, by comparing the first two letters of the instrument.

Label box: the small box at the edge of the chart that shows a level's text and, optionally, its price.

Touch alert: a NinjaTrader alert sound played when the current bar reaches a level.


Flow.42 CloudNotes is a context and annotation tool. It does not provide automated trade signals or trading advice. Trade less. Trade better. Trade with clarity.

© 2026 TTW Trading Systems PTE. LTD. · Flow.42 Analytics · All rights reserved.