Skip to main content

Mercury TA Service Critique

· 4 min read
Max Kaido
Architect

During E2E testing of our market analysis system, we discovered several areas for improvement in the Mercury TA service. This document outlines the initial findings and will be updated with more detailed critique points.

Initial Findings

  1. Timeframe Handling

    • Weekly timeframe analysis attempts for newer tokens
    • Insufficient historical data validation
    • Potential issues with indicator calculation on longer timeframes
  2. API Response

    • 500 errors on certain requests
    • Need better error handling and feedback

More details to be added based on the comprehensive critique...

Below are some specific and peculiar red flags or contradictions in the provided TA data, broken down by indicator inconsistencies, contradictory signals, and numerical outliers. These issues don’t necessarily invalidate the entire dataset but warrant a closer look to confirm whether the data or the downstream “signal” labels are correct.


1. Contradictory or Confusing Summary Signals

A. Oversold RSI but “Bearish” Summary

  • BRAWLUSDT (4h):
    • RSI = 29.17 ⇒ flagged as oversold (“is_oversold = true,” plus “signal = buy”)
    • Overall summary = “bearish” with confidence ~0.14.
    • The text “bearish” plus a “buy” RSI oversold signal conflict: either the summary should weigh oversold RSI more strongly, or the RSI “buy” label might be incomplete if other indicators dominate.

B. “Sell” vs. “Buy” Contradictions in the Same Summary

  • Several coins (e.g., KMONUSDT, DICEUSDT, MNTUSDT) show the summary “bearish,” but also list partial “buy” signals for ADX or volume within the same timeframe. This is normal if one indicator is overshadowed by others; however, the summary text often reads “bearish” (or “bullish”) even when the reported “confidence” is minimal or contradictory.
    • Example: KMONUSDT (1d) → summary says “sentiment = bearish,” but ADX is “strong, signal=buy.” The summary lumps them as “Sell signal from KMONUSDT (0.00), Buy signal from KMONUSDT (0.15), Sell signal from KMONUSDT (0.79).” The weighting is unclear.

C. Extremely High “confidence” Values for BTC

  • For BTCUSDT, the “confidence” or the numeric references in the summary signals can be huge (e.g., 954.76, 1370.20, 191.22, 274.14). No other market has confidence numbers anywhere near that scale.
  • Possibly the MACD differences on BTC are large simply because price is in the tens of thousands. But the summary lumps it in as if it is a direct “confidence” metric, which confuses the scale (others are near 0.1–0.9 or single digits).

2. Unusual Bollinger Band Readings

A. Discrepancy in “distance_to_upper/lower” vs. “is_above_upper”

  • BTCUSDT (1d) says:
    • Bollinger upper ~104235.18, middle ~97166.93, lower ~90098.68
    • “distance_to_upper” is ~0.000596..., “distance_to_lower” ~1.000596..., and “is_above_upper = true.”
    • If the distance to upper is indeed 0.000596 (meaning 0.06%), that’s suspiciously close for a statement of “is_above_upper = true.” Possibly the price is only fractionally above the band.
    • Meanwhile, the summary calls this a “sell” because price above upper band is often overbought. Yet the overall sentiment is “bullish” with extremely high confidence. This combination can be correct, but it’s contradictory from a typical Bollinger usage standpoint.

B. Potential Flip in “Upper vs. Lower” Distances

  • Several coins (e.g., NEIROCTOUSDT (4h), “distance_to_upper = 1.009618..., distance_to_lower = 0.009618...”), read as if price is extremely close to the lower band but the numeric ratio is ~1:0.01. Possibly that is correct (the scale is small), but it looks odd: being near or below the lower band typically signals an oversold condition, yet the summary is “bearish.”

3. MACD Values Are Extremely Large (Particularly for BTC)

  • BTCUSDT 4h: MACD ~1994, signal ~1892, hist ~101.82 → plausible because BTC’s absolute price is huge. However, the summary lumps that 101.82 in with “Buy signal from BTCUSDT (101.82).”
  • Similarly, on the daily, MACD ~1239, signal ~284, hist ~954.8.
    • These raw values are correct if the system calculates MACD in “price” terms (rather than normalized). But the TA “confidence” or “signal strength” lumps it in as if it’s an amplitude on the same scale as other coins. This can produce enormous “confidence” or overshadow other signals.

4. Missing or Null Data

  • A few pairs have entire timeframes with no data (e.g., DASHUSDT (4h), NEIROCTOUSDT (1d and 1w), AARKUSDT (1w)). That by itself is not “wrong,” but if the logic or the final summary references a missing timeframe, it becomes suspect.
  • For “DASHUSDT (1d),” volume = 0 for the day is questionable (should be extremely unlikely for a large market like DASH), but the data says “volume: 0, volume_sma: 1.0283.” Possibly an error in data feed or an API glitch.

5. Ichimoku “Cloud Breakout = true” with Contradictory Summary

  • Many coins list “cloud_breakout = true” in Ichimoku (suggesting a bullish breakout above the cloud), yet the final summary says “bearish.”
    • Example: VELARUSDT (4h) → “ichimoku.cloud_breakout = true,” typically bullish, but summary says “sentiment = bearish.”
    • Could be correct if other indicators strongly overshadow Ichimoku, but it’s unusual to label it “breakout” while the summary remains firmly negative.

6. Volume “High/Low” vs. “Signal = buy/sell”

  • In many places, volume is flagged “is_high_volume = true” but “signal = sell,” or vice versa. This can happen if the reference is to OBV slope vs. an absolute threshold. Nonetheless, it’s confusing that the data notes a “high volume” day but a “sell” signal from volume. Possibly the logic is that “spike in distribution = high volume sell,” but it’s not made explicit.

Conclusion

  1. Summary vs. Indicator Mismatch: The biggest recurring issue is that the final “sentiment” or “confidence” field often collides with indicator flags. For instance, RSI or Ichimoku might be bullish, while ADX or volume flags are “sell,” and the system lumps them into “bearish with confidence 0.1.” The textual label doesn’t always reflect the aggregated signals in an intuitive way.

  2. Numeric Outliers: BTC’s large MACD readings and “confidence” numbers overshadow everything else, making the aggregated logic appear skewed if the system lumps them all onto the same scale.

  3. Missing or Zero Volume: Some daily timeframes (like DASHUSDT) show zero volume, which is almost certainly a data glitch.

  4. Bollinger “distance” vs. “above/below”: The distance metrics occasionally look flipped or extremely small, raising suspicion about the scale or how it’s being reported.


Bottom Line

It appears the raw indicator calculations might be correct on a per‐coin basis (especially for smaller altcoins with extremely small or extremely large denominators), but the aggregated logic that produces final “buy” or “sell” signals and “confidence” often shows contradictions. This can confuse a user who expects consistent synergy among RSI oversold, Bollinger breakouts, Ichimoku “cloud_breakout,” and final “bearish” or “bullish” calls.

If these contradictions are intended (the system weighting certain indicators more heavily than others), it would help to clarify or normalize the scales. If not, then these red flags likely represent data feed anomalies or incomplete weighting logic in the final “summary.”

And one more comment from Max: there too much digits in the summary that distract from the actual signal.