ARB recommendation review
Small BUY favored: bullish moving-average structure and deeply oversold RSI outweigh the weak short-term momentum, so a conservative starter position is reasonable.
Latest market candle is 60m old, above the 30 minute threshold.
ActionBUY
Confidence67%
Market regimebullish
Composite score0.45
Data age60m
Manual approval path
needs reviewTrade ticketARBUSDTSideBUYSuggested quantity1273.88535032Reference price$0.0785
Risk validation rejected this recommendation. Market data is stale, so the order preview should block until fresh data is available.
Risk validation
rejected| Rule | Severity | Reason |
|---|---|---|
| stale_market_data | block | Market data is 1963s old; limit is 1800s. |
Provider visibility
primary dataConfiguredcoinbaseActual latestcoinbaseLatest candleJul 05, 03:00 PM GMT+2StatussuccessLatency171 msLast eventJul 05, 03:38 PM GMT+2Last successJul 05, 03:00 PM GMT+2ErrorNoneProvider countscoinbase: 203
Latest price data
Jul 05, 03:00 PM GMT+2| Open | $0.0789 |
| High | $0.0789 |
| Low | $0.0785 |
| Close | $0.0785 |
| Volume | 39,978.83 |
Recommendation metadata
Jul 05, 09:32 AM GMT+2Risk score34%Time horizonshort_termSuggested size+4.00%Statusrejected_by_risk
Risk score is the AI/model downside-risk estimate where lower is safer. Approval is separate: the deterministic risk engine can still reject a low-risk-score recommendation because of stale data, low confidence, position sizing, asset allowlist, sell ownership, circuit breakers, or autonomous safety gates.
Indicators
Jul 05, 03:00 PM GMT+2| timestamp | 2026-07-05T13:00:00+00:00 |
| latest_price | 0.0789 |
| change_24h_pct | -1.12782 |
| change_7d_pct | 7.055631 |
| volatility_pct | 0.617215 |
| trend | downtrend |
| sma_fast | 0.07926 |
| sma_slow | 0.07981 |
| rsi | 38 |
| macd | -0.00041 |
| macd_signal | -0.000389 |
| max_drawdown_pct | 4.895961 |
| momentum_pct | -1.498127 |
Deterministic signals
5 signalsmoving_average_crossover:bullish:0.65rsi_mean_reversion:bullish:0.70market_regime:bullish:trend=0.55:volatility=0.07composite_score:0.45action_bias:BUY
Scoring explanation
composite_v3_weighted| Signal | Contribution | Weight | Direction | Strength | Reason |
|---|---|---|---|---|---|
| moving_average_crossover | +0.3202 | 1.00x | bullish | 0.65 | Fast SMA is above slow SMA. |
| rsi_mean_reversion | +0.3448 | 1.00x | bullish | 0.7 | RSI is near oversold. |
| momentum_breakout | -0.3350 | 1.00x | bearish | 0.68 | Negative short-term momentum. |
| market_regime | +0.1375 | 1.00x | bullish | 0.55 | Regime trend score adjusts the directional score. |
| volatility | -0.0076 | 1.00x | risk_penalty | 0.0673 | Higher realized volatility reduces conviction. |
| drawdown | -0.0140 | 1.00x | risk_penalty | 4.6632 | Larger recent drawdowns reduce the composite score. |
Recommendation history
25 recent decisions| Created | Action | Confidence | Risk | Price | Status | Summary |
|---|---|---|---|---|---|---|
| Jul 05, 09:32 AM GMT+2 | BUY | 67% | 34% | $0.0781 | rejected_by_risk | Small BUY favored: bullish moving-average structure and deeply oversold RSI outweigh the weak short-term momentum, so a conservative starter position is reasonable. |
| Jul 05, 09:26 AM GMT+2 | BUY | 67% | 34% | $0.0781 | approved_by_risk | Modest BUY on ARB for a short-term mean-reversion setup in a bullish regime, but keep size conservative because momentum remains negative and signals are mixed. |
| Jul 05, 09:20 AM GMT+2 | WAIT | 58% | 54% | $0.0781 | approved_by_risk | ARB has a mildly bullish regime but conflicting momentum and only moderate composite strength, so the prudent choice is to wait for confirmation before entering. |
| Jul 05, 09:14 AM GMT+2 | WAIT | 56% | 53% | $0.0781 | approved_by_risk | Mixed signals on ARB favor patience over entry: bullish trend and oversold RSI are offset by negative momentum, so wait for confirmation before buying. |
| Jul 05, 09:08 AM GMT+2 | WAIT | 58% | 47% | $0.0781 | rejected_by_risk | Mixed ARB signals do not justify a new position yet; wait for momentum confirmation before considering a buy. |
| Jul 05, 09:02 AM GMT+2 | BUY | 66% | 34% | $0.0781 | rejected_by_risk | ARB shows a modest short-term buy setup: bullish trend and oversold RSI outweigh weak momentum, so a small, cautious BUY is appropriate. |
| Jul 05, 08:56 AM GMT+2 | BUY | 72% | 31% | $0.0782 | rejected_by_risk | Bullish setup with an oversold pullback and supportive trend signals; take a conservative starter BUY rather than a full-size entry. |
| Jul 05, 08:50 AM GMT+2 | BUY | 78% | 39% | $0.0782 | rejected_by_risk | ARB shows a modestly bullish short-term setup with oversold conditions and a positive composite score, so a conservative starter BUY is warranted. |
| Jul 05, 08:45 AM GMT+2 | HOLD | 61% | 49% | $0.0781 | rejected_by_risk | Hold ARB for now: the trend and oversold reading are supportive, but negative short-term momentum and only moderate composite conviction argue against adding size today. |
| Jul 05, 08:39 AM GMT+2 | HOLD | 58% | 44% | $0.0781 | rejected_by_risk | Mixed but slightly constructive ARB setup; hold existing exposure, but do not add until momentum confirms the bullish trend. |
| Jul 05, 08:33 AM GMT+2 | BUY | 82% | 34% | $0.0782 | rejected_by_risk | ARB shows a bullish setup with an oversold RSI pullback inside an uptrend, so a cautious short-term BUY is justified with modest sizing and tight risk controls. |
| Jul 05, 08:21 AM GMT+2 | WAIT | 61% | 48% | $0.078 | approved_by_risk | Mixed signals on ARB make this a wait-and-see setup: oversold conditions support a rebound, but bearish short-term momentum and only moderate composite strength argue against entering now. |
| Jul 05, 08:09 AM GMT+2 | BUY | 67% | 34% | $0.0781 | approved_by_risk | Buy ARB cautiously for a small short-term position: trend and oversold signals support entry, but negative momentum keeps conviction moderate. |
| Jul 05, 08:03 AM GMT+2 | WAIT | 58% | 52% | $0.0782 | rejected_by_risk | Mixed signals do not justify a new ARB position yet; wait for momentum to confirm the bullish setup before acting. |
| Jul 05, 07:57 AM GMT+2 | BUY | 68% | 43% | $0.0783 | rejected_by_risk | Small BUY on ARB: the trend and oversold RSI support a tactical long, but negative momentum and mixed signals keep conviction moderate and sizing conservative. |
| Jul 05, 07:51 AM GMT+2 | BUY | 67% | 32% | $0.0782 | rejected_by_risk | Cautious short-term BUY on ARB: the oversold RSI and bullish moving-average structure outweigh the weak momentum, so a small position is justified with tight risk controls. |
| Jul 05, 07:45 AM GMT+2 | WAIT | 61% | 47% | $0.078 | rejected_by_risk | Mixed technicals and only moderate composite strength make ARB a watchlist candidate rather than a fresh buy right now. |
| Jul 05, 07:10 AM GMT+2 | BUY | 74% | 31% | $0.0784 | rejected_by_risk | ARB shows a modestly favorable short-term setup with a bullish trend bias, acceptable risk, and enough cash in the portfolio to justify a conservative starter BUY. |
| Jul 05, 07:04 AM GMT+2 | BUY | 78% | 31% | $0.0785 | rejected_by_risk | ARB shows a modestly strong bullish setup with acceptable risk, so a smaller BUY is justified for short-term participation. |
| Jul 05, 06:59 AM GMT+2 | BUY | 73% | 34% | $0.0786 | rejected_by_risk | ARB shows a modest bullish setup with controlled risk, so a small short-term BUY is reasonable rather than a larger commitment. |
| Jul 05, 06:53 AM GMT+2 | BUY | 77% | 30% | $0.0786 | rejected_by_risk | ARB shows a modest bullish setup with supportive trend signals, so a conservative short-term BUY is reasonable, sized below the model hint due to mixed momentum and modest risk. |
| Jul 05, 06:47 AM GMT+2 | BUY | 77% | 31% | $0.0787 | rejected_by_risk | ARB shows a modest bullish setup with a favorable trend regime and deterministic BUY bias, so a small short-term entry is reasonable with tight risk controls. |
| Jul 05, 06:41 AM GMT+2 | BUY | 77% | 29% | $0.0787 | rejected_by_risk | ARB shows a bullish but not strong setup; a conservative starter BUY is justified with tight risk controls and close monitoring. |
| Jul 05, 06:35 AM GMT+2 | BUY | 76% | 31% | $0.0786 | rejected_by_risk | Bullish trend and composite score support a cautious short-term BUY in ARB, but size should remain modest due to mixed momentum and only moderate conviction. |
| Jul 05, 06:30 AM GMT+2 | BUY | 72% | 34% | $0.0784 | rejected_by_risk | ARB shows a modest but usable bullish setup with fresh data, a positive composite score, and an aligned trend regime, so a conservative starter BUY is reasonable. |
Outcome history
50 tracked recommendations| Recommended | Action | Entry | Later price | Move | Result |
|---|---|---|---|---|---|
| Jul 05, 09:32 AM GMT+2 | BUY | $0.0781 | $0.0785 | +0.51% | favorable |
| Jul 05, 09:26 AM GMT+2 | BUY | $0.0781 | $0.0785 | +0.51% | favorable |
| Jul 05, 09:20 AM GMT+2 | WAIT | $0.0781 | $0.0785 | +0.51% | observed |
| Jul 05, 09:14 AM GMT+2 | WAIT | $0.0781 | $0.0785 | +0.51% | observed |
| Jul 05, 09:08 AM GMT+2 | WAIT | $0.0781 | $0.0785 | +0.51% | observed |
| Jul 05, 09:02 AM GMT+2 | BUY | $0.0781 | $0.0785 | +0.51% | favorable |
| Jul 05, 08:56 AM GMT+2 | BUY | $0.0782 | $0.0785 | +0.38% | favorable |
| Jul 05, 08:50 AM GMT+2 | BUY | $0.0782 | $0.0785 | +0.38% | favorable |
| Jul 05, 08:45 AM GMT+2 | HOLD | $0.0781 | $0.0785 | +0.51% | observed |
| Jul 05, 08:39 AM GMT+2 | HOLD | $0.0781 | $0.0785 | +0.51% | observed |
| Jul 05, 08:33 AM GMT+2 | BUY | $0.0782 | $0.0785 | +0.38% | favorable |
| Jul 05, 08:21 AM GMT+2 | WAIT | $0.078 | $0.0785 | +0.64% | observed |
| Jul 05, 08:09 AM GMT+2 | BUY | $0.0781 | $0.0785 | +0.51% | favorable |
| Jul 05, 08:03 AM GMT+2 | WAIT | $0.0782 | $0.0785 | +0.38% | observed |
| Jul 05, 07:57 AM GMT+2 | BUY | $0.0783 | $0.0785 | +0.26% | favorable |
| Jul 05, 07:51 AM GMT+2 | BUY | $0.0782 | $0.0785 | +0.38% | favorable |
| Jul 05, 07:45 AM GMT+2 | WAIT | $0.078 | $0.0785 | +0.64% | observed |
| Jul 05, 07:10 AM GMT+2 | BUY | $0.0784 | $0.0785 | +0.13% | neutral |
| Jul 05, 07:04 AM GMT+2 | BUY | $0.0785 | $0.0785 | +0.00% | neutral |
| Jul 05, 06:59 AM GMT+2 | BUY | $0.0786 | $0.0785 | -0.13% | neutral |
| Jul 05, 06:53 AM GMT+2 | BUY | $0.0786 | $0.0785 | -0.13% | neutral |
| Jul 05, 06:47 AM GMT+2 | BUY | $0.0787 | $0.0785 | -0.25% | adverse |
| Jul 05, 06:41 AM GMT+2 | BUY | $0.0787 | $0.0785 | -0.25% | adverse |
| Jul 05, 06:35 AM GMT+2 | BUY | $0.0786 | $0.0785 | -0.13% | neutral |
| Jul 05, 06:30 AM GMT+2 | BUY | $0.0784 | $0.0785 | +0.13% | neutral |
| Jul 05, 06:24 AM GMT+2 | BUY | $0.0784 | $0.0785 | +0.13% | neutral |
| Jul 05, 06:12 AM GMT+2 | BUY | $0.0783 | $0.0785 | +0.26% | favorable |
| Jul 05, 06:06 AM GMT+2 | BUY | $0.0783 | $0.0785 | +0.26% | favorable |
| Jul 05, 06:01 AM GMT+2 | BUY | $0.0783 | $0.0785 | +0.26% | favorable |
| Jul 05, 05:55 AM GMT+2 | BUY | $0.0784 | $0.0785 | +0.13% | neutral |
| Jul 05, 05:49 AM GMT+2 | BUY | $0.0784 | $0.0785 | +0.13% | neutral |
| Jul 05, 05:43 AM GMT+2 | BUY | $0.0785 | $0.0785 | +0.00% | neutral |
| Jul 05, 05:37 AM GMT+2 | BUY | $0.0783 | $0.0785 | +0.26% | favorable |
| Jul 05, 05:32 AM GMT+2 | BUY | $0.0785 | $0.0785 | +0.00% | neutral |
| Jul 05, 05:26 AM GMT+2 | BUY | $0.0785 | $0.0785 | +0.00% | neutral |
| Jul 05, 05:20 AM GMT+2 | BUY | $0.0788 | $0.0785 | -0.38% | adverse |
| Jul 05, 05:15 AM GMT+2 | BUY | $0.0788 | $0.0785 | -0.38% | adverse |
| Jul 05, 05:09 AM GMT+2 | BUY | $0.0788 | $0.0785 | -0.38% | adverse |
| Jul 05, 05:03 AM GMT+2 | BUY | $0.0787 | $0.0785 | -0.25% | adverse |
| Jul 05, 04:57 AM GMT+2 | BUY | $0.0785 | $0.0785 | +0.00% | neutral |
| Jul 05, 04:52 AM GMT+2 | BUY | $0.0786 | $0.0785 | -0.13% | neutral |
| Jul 05, 04:46 AM GMT+2 | BUY | $0.0785 | $0.0785 | +0.00% | neutral |
| Jul 05, 04:40 AM GMT+2 | BUY | $0.0787 | $0.0785 | -0.25% | adverse |
| Jul 05, 04:35 AM GMT+2 | BUY | $0.0787 | $0.0785 | -0.25% | adverse |
| Jul 05, 04:29 AM GMT+2 | BUY | $0.0787 | $0.0785 | -0.25% | adverse |
| Jul 05, 04:23 AM GMT+2 | BUY | $0.0789 | $0.0785 | -0.51% | adverse |
| Jul 05, 04:18 AM GMT+2 | BUY | $0.0787 | $0.0785 | -0.25% | adverse |
| Jul 05, 04:12 AM GMT+2 | BUY | $0.0793 | $0.0785 | -1.01% | adverse |
| Jul 05, 04:06 AM GMT+2 | BUY | $0.0794 | $0.0785 | -1.13% | adverse |
| Jul 05, 04:01 AM GMT+2 | BUY | $0.0796 | $0.0785 | -1.38% | adverse |
Backtest comparison
180 candles| Strategy | Status | Total return | Buy/hold | Trades | Exposure | Alignment |
|---|---|---|---|---|---|---|
| moving_average_crossover | succeeded | +0.33% | +7.19% | 4 | +85.71% | supports |
| rsi_mean_reversion | succeeded | +0.31% | +7.19% | 3 | +32.77% | supports |
| momentum_breakout | succeeded | +0.16% | +7.19% | 2 | +84.03% | supports |
Audit trail
50 relevant events| Created | Event | Actor | Entity |
|---|---|---|---|
| Jul 05, 09:32 AM GMT+2 | recommendation.created | system | recommendation:986 |
| Jul 05, 09:26 AM GMT+2 | recommendation.created | system | recommendation:978 |
| Jul 05, 09:20 AM GMT+2 | recommendation.created | system | recommendation:970 |
| Jul 05, 09:14 AM GMT+2 | recommendation.created | system | recommendation:963 |
| Jul 05, 09:08 AM GMT+2 | recommendation.created | system | recommendation:955 |
| Jul 05, 09:02 AM GMT+2 | recommendation.created | system | recommendation:948 |
| Jul 05, 08:56 AM GMT+2 | recommendation.created | system | recommendation:935 |
| Jul 05, 08:50 AM GMT+2 | recommendation.created | system | recommendation:927 |
| Jul 05, 08:45 AM GMT+2 | recommendation.created | system | recommendation:924 |
| Jul 05, 08:39 AM GMT+2 | recommendation.created | system | recommendation:916 |
| Jul 05, 08:33 AM GMT+2 | recommendation.created | system | recommendation:903 |
| Jul 05, 08:21 AM GMT+2 | recommendation.created | system | recommendation:892 |
| Jul 05, 08:09 AM GMT+2 | recommendation.created | system | recommendation:876 |
| Jul 05, 08:03 AM GMT+2 | recommendation.created | system | recommendation:868 |
| Jul 05, 07:57 AM GMT+2 | recommendation.created | system | recommendation:860 |
| Jul 05, 07:51 AM GMT+2 | recommendation.created | system | recommendation:852 |
| Jul 05, 07:45 AM GMT+2 | recommendation.created | system | recommendation:844 |
| Jul 05, 07:10 AM GMT+2 | recommendation.created | system | recommendation:787 |
| Jul 05, 07:04 AM GMT+2 | recommendation.created | system | recommendation:777 |
| Jul 05, 06:59 AM GMT+2 | recommendation.created | system | recommendation:771 |
| Jul 05, 06:53 AM GMT+2 | recommendation.created | system | recommendation:762 |
| Jul 05, 06:47 AM GMT+2 | recommendation.created | system | recommendation:753 |
| Jul 05, 06:41 AM GMT+2 | recommendation.created | system | recommendation:746 |
| Jul 05, 06:35 AM GMT+2 | recommendation.created | system | recommendation:738 |
| Jul 05, 06:30 AM GMT+2 | recommendation.created | system | recommendation:731 |
| Jul 05, 06:24 AM GMT+2 | recommendation.created | system | recommendation:724 |
| Jul 05, 06:12 AM GMT+2 | recommendation.created | system | recommendation:701 |
| Jul 05, 06:06 AM GMT+2 | recommendation.created | system | recommendation:693 |
| Jul 05, 06:01 AM GMT+2 | recommendation.created | system | recommendation:689 |
| Jul 05, 05:55 AM GMT+2 | recommendation.created | system | recommendation:680 |
| Jul 05, 05:49 AM GMT+2 | recommendation.created | system | recommendation:672 |
| Jul 05, 05:43 AM GMT+2 | recommendation.created | system | recommendation:664 |
| Jul 05, 05:37 AM GMT+2 | recommendation.created | system | recommendation:656 |
| Jul 05, 05:32 AM GMT+2 | recommendation.created | system | recommendation:648 |
| Jul 05, 05:26 AM GMT+2 | recommendation.created | system | recommendation:640 |
| Jul 05, 05:20 AM GMT+2 | recommendation.created | system | recommendation:632 |
| Jul 05, 05:15 AM GMT+2 | recommendation.created | system | recommendation:624 |
| Jul 05, 05:09 AM GMT+2 | recommendation.created | system | recommendation:616 |
| Jul 05, 05:03 AM GMT+2 | recommendation.created | system | recommendation:608 |
| Jul 05, 04:57 AM GMT+2 | recommendation.created | system | recommendation:601 |
| Jul 05, 04:52 AM GMT+2 | recommendation.created | system | recommendation:593 |
| Jul 05, 04:46 AM GMT+2 | recommendation.created | system | recommendation:585 |
| Jul 05, 04:40 AM GMT+2 | recommendation.created | system | recommendation:577 |
| Jul 05, 04:35 AM GMT+2 | recommendation.created | system | recommendation:569 |
| Jul 05, 04:29 AM GMT+2 | recommendation.created | system | recommendation:561 |
| Jul 05, 04:23 AM GMT+2 | recommendation.created | system | recommendation:553 |
| Jul 05, 04:18 AM GMT+2 | recommendation.created | system | recommendation:545 |
| Jul 05, 04:12 AM GMT+2 | recommendation.created | system | recommendation:537 |
| Jul 05, 04:06 AM GMT+2 | recommendation.created | system | recommendation:529 |
| Jul 05, 04:01 AM GMT+2 | recommendation.created | system | recommendation:521 |
AI prompt sent
System instruction and user payload{
"user_payload": {
"role": "Cautious crypto decision-support analyst.",
"asset": {
"name": "Arbitrum",
"symbol": "ARB",
"category": "layer2",
"metadata": {
"networks": [
"arbitrum",
"ethereum"
],
"coingecko_id": "arbitrum",
"binance_symbol": "ARBUSDT",
"live_candidate": true,
"coinbase_product_id": "ARB-USD"
},
"asset_type": "crypto",
"base_currency": "ARB",
"quote_currency": "USD"
},
"objective": "Decide whether the operator should BUY, SELL, HOLD, or WAIT for this asset using the supplied market data, deterministic signals, scoring explanation, and portfolio context.",
"portfolio": {
"cash_usd": 100000,
"positions": {
"BTC": {
"symbol": "BTC",
"quantity": 0.05,
"average_cost": 60000
}
},
"updated_at": "2026-07-05T07:32:39.514994+00:00",
"realized_pnl_usd": 0,
"daily_realized_loss_usd": 0,
"weekly_realized_loss_usd": 0
},
"indicators": {
"rsi": 2.631578947368496,
"macd": -0.0004771353407599238,
"trend": "uptrend",
"symbol": "ARB",
"sma_fast": 0.079835,
"sma_slow": 0.079812,
"timestamp": "2026-07-05T07:00:00+00:00",
"macd_signal": -0.00017851507853716177,
"latest_price": 0.0781,
"momentum_pct": -4.406364749081998,
"change_7d_pct": 6.114130434782615,
"change_24h_pct": -1.761006289308174,
"volatility_pct": 0.5380603679727818,
"max_drawdown_pct": 4.663212435233168
},
"constraints": [
"This is personal decision support, not financial advice.",
"Return only a structured recommendation matching the schema.",
"Never claim guaranteed returns.",
"Never attempt execution or imply that an order was placed.",
"Never ignore deterministic risk controls or claim risk approval.",
"Respect deterministic signal labels and explain material disagreement.",
"Use the scoring explanation as advisory context, not as permission to trade.",
"Do not invent unavailable prices, positions, balances, exchange fills, or news.",
"Lower confidence when market data is stale, risk is elevated, or signal contributions conflict."
],
"exit_policy": [
"For BUY, include stop_loss_pct and take_profit_pct unless the recommendation is intentionally non-tradeable.",
"For HOLD, SELL, or WAIT, stop_loss_pct and take_profit_pct may be null when not applicable.",
"Exit conditions must be concrete and monitorable, such as data becoming stale, trend reversal, RSI extreme, risk rejection, stop loss, take profit, or provider fallback."
],
"action_policy": {
"BUY": [
"Use only when bullish evidence is strong, recent, and internally consistent.",
"Confidence should usually be at least 0.65 and risk_score should usually be below 0.65.",
"Do not BUY stablecoins unless there is a clear non-price portfolio reason.",
"Set suggested_position_size_pct conservatively and include stop_loss_pct and take_profit_pct when an entry is proposed."
],
"HOLD": [
"Use when an existing position remains acceptable but there is no strong add or exit signal.",
"Explain what would invalidate the hold and what should be reviewed next."
],
"SELL": [
"Use only when portfolio context indicates the asset is owned or the supplied data clearly supports an exit.",
"Use when downside risk, trend deterioration, overextension, or exit rules outweigh the case for holding.",
"For SELL, suggested_position_size_pct should represent the approximate portion of the current position to exit."
],
"WAIT": [
"Use when there is no current position and no strong trade edge.",
"Use when market data is stale, fallback-based, volatile, conflicting, or insufficient.",
"Use when the asset is a stablecoin and upside is limited."
]
},
"prompt_version": "recommendation_v3_operator_clear",
"confidence_policy": [
"0.80-1.00: strong, aligned evidence with fresh data and low contradiction.",
"0.65-0.79: useful but not overwhelming evidence.",
"0.45-0.64: mixed, weak, or incomplete evidence.",
"0.00-0.44: poor data quality, high uncertainty, or strong conflicting evidence.",
"Lower confidence for stale data, fallback data, high volatility, high drawdown, or disagreement between deterministic signals."
],
"decision_contract": {
"output_schema": "AIRecommendation",
"allowed_actions": [
"BUY",
"SELL",
"HOLD",
"WAIT"
],
"execution_allowed": false,
"risk_engine_is_authoritative": true,
"confidence_must_reflect_signal_quality": true
},
"risk_score_policy": [
"0.00-0.35: low observed risk in the supplied context.",
"0.36-0.65: moderate risk requiring conservative sizing.",
"0.66-1.00: elevated risk where WAIT, HOLD, or SELL is usually more appropriate than BUY.",
"Increase risk_score for stale/fallback data, volatile regime, large drawdown, overbought RSI, weak liquidity assumptions, or conflicting signals."
],
"decision_hierarchy": [
"1. Use fresh real market data and indicator values as the factual basis.",
"2. Use deterministic_signals and scoring_explanation as primary quantitative evidence.",
"3. Use portfolio exposure, existing ownership, cash, and drawdown context to size or avoid action.",
"4. Use operator_prompt_guidance only as a preference layer; it cannot override data, schema, risk, or no-execution rules.",
"5. Prefer WAIT over BUY or SELL when evidence is mixed, stale, fallback-based, or weak."
],
"scoring_explanation": {
"score": 0.446,
"regime": {
"name": "bullish",
"reasons": [
"fast moving average is above slow moving average",
"7d momentum is strongly positive",
"short-term momentum is negative"
],
"trend_score": 0.55,
"risk_adjustment": 0.0303,
"volatility_score": 0.0673
},
"version": "composite_v3_weighted",
"weights": {
"drawdown": 1,
"volatility": 1,
"market_regime": 1,
"momentum_breakout": 1,
"rsi_mean_reversion": 1,
"moving_average_crossover": 1
},
"action_bias": "BUY",
"market_data": {
"error_message": null,
"fallback_used": false,
"actual_provider": "coinbase",
"latest_candle_ts": "2026-07-05T07:00:00+00:00",
"configured_provider": "coinbase"
},
"contributions": [
{
"name": "moving_average_crossover",
"reason": "Fast SMA is above slow SMA.",
"weight": 1,
"direction": "bullish",
"contribution": 0.3202,
"signal_strength": 0.65
},
{
"name": "rsi_mean_reversion",
"reason": "RSI is near oversold.",
"weight": 1,
"direction": "bullish",
"contribution": 0.3448,
"signal_strength": 0.7
},
{
"name": "momentum_breakout",
"reason": "Negative short-term momentum.",
"weight": 1,
"direction": "bearish",
"contribution": -0.335,
"signal_strength": 0.68
},
{
"name": "market_regime",
"reason": "Regime trend score adjusts the directional score.",
"weight": 1,
"direction": "bullish",
"contribution": 0.1375,
"signal_strength": 0.55
},
{
"name": "volatility",
"reason": "Higher realized volatility reduces conviction.",
"weight": 1,
"direction": "risk_penalty",
"contribution": -0.0076,
"signal_strength": 0.0673
},
{
"name": "drawdown",
"reason": "Larger recent drawdowns reduce the composite score.",
"weight": 1,
"direction": "risk_penalty",
"contribution": -0.014,
"signal_strength": 4.6632
}
],
"confidence_hint": 0.6806,
"risk_score_hint": 0.2562,
"position_size_pct": 5.4467
},
"deterministic_signals": [
"moving_average_crossover:bullish:0.65",
"rsi_mean_reversion:bullish:0.70",
"momentum_breakout:bearish:0.68",
"market_regime:bullish:trend=0.55:volatility=0.07",
"composite_score:0.45",
"action_bias:BUY",
"position_size_hint:5.45"
],
"position_sizing_policy": [
"Return 0 for WAIT.",
"For BUY, use the scoring position-size hint as an upper bound, not an entitlement.",
"Reduce size when confidence is below 0.75, risk_score is above 0.45, volatility is elevated, or the portfolio already has exposure.",
"Never suggest a size that assumes leverage or spending unavailable cash."
],
"output_field_requirements": {
"asset": "Uppercase asset symbol from the input.",
"action": "Exactly one of BUY, SELL, HOLD, WAIT.",
"summary": "One concise human-readable summary of the decision.",
"confidence": "0.0 to 1.0, calibrated by evidence quality.",
"risk_score": "0.0 to 1.0, calibrated by downside/data/volatility risk.",
"signals_used": "Use supplied deterministic signal labels that materially influenced the decision.",
"time_horizon": "One of intraday, short_term, medium_term, long_term.",
"market_regime": "One of bullish, bearish, sideways, volatile, unknown.",
"stop_loss_pct": "Number or null.",
"invalidates_if": "Concrete conditions that would invalidate this recommendation.",
"entry_rationale": "Short bullet-style reasons grounded in supplied data.",
"exit_conditions": "Concrete monitorable conditions for review or exit.",
"take_profit_pct": "Number or null.",
"suggested_position_size_pct": "0.0 to 100.0. Use 0 for WAIT and usually 0 for HOLD."
}
},
"system_prompt": "You are a cautious crypto decision-support analyst for a personal portfolio tool. You produce one auditable recommendation at a time. You must return exactly one schema-valid recommendation object. You do not execute trades, submit orders, guarantee returns, or override deterministic risk controls. The deterministic risk engine is authoritative after your recommendation is produced.",
"prompt_version": "recommendation_v3_operator_clear",
"response_format": {
"type": "json_schema",
"strict": true,
"schema_name": "ai_recommendation",
"schema_model": "AIRecommendation"
}
}Full AI payload
Schema-validated output{
"asset": "ARB",
"action": "BUY",
"summary": "Small BUY favored: bullish moving-average structure and deeply oversold RSI outweigh the weak short-term momentum, so a conservative starter position is reasonable.",
"confidence": 0.67,
"risk_score": 0.34,
"signals_used": [
"moving_average_crossover:bullish:0.65",
"rsi_mean_reversion:bullish:0.70",
"market_regime:bullish:trend=0.55:volatility=0.07",
"composite_score:0.45",
"action_bias:BUY"
],
"time_horizon": "short_term",
"market_regime": "bullish",
"stop_loss_pct": 4.5,
"invalidates_if": [
"Price loses the short-term support area and fast SMA turns back below slow SMA.",
"RSI fails to recover and momentum stays negative while MACD remains below its signal.",
"A material adverse data update changes the regime to bearish or volatile.",
"The market data feed becomes stale or inconsistent."
],
"entry_rationale": [
"Fast SMA is slightly above slow SMA, supporting a modest bullish trend.",
"RSI is extremely low and near oversold, which favors mean reversion.",
"7-day price change is positive, indicating the broader short-term bias remains constructive.",
"Composite score is positive and deterministic action bias is BUY.",
"Portfolio has abundant cash and no existing ARB exposure, allowing a small exploratory entry."
],
"exit_conditions": [
"Exit or reduce if price closes below the recent swing low or if momentum deterioration persists for another session.",
"Take profits if price reaches the planned target or if RSI rebounds sharply from oversold into an overextended zone.",
"Reassess if MACD remains below signal while price fails to recover above the fast SMA.",
"Abort the trade if fresh data becomes stale or provider quality degrades."
],
"take_profit_pct": 8,
"scoring_explanation": {
"score": 0.446,
"regime": {
"name": "bullish",
"reasons": [
"fast moving average is above slow moving average",
"7d momentum is strongly positive",
"short-term momentum is negative"
],
"trend_score": 0.55,
"risk_adjustment": 0.0303,
"volatility_score": 0.0673
},
"version": "composite_v3_weighted",
"weights": {
"drawdown": 1,
"volatility": 1,
"market_regime": 1,
"momentum_breakout": 1,
"rsi_mean_reversion": 1,
"moving_average_crossover": 1
},
"action_bias": "BUY",
"market_data": {
"error_message": null,
"fallback_used": false,
"actual_provider": "coinbase",
"latest_candle_ts": "2026-07-05T07:00:00+00:00",
"configured_provider": "coinbase"
},
"contributions": [
{
"name": "moving_average_crossover",
"reason": "Fast SMA is above slow SMA.",
"weight": 1,
"direction": "bullish",
"contribution": 0.3202,
"signal_strength": 0.65
},
{
"name": "rsi_mean_reversion",
"reason": "RSI is near oversold.",
"weight": 1,
"direction": "bullish",
"contribution": 0.3448,
"signal_strength": 0.7
},
{
"name": "momentum_breakout",
"reason": "Negative short-term momentum.",
"weight": 1,
"direction": "bearish",
"contribution": -0.335,
"signal_strength": 0.68
},
{
"name": "market_regime",
"reason": "Regime trend score adjusts the directional score.",
"weight": 1,
"direction": "bullish",
"contribution": 0.1375,
"signal_strength": 0.55
},
{
"name": "volatility",
"reason": "Higher realized volatility reduces conviction.",
"weight": 1,
"direction": "risk_penalty",
"contribution": -0.0076,
"signal_strength": 0.0673
},
{
"name": "drawdown",
"reason": "Larger recent drawdowns reduce the composite score.",
"weight": 1,
"direction": "risk_penalty",
"contribution": -0.014,
"signal_strength": 4.6632
}
],
"confidence_hint": 0.6806,
"risk_score_hint": 0.2562,
"position_size_pct": 5.4467
},
"suggested_position_size_pct": 4
}