====== Trading terminal ======
Trading terminal (''trade-term'') is a commercial tool for trading on crypto exchanges, with a web interface: live charts with indicators, a paper (simulated) account, backtesting, and **Pulse** — its own scripting language for writing indicators and strategies. Part of the [[stratum:start|Stratum]] project.
**Technical preview.** Trading terminal is proprietary commercial software, used under a subscription licence — not free or open-source software, and not under the GPL.
===== Install =====
sudo apt install trade-term
This also installs ''trade-term-pulse'' (the Pulse standard library). The optional handbook:
sudo apt install trade-term-handbook
Open the web interface at ''https://:8444'' and sign in. A valid subscription licence for the feature "trade-term" is required to operate; licences are handled by ''stratum-license'' (hardware ID, licence request, signed licence file).
===== What it does =====
* **Live charts** — candlesticks from public exchange data (through CCXT), with built-in indicators (EMA, RSI, MACD, Bollinger Bands).
* **Paper trading** — a simulated account with market orders, fees and slippage; no real orders.
* **Backtesting** — run strategies over historical candles with return, drawdown and trade statistics.
* **Pulse** — a small, safe Pine-like language for your own indicators and strategies, with a live editor (syntax highlighting, as-you-type checking, an inputs form) and a standard library of ready-made scripts.
* **Exchange API keys** — stored encrypted on the server; used only with trade-only keys.
* **Live trading** — place real orders under strict safeguards: per-order and daily limits, an allowed-symbols list, a two-step confirmation and a kill-switch. Off by default.
* **Trading sessions** — attach a Pulse strategy to a market and let it trade automatically on each closed candle; several sessions run at once, in paper or live mode.
===== Packages =====
* ''trade-term'' — the application (non-free).
* ''trade-term-pulse'' — the Pulse standard library (required dependency).
* ''trade-term-handbook'' — the user guide and the Pulse language reference, shown as a //Handbook// tab inside the web interface (optional).
===== How it is built =====
A single self-contained Go service with an embedded Vue.js web interface, on its own HTTPS port with users, roles and two-factor sign-in — in the same spirit as [[vm-reactor:start|VM Reactor]].
^ Layer | Choice |
^ Backend | Go — one self-contained service, embedded web assets, own HTTPS port, systemd, users/roles + 2FA |
^ Frontend | Vue.js |
^ Charts | TradingView Lightweight Charts (Apache-2.0) with an own indicator layer |
^ Exchanges | CCXT, run as a sidecar (Node), for public market data and order routing |
^ Scripting | Pulse — an own Pine-like language, interpreted in Go |
^ Licensing | stratum-license, feature ''trade-term'' (subscription) |
* **Go backend** — orchestrates market data, indicators, the Pulse engine, trading sessions, the licence check and the web API and UI. One binary.
* **CCXT sidecar (Node)** — exchange connectivity: public market data, and order routing for live trading. It runs unprivileged, and credentials are handed to it only through the environment, never the command line.
* **Indicators** — computed in the backend (EMA, RSI, MACD, Bollinger, …) and drawn with Lightweight Charts. The same calculation serves charting, backtesting and live sessions.
* **Pulse engine** — the Go interpreter for user indicators and strategies; one engine checks a script, runs it on a chart, backtests it and drives live sessions.
* **Trading sessions** — a session manager: each session pairs a strategy with a market and runs supervised (running or stopped), with its own position and the live-trading safeguards. Paper by default; live is a separate, deliberate switch.
===== Security =====
* Exchange API keys can move funds, so they are the most sensitive part: encrypted at rest, meant for trade-only keys (no withdrawal), with per-order and daily limits and a kill-switch.
* Live trading is off by default and stays blocked until limits are set; paper trading needs no private keys at all.
* The licence is checked at start and periodically.
===== Risk and compliance =====
Automated trading with real funds carries financial risk, and nothing here is financial advice. Strategies must comply with the exchanges' terms of service and with the law (no market manipulation). Start with paper trading, tight limits and a small scale.
===== Handbook =====
The handbook (package ''trade-term-handbook'') covers the web interface and the Pulse language, with a complete function reference and worked examples.
===== Licence =====
Proprietary commercial software, used under a subscription licence (monthly or yearly); each feature expires on its own date. Reverse engineering, decompilation, disassembly and circumvention of the licence are prohibited. Published binary-only.