## What the Radiant Oscillator actually is
The **Radiant Oscillator** — you''ll also see it called the **Radiant Indicator** in the app — is our own market signal. It''s not RSI, not MACD, not something we pulled off TradingView. It''s built from one thing: what our fleet of trading bots is doing *right now* and what it just finished doing over the last 30 days.
Every bot on Radiant opens and closes real positions on Binance and Bybit. We take that raw stream — thousands of longs, shorts, wins and losses per week — and boil it down to a single number between **-100 and +100**. Positive means our bots are net-long. Negative means net-short. Zero means the market is genuinely undecided.
That number is the Radiant Oscillator.
## Why we built our own indicator
Standard indicators tell you what *price* did. That''s useful, but by the time an RSI prints "overbought" the move is usually half-over. We wanted the opposite: an indicator that shows what *capital* is doing. Where is real money going long right now? Where is it flipping short? Which coin has three bots piling into the same side?
Because every input comes from actual filled orders — not opinions, not tweets, not backtests — the Radiant Indicator can''t be gamed. It moves when money moves.
## How it''s calculated
The oscillator combines two signals into one composite reading. Both live on the same -100 to +100 scale.
### 1. Market bias
For a given asset class (crypto or tokenized stocks) we take every trade in the last 30 days and compute:
`market = (longs − shorts) / (longs + shorts) × 100`
If 80 out of 100 trades were long, market bias = +60. If it''s an even 50/50 split, market = 0. Simple, but it captures the overall stance of the fleet.
### 2. Ticker conviction
For a specific coin or stock (say BTC or TSLA), we do the same math on trades in that symbol only — then scale by trade count so a symbol with 1 trade doesn''t scream as loud as one with 15:
`ticker = sign(longs − shorts) × min(1, trades / 5) × 100`
Five or more trades in a day = full strength. One trade = 20% strength. This stops thin data from producing fake signals.
### 3. Composite
The final oscillator value combines both:
- **Same sign** (market and ticker agree): we amplify — an aligned signal is the strongest kind. Formula: `sign × min(100, average × 1.35)`.
- **Opposite sign** (market says long, ticker says short): we dampen toward zero. Divergence is a warning, not a trade.
- **No ticker data**: market bias is halved so you don''t over-trust a general read on a specific symbol.
### Live overlay
The *last* point on every chart isn''t historical — it''s live. We pull currently open positions from every bot, compute the same market and ticker numbers on those, and paint them at the right edge. That''s why the meter you see updates every few seconds even when no trade has closed.
## How to read the meter
The composite reading maps to seven tones:
| Range | Tone | What it means |
|---|---|---|
| +70 to +100 | STRONG LONG | High conviction long, aligned across the fleet |
| +35 to +70 | LONG | Solid long bias |
| +12 to +35 | WEAK LONG | Leaning long, low conviction |
| -12 to +12 | NEUTRAL | No edge — sit on hands |
| -12 to -35 | WEAK SHORT | Leaning short, low conviction |
| -35 to -70 | SHORT | Solid short bias |
| -70 to -100 | STRONG SHORT | High conviction short, aligned across the fleet |
Two extra labels appear next to the meter:
- **ALIGNED** — market and ticker both non-neutral and pointing the same way. This is the signal you actually want.
- **DIVERGENT** — market and ticker disagree strongly. Sit out or wait for them to agree.
- **NEUTRAL** — one or both are weak. No trade.
## Where you''ll see it
The Radiant Indicator is embedded across the app:
- **Every coin page** — [/coins/btc](/coins/btc), [/coins/eth](/coins/eth), etc. Shows market + ticker + composite for that specific coin.
- **Every tokenized stock page** — [/stocks/tsla](/stocks/tsla), [/stocks/nvda](/stocks/nvda), and the rest.
- **The Live Trading dashboard** — [/live](/live). Shows the general market oscillator across the entire fleet.
- **Algorithm detail pages** — matched to the pair the bot trades.
You can flip the window between 7D, 30D and 90D to see whether the current stance is fresh or has been holding for weeks.
## What we account for — and what we don''t
We''re honest about the assumptions baked in:
- **Trading fees**: our win/loss stats behind the oscillator are computed net of exchange commission (0.1% per side on Binance/Bybit spot, 0.06% on futures). No fake gross returns.
- **Real fills only**: the oscillator only reads trades that actually filled on a real exchange. Nothing simulated, no paper trades.
- **Equal-weighted**: we don''t weight by position size. A $50 long and a $50,000 long count the same for the bias calculation. This is intentional — we care about *conviction breadth*, not who happened to bet biggest.
- **Time-decayed live**: the very last point uses currently-open positions. Older days are pure closed-trade history.
What the oscillator does **not** do: it doesn''t predict price, it doesn''t generate entry signals for you, and it isn''t financial advice. It''s a read on where our fleet is leaning. Use it as one input among several.
## Practical ways to use it
- **Confirmation, not trigger**: if you''re thinking about turning on a BTC long bot and the BTC oscillator reads +55 ALIGNED, that''s tailwind. If it reads -40, that''s the fleet telling you the trade is fighting the current.
- **Divergence scan**: browse a few coin pages and look for DIVERGENT labels — the market wants one direction, that specific symbol is doing the other. Often these resolve quickly and are worth a second look.
- **Regime check**: on the [Live Trading](/live) dashboard, watch the general market oscillator. Strong readings for days = trending regime. Bouncing around zero = chop, where mean-reverting bots outperform trend-following ones.
## FAQ
**Is the Radiant Oscillator the same as the Radiant Indicator?** Yes. Two names for the same tool. "Indicator" is what most traders call this class of visual; "oscillator" describes what it does mathematically (moves between two bounds).
**How often does it update?** The live overlay refreshes every 15 seconds. The historical daily buckets rebuild on every page load from the latest closed trades.
**Can I use it if I don''t have any bots running?** Absolutely — it''s a free read on the whole fleet. Every visitor sees the same numbers regardless of account status.
**What happens on brand new symbols with no history?** If a symbol has zero closed trades in the window, we render a flat baseline and only paint the live-position overlay. You''ll see it fill in as trades resolve.
**Does it work for stocks?** Yes. Tokenized stocks (TSLA, NVDA, GME, CRDO and the rest) have their own oscillator on the [/stocks](/stocks) pages, computed only from stock trades so crypto flow doesn''t leak in.
---
Curious to see it live? Open any coin — try [BTC](/coins/btc), [ETH](/coins/eth) or [SOL](/coins/sol) — and scroll to the "Radiant Oscillator" card. That number in the middle is the fleet, in real time.