2026
CRT Terminal — Trading & Investing Decision-Support Platform
- FastAPI
- Python
- APScheduler
- SQLAlchemy
- SQLite
- ccxt
- yfinance
- React
- Vite

Overview
CRT Terminal combines two independent decision-support systems behind one dark, information-dense interface: an automated Candle Range Theory (CRT) signal scanner for crypto perpetual futures (Trading), and a multi-factor composite-score stock dashboard for NASDAQ + BIST (Investing). A third module is a manual portfolio tracker with live P/L. All data comes from free, public sources — no API keys, no brokerage connection.
Problem
A disciplined trading and investing process needs rule-faithful signals, transparent factor-based stock evaluation, and a unified portfolio view — all while never placing an order, providing decision support only.
Solution
A deterministic state machine per (pair × timeframe) watches Weekly/Daily/H4 ranges and produces rule-compliant CRT setups (dual entries, OTE limit, RR≥1 filtering, death rule). On the investing side, each stock is ranked by a sector-normalized composite score across quality, value, growth, health, analyst, low-volatility, technical and dividend factors, with a per-metric breakdown. A single long-running FastAPI + APScheduler process holds all state in SQLite (restart-safe); a React + Vite frontend polls the REST API.
Highlights
- Mechanical CRT engine: four confirmation types (MSB/IFVG/Breaker/Reclaim), OTE limit entries, RR≥1 filtering, Super CRT detection and weekly bias.
- Professional factor model: cross-sectional percentile ranking, 12-1 momentum, low-volatility tilt, and BIST inflation-accounting (TMS 29) handling.
- Free, public data only: ccxt (Binance USDT-M) for crypto, yfinance (~187 NASDAQ + ~49 BIST) for stocks.
- Restart-safe single process (FastAPI + APScheduler, SQLite), optional Telegram notifications, and 108 passing tests.
- Responsible by design: read-only data, never places orders, no brokerage link; the system never says 'buy/sell', only shows reasoned status. Not financial advice.