In This Article
- The problem I was trying to solve
- Why these five indicators, not others
- The weighting system — exact numbers and reasoning
- How the 0–10 score is actually calculated
- Why the regime filter gates everything
- Why Fear & Greed is used as a contrarian, not directional
- What I built wrong first
- What this tool will not tell you
- How to actually use it
The problem I was trying to solve
Before building this, my pre-trade process was embarrassing. I'd have five browser tabs open — TradingView for the EMA200, a Fear & Greed bookmark, my own BTC Bias dashboard in another tab, a multi-timeframe EMA checker, and some risk score page I'd built months earlier. None of them talked to each other. All of them updated at different times. Half the time I'd look at them and get three bullish signals and two bearish ones and have no framework for what that actually meant.
The result was what I'd call "indicator paralysis" — I'd spend 20 minutes reading signals and still end up making a gut call anyway. The signals weren't adding structure to my decision-making; they were adding noise to it.
What I needed was one number. Not because one number captures everything, but because forcing five indicators into a single score forces you to decide in advance what each one is worth. That pre-commitment is where the real value is — not in the score itself, but in having thought through the weighting before you're looking at a chart with a position you want to take.
Why these five indicators, not others
I looked at a longer list before settling on these. Volume profile, open interest, funding rates standalone, on-chain metrics, liquidation heatmaps. I cut everything that either required paid data, updated too slowly for the dashboard's 60-second refresh cycle, or gave me information that was already captured by something else I was keeping.
The five I kept each answer a different question in the trading decision:
- Regime Filter — is the macro structure even worth trading long right now?
- Risk Score — what size should I be considering?
- BTC Bias — what are derivatives markets actually telling me about short-term pressure?
- MTF Signal — are the EMAs on my actual trading timeframes aligned?
- Fear & Greed — is sentiment at an extreme that contradicts the directional signals?
Each one is genuinely independent in terms of its data source and what it measures. That matters — if you aggregate five indicators that all derive from the same underlying price action, you haven't diversified your signal, you've just counted the same thing five times.
The weighting system — exact numbers and reasoning
These are the actual weights hardcoded in the tool. I'm publishing them here because the score means nothing if you don't know how it's composed.
| Indicator | Weight | Why this number |
|---|---|---|
| Regime Filter 4H + 1D EMA200 position & slope |
3.0 | The single most reliable filter I've found for avoiding catastrophic long trades in bear markets. When price is below the 200 EMA on both 4H and daily and the slopes are falling, longs become a statistical disadvantage regardless of what short-term signals say. It gets the highest weight because being wrong on regime is expensive. Being wrong on sentiment is cheap. |
| Risk Score EMA20/50 trend + 7-day momentum + volatility |
2.5 | This tells me whether I should be at full size or reduced size, which compounds directly into P&L. A trade taken in a RISK-OFF environment that still works costs you less than the same trade at full size in the same environment. I gave it the second-highest weight because position sizing decisions affect every trade I take. |
| BTC Bias Leverage · price structure · demand · momentum |
2.0 | This is the indicator I built from scratch using Binance derivatives data — spot CVD vs futures CVD, funding rates, open interest direction, liquidation proximity. It's the most complex to build but the most actionable for short-term entries. It gets 2.0 rather than 2.5 because it's noisier on longer timeframes and I don't want it overriding the risk score. |
| MTF Signal EMA alignment across 30m, 1H, 4H, 1D, 1W |
1.5 | Multi-timeframe EMA alignment is the execution confirmation layer. It tells me whether the timeframes I'm actually trading on are pointing in the same direction. I gave it less weight than BTC Bias because EMA signals lag — they confirm a trend rather than anticipate it — and I'd rather have the derivatives-based signal weighted higher when they conflict. |
| Fear & Greed Alternative.me sentiment index |
1.0 | The lowest weight for a specific reason: sentiment alone has no timing precision. Fear can persist for months. Greed can persist for longer. I include it as a modifier — a high greed reading should make me cautious about size, not skip a trade entirely. It's there to flag extremes, not drive decisions. |
The weights sum to 10, which makes the maths clean for the displayed score. That was a deliberate choice — I wanted the score to be interpretable at a glance without needing to do division in your head.
How the 0–10 score is actually calculated
Each indicator returns a normalised score between -1 (fully bearish) and +1 (fully bullish). Fractional values are used for ambiguous conditions — for example, the regime filter returns +0.5 for "above EMA200 but slopes flattening" rather than forcing a binary call.
weighted_sum = (regime × 3.0) + (risk × 2.5) + (bias × 2.0) + (mtf × 1.5) + (fg × 1.0)
// Max possible: 1.0 × (3.0 + 2.5 + 2.0 + 1.5 + 1.0) = +10.0
// Min possible: -1.0 × 10.0 = -10.0
display_score = 5 + (weighted_sum / 2)
// Result is always 0–10, centred at 5 (neutral)
A score of 5.0 means the indicators are balanced — not a signal to trade in either direction. Here's how to read the bands:
Short conditions
Caution / No trade
Long conditions
I deliberately made the caution band wide. A score of 5.4 is not a buy signal — it means the indicators are too mixed to have an edge. Most of the trades I've regretted came from forcing entries in the 4.5–5.9 range because I wanted to be in a move.
Why the regime filter gates everything
The regime filter doesn't just contribute its weight to the score — it hard-blocks certain strategy permissions when bearish. This is the design decision I'm most confident in and the one I get the most questions about.
The regime check is: is Bitcoin price above the EMA200 on both the 4-hour and the daily chart, and are those EMA200 lines sloping upward? The slope check uses a 5-bar lookback — if the EMA200 today is lower than it was 5 bars ago, the slope is considered falling even if price is technically still above it.
Bull Structure (score +1.0): Price above EMA200 on both 4H and 1D. Both slopes rising.
Weak Bull (score +0.5): Price above EMA200 on both, but one or both slopes are flattening.
Misaligned (score −0.5): 4H and 1D disagree — price above on one, below on the other. Chop risk is high.
Bear Structure (score −1.0): Price below EMA200 on both 4H and 1D.
The reason I check both timeframes rather than just the daily is that the 4H EMA200 breaks first. In every significant BTC correction I've traded through, the 4H EMA200 lost its upward slope and then price crossed below it before the daily showed the same picture. Using only the daily means you're already down 10-15% by the time the signal fires. Using both together gives earlier warning without the false signals you'd get from using only the 4H.
Why Fear & Greed is used as a contrarian, not directional
Most dashboards treat Fear & Greed as directional — high greed means bullish sentiment, low fear means confidence, so treat it as a buy signal. I think that's backwards for how it actually behaves in price action.
When I look at BTC chart history against Fear & Greed readings, the highest-conviction long setups I've found tend to appear when fear is extreme — when most participants have already sold, capitulation has occurred, and the market is thin on sell-side liquidity. Extreme greed, on the other hand, tends to appear when most participants are already long and there are fewer buyers left to push price higher.
So the tool treats it as a contrarian modifier with asymmetric sizing:
- Extreme Fear (0–20): Contrarian bullish lean → +0.5
- Fear (21–40): Mild positive lean → +0.2
- Neutral (41–60): No edge → 0.0
- Greed (61–80): Mild caution → −0.3
- Extreme Greed (81–100): Size down → −0.6
Notice the extreme fear score (+0.5) is weaker than the extreme greed penalty (−0.6). That's intentional. Catching falling knives in fear conditions is still dangerous — the contrarian signal just says the odds are shifting, not that it's safe. But staying in a trade when everyone else is also long and celebrating is more reliably dangerous than the reverse.
What I built wrong first
The first version of the BTC Bias component had an override system. If the bias reading was sufficiently extreme, it would override the regime filter — essentially saying "yes the structure is bearish but the short-term derivatives signal is so bullish that I'm unlocking longs anyway." I tested it for several weeks and removed it entirely.
The problem was that it fired most often in bear market relief rallies — exactly the conditions where you most want the regime filter in place. The BTC Bias would go strongly bullish during a dead-cat bounce, the override would fire, and the tool would give long permission in a bear market. Which is precisely the scenario the regime filter exists to prevent.
What I learned: when a safety net fires most often in dangerous conditions, that's a sign it's working correctly — not a sign the safety net needs to be overridden.
The simpler version — no overrides, regime gates everything — has been more reliable in practice. Complexity in a risk management system usually costs you more than it saves you.
What this tool will not tell you
I want to be direct about this because it matters more than anything else on this page.
It will not tell you when to enter. A score of 7.5 means conditions are broadly supportive of longs. It doesn't mean enter right now at market. You still need a setup — a level, a structure, a trigger. The aggregator is a conditions filter, not an entry signal.
It will not catch sudden macro events. The Binance API data refreshes on a 60-second cycle. If a CPI print, ETF news, or a major liquidation cascade happens, the tool will lag the market by 60 seconds to several minutes. In those minutes, price can move 3–5%. Don't use this as a news reaction tool.
It doesn't know your timeframe. A score of 6.2 looks the same whether you're a 30-minute scalper or a weekly swing trader. The conditions it measures operate on different timescales for different strategies. A daily trader might find the MTF signal too noisy; a swing trader might find the 30-minute component irrelevant.
It will not protect you from yourself. The most common way I've seen people misuse this tool is using a 6.1 score to justify a trade they already wanted to take. The aggregator isn't smarter than a determined bias. If you've already decided you want to be long, you will find a way to interpret a 5.8 as close enough. Be honest about which direction the decision is flowing.
How to actually use it
The workflow I use before every significant trade:
- Check the regime first. If it's BEAR STRUCTURE, I close the tab. No long setups, regardless of what else the chart shows.
- Look at the risk score. RISK-ON means full size is available. NEUTRAL means I'm at 50–60% of normal size. RISK-OFF means I'm at 30% or skipping entirely.
- Read the combined score. Below 4.0 means I only consider short setups. 4.0–6.0 means I'm watching but not entering. Above 6.0 means long setups are in play.
- Check the strategy permissions table. This translates the score into explicit permissions — scalp long allowed, swing long caution, etc. It's a sanity check against my own wishful thinking.
- Then go find the setup. The tool has told me whether conditions support trading. TradingView and my own analysis tell me where.
One thing worth knowing about the refresh cycle: the tool auto-refreshes every 60 seconds, but the indicators don't all update at the same frequency. Fear & Greed updates once per day. The EMA200 regime on the daily timeframe only changes meaningfully over days to weeks. Don't mistake frequent refreshes for frequent new information — most refreshes will show the same readings as the last one.
Use the Live Tool
The BTC Signal Aggregator is free, requires no sign-up, and pulls live data from Binance and Alternative.me every 60 seconds.
Open Signal Aggregator →Related Tools & Reading
- BTC Bias Dashboard — the standalone version of the bias indicator used in the aggregator
- Multi-Timeframe Strategy Dashboard — the expanded MTF tool with more timeframe detail
- Trading Calculator — position sizing once the aggregator gives you the go-ahead
- How to Read Open Interest — background on the derivatives data feeding the BTC Bias component
- Funding Rates Explained — the other side of the derivatives picture