Skip to content

v0.14.0

Choose a tag to compare

@github-actions github-actions released this 05 Nov 07:07
eeba8eb

A new, optional strategy maker page at /strategy-maker finds a built-in strategy from trades you mark with a brush: a small decision tree explains your trades, a search in a background worker ranks settings and validates them, and a result opens in the Backtest tab or copies as a Pine strategy. Indicators get legend rows on the chart and a settings dialog with Inputs, Style and Visibility tabs. Pine indicators with a timeframe argument get Calculation settings (lower timeframes included), a new setting stops higher-timeframe repainting, and editor changes stay a draft until Add to chart. The top bar gains Undo and Redo, a Chart data pop-up and a Live dot, a countdown shows the time to bar close, and backtests on Full data test the provider's whole history. Several behaviours change on upgrade (see the upgrade notes).

Highlights

  • Strategy maker: the optional /strategy-maker page loads a market, a saved dataset or a CSV file on a chart of its own, apart from the main app (no live stream, no alert polling, and the main app never loads its code).
  • Mark trades with a brush: Brush long, Brush short and Eraser mark the trades you would have taken, with undo, redo, keys and a trade list. Marks are saved per chart in this browser.
  • Find a strategy: from 30 or more marks, Find a strategy runs in a background worker with progress and Cancel, using your strategy type, allowed indicator families, risk and targets.
  • Readable results: a decision tree writes your trades as plain rules with each family's importance, ranked settings show in-sample and held-out figures, the chosen one is checked by held-out, walk-forward, neighbour and Monte Carlo tests, and a found strategy's trades draw beside your marks.
  • From strategy maker to backtest: Open in Backtest opens Vost with the Backtest tab set to the found strategy, its settings and risk; Copy settings and Copy as Pine strategy copy it as text or as a Pine v6 strategy() that takes the same trades. A Strategy maker link sits next to the Backtest tab's Strategy select.
  • Saved model, Sets, Export and Import: the trained model is kept and flagged when out of date, with Retrain, a Sets panel (Open, Rename, Delete) and an export file to move everything to another machine.
  • Indicator legend rows: every indicator gets a row in the chart legend with its name, inputs and values at the crosshair, and hover buttons for Hide, Settings, Source code (Pine), Remove and a menu. A hidden indicator keeps a dimmed row.
  • Indicator settings dialog: the gear opens Inputs, Style and Visibility tabs. Style sets each plot's colour, opacity, thickness, line style, plot type and price line, plus precision and what the status line shows; Visibility hides an indicator on chosen timeframe kinds; Defaults resets or saves your settings as the default for new indicators.
  • Pine Calculation settings: a script that names timeframe in indicator(...) gets a Calculation section with a Timeframe list and "Wait for timeframe closes", and can now run on a timeframe lower than the chart's.
  • No-repaint setting for Pine: Settings, Pine scripts, Higher timeframes on the live bar can pick Only finished bars (no repaint), so a script that declares a higher timeframe never changes its live bar later.
  • Pine editor drafts: what you type stays a draft until Add to chart (or Ctrl/Cmd+Enter); the draft is saved with the indicator and survives a reload.
  • Top bar Chart data pop-up and Live dot: the Chart data button holds the loaded range and bar count, the Build switch, the Number of bars menu and Load; Live is a coloured state dot (live, connecting, error, off).
  • Top bar Undo and Redo: buttons for the active chart's drawings, greyed out when there is nothing to undo or redo.
  • Countdown to bar close: a label under the last price counts down to the close of the forming bar; turn it off in Settings.
  • Full data backtests test the whole history: a backtest or optimizer run with no From (Full data) first loads the provider's whole history for that market, up to 200,000 bars, in either chart history mode.
  • Max DD duration in clock time: the Max DD duration card also shows the stretch in minutes, hours, days, weeks and years.
  • Switching symbol keeps your view: switching symbol on the same timeframe keeps the dates and zoom you were looking at.
  • A fresh chart opens on the Reset view window: a newly loaded chart opens on the window Reset view shows for its timeframe instead of fitting every loaded bar.
  • Bottom dock starts collapsed: the dock opens collapsed below the chart; click a tab or the arrow to open it.
  • How often data updates: the guide now has a table of each kind of data's rhythm, with each provider's live push rate in docs/DATA-SOURCES.md.
  • Under the hood: the strategy maker's search engine is a library with its own tests, and a test pins the documented update rates. New capture scenarios cover the new features.

Upgrade notes

  • A fresh chart no longer fits all data: a chart that loads (on start, a timeframe change or a dataset) opens on the Reset view window for its timeframe (the last day on minute charts, 5 days on hourly, a month on daily). Use the All quick range to see every loaded bar. A chart limited by the Range picker still shows its whole range.
  • Switching symbol keeps the dates and zoom on the same timeframe instead of re-fitting the chart, and may page in older bars to fill the window.
  • The bottom dock starts collapsed on every load: its open or collapsed state is not restored. Click a tab or the arrow to open it.
  • Top bar controls moved: Load, the Build switch, the Number of bars menu (in Load all bars at once mode) and the loaded date range and bar count are now in the Chart data pop-up (the database icon). Live is a dot instead of a labelled button.
  • Pine editor edits no longer run as you type: press Add to chart or Ctrl/Cmd+Enter. Backtests, the optimizer and Compare use the script on the chart, never an unapplied draft.
  • Full data backtests now load the provider's whole history: a backtest or optimizer run with an empty From fetches all older history first (up to 200,000 bars), so it can take longer and makes more /api history requests than v0.13.x, which tested only the loaded bars. Set a From to test a shorter window. A dataset, a chart range and replay run as before.
  • The bar-close countdown is on by default: turn it off with Countdown to bar close in Settings.
  • A colour picked in the Style tab replaces per-bar colours (the MACD histogram, Volume, a Pine script's conditional colours); an opacity alone only fades them.
  • vost.prefs.v1 gains fields: barCountdown (boolean; a missing or bad value reads as on), pineHigherBars (forming or finished; a missing or bad value reads as forming) and indicatorDefaults (per built-in indicator kind: params and hideOn, plus a style; bad entries load as nothing). Each saved indicator may gain hideOn (timeframe kinds it is hidden on), style (per-plot style, precision and status-line choices), and for Pine scripts draft (unapplied editor text) and calculation (timeframe and gaps). No key is renamed and no migration runs.
  • New IndexedDB database vost-strategy-maker (version 2, stores highlightSets and settings) holds the strategy maker's marks, its find form and its trained model. It is created only when you open /strategy-maker. Its Export writes a vost-strategy-maker.json file. Open in Backtest passes the strategy in the address after a #, which Vost reads once and removes; nothing is stored for it.
    • Downgrade: v0.13.x ignores the new prefs and indicator fields (it may drop them the next time it saves your settings, so indicator styles, visibility, defaults, Calculation overrides and unapplied Pine drafts are lost) and has no strategy maker page; the vost-strategy-maker database is left untouched.
  • More requests to market providers, no new hosts: Full data backtests, Pine Calculation timeframes (lower timeframes load up to the newest 20,000 lower bars) and strategy maker market loads make more /api history requests. Every request still goes through Vost's own /api and the providers Vost already supports; there is no new host, proxy rule or endpoint.
  • No server, API, environment or deploy change. No server code changed, there is no new endpoint or variable, nothing in Dockerfile, docker-compose.yml or .dockerignore changed, and no dependency changed. The /strategy-maker page is served by the existing app.
  • Clearing site data for the Vost origin removes your drawings, the picture store, the strategy maker's marks and model, and the other browser settings.

To deploy, build from the tag (git checkout v0.14.0, then docker compose up -d --build); no registry image of the app is published. Nothing in your environment or .env needs to change.

Changes

  • Document how often data updates, with a test pinning the numbers (#393)
  • Style tab in indicator settings: per-plot style, precision, legend (#391)
  • Countdown to bar close under the last price, with a Settings toggle (#392)
  • Top bar: Chart data pop-up and a Live state dot (#389)
  • Bottom panel starts collapsed on load (#390)
  • Top bar Undo and Redo buttons for the active chart's drawings (#388)
  • Indicator legend rows with eye, settings, source, remove and menu (#387)
  • A fresh chart opens on the Reset view window instead of fitting all bars (#386)
  • Strategy maker results: Open in Backtest, Copy settings, Copy as Pine strategy (#385)
  • Switching symbol on the same timeframe keeps the chart's dates and zoom (#384)
  • Pine setting: only finished higher-timeframe bars on the live bar (no repaint) (#383)
  • Indicator settings dialog: Inputs, Visibility, Defaults menu (#382)
  • Pine editor edits stay a draft until Add to chart (#375)
  • Strategy maker: keep the trained model, say when it is out of date, Sets panel, export and import (#381)
  • Pine indicators with a timeframe argument get Calculation settings and lower timeframes (#372)
  • Strategy maker: find a strategy from marked trades in a worker (#363)
  • Full data backtest and optimizer runs load the provider's whole history (#362)
  • Max DD duration card also shows clock time (min, h, d, w, y) (#361)
  • Strategy maker model: decision tree on highlighted trades, rules, importance, narrowed search and model file (#357)
  • Strategy maker: a brush to mark long and short trades (#356)
  • Strategy maker search engine library (no screen yet) (#355)
  • Add the strategy maker page at /strategy-maker: pick a market, dataset or CSV and see its candles (#347) (#354)