Technical indicators
BitOrBear.com converts daily Bitcoin OHLCV data into indicators, then into a transparent Bull/Bear score. This page documents the inputs, formulas and scoring rules used by the site.
Current calculation inputs
These are the latest values used by BitOrBear.com to turn Bitcoin market data into today’s Bull/Bear score.
Read today’s Bitcoin analysisData inputs
The calculations use one daily BTC/USD candle per date. Each candle contains open, high, low, close and volume. Historical data is imported into the local database first; public pages do not call Yahoo Finance or Binance directly.
- Open: first traded price of the daily candle.
- High: highest price during the day.
- Low: lowest price during the day.
- Close: final price used for trend and momentum calculations.
- Volume: traded amount used to compare activity against the 20-day average.
Moving averages
Moving averages smooth daily noise and show whether price is above or below recent and long-term trend levels.
(close[day] + close[day-1] + ... + close[day-n+1]) / nBitOrBear.com calculates SMA 20, SMA 50, SMA 100 and SMA 200. The scoring rules mainly use SMA 20, SMA 50 and SMA 200.
- SMA 20: short-term trend reference.
- SMA 50: medium-term trend reference.
- SMA 200: long-term trend reference.
- Price above SMA: positive trend pressure.
- Price below SMA: negative trend pressure.
RSI 14
RSI measures recent momentum by comparing average gains and losses over 14 days. It is bounded between 0 and 100.
100 - (100 / (1 + average_gain_14 / average_loss_14))In the BitOrBear.com score, RSI adjusts the score when momentum is constructive or weak.
- 50 to 70: constructive momentum, adds 1 point.
- Below 45: weak momentum, subtracts 1 point.
- Above 70: not automatically bullish because it can indicate stretched conditions.
MACD 12/26/9
MACD compares a fast EMA with a slow EMA to estimate momentum shifts.
today_ema = ((close - previous_ema) * (2 / (period + 1))) + previous_emaEMA 12 - EMA 26EMA 9 of MACDThe score gives extra weight to MACD versus its signal line because it is the main momentum trigger in the current model.
- MACD above signal: momentum improving, adds 2 points.
- MACD below signal: momentum weakening, subtracts 2 points.
Bollinger Bands 20/2
Bollinger Bands show where price trades relative to a 20-day average and recent volatility.
SMA 20SMA 20 +/- (2 * standard_deviation_20)They adjust the score when price closes outside the lower or upper band because this can mark stretched conditions.
ATR 14 and volatility
ATR estimates the average daily trading range over 14 days. It uses true range, which accounts for gaps between the previous close and the current high/low.
max(high - low, abs(high - previous_close), abs(low - previous_close))average true range over 14 daysBitOrBear.com labels volatility as high when ATR divided by close is above 6%. Otherwise, volatility is labelled normal.
Bull/Bear scoring rules
The score starts at 0. Model v2 gives more weight to momentum turning points and uses RSI, Bollinger Bands and the 50-day average as mean-reversion context. The final score is capped between -5 and +5 before being shown publicly.
| Rule | Condition | Points |
|---|---|---|
| MACD momentum | MACD above signal line | +2 |
| MACD momentum | MACD below signal line | -2 |
| Mean-reversion context | Close below SMA 50 | +1 |
| Mean-reversion context | Close above SMA 50 | -1 |
| RSI stretch | RSI below 45 | +1 |
| RSI stretch | RSI above 60 | -1 |
| Bollinger stretch | Close below lower band | +1 |
| Bollinger stretch | Close above upper band | -1 |
Interpretation limits
The score is a statistical reading, not a prediction certainty. Neutral means the system does not see enough alignment between momentum and context.
- The model uses daily candles, so it does not react to intraday moves until data is imported again.
- Some indicators are unavailable at the beginning of an asset history.
- Signals describe market bias. They do not mean buy, sell or hold.
- Always verify market data independently before making any financial decision.