SOL recommendation review
Bullish setup with moderate risk: buy SOL cautiously at a reduced size, using a tight stop and predefined upside target.
Latest market candle is 65m old, above the 30 minute threshold.
ActionBUY
Confidence78%
Market regimebullish
Composite score1.00
Data age65m
Manual approval path
needs reviewTrade ticketSOLUSDTSideBUYSuggested quantity1.2363996Reference price$80.88
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 3464s old; limit is 1800s. |
Provider visibility
primary dataConfiguredcoinbaseActual latestcoinbaseLatest candleJul 05, 03:00 PM GMT+2StatussuccessLatency167 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 | $80.71 |
| High | $80.94 |
| Low | $80.62 |
| Close | $80.88 |
| Volume | 9,168.359377 |
Recommendation metadata
Jul 05, 04:57 AM GMT+2Risk score31%Time horizonshort_termSuggested size+6.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 | 80.88 |
| change_24h_pct | -0.858053 |
| change_7d_pct | 12.897822 |
| volatility_pct | 0.375448 |
| trend | downtrend |
| sma_fast | 80.949 |
| sma_slow | 81.6316 |
| rsi | 39.119171 |
| macd | -0.330749 |
| macd_signal | -0.350687 |
| max_drawdown_pct | 5.127867 |
| momentum_pct | -1.0279 |
Deterministic signals
6 signalsmoving_average_crossover:bullish:0.65rsi_mean_reversion:bullish:0.70market_regime:bullish:trend=0.75:volatility=0.06composite_score:1.00action_bias:BUYposition_size_hint:8.00
Scoring explanation
composite_v3_weighted| Signal | Contribution | Weight | Direction | Strength | Reason |
|---|---|---|---|---|---|
| moving_average_crossover | +0.4194 | 1.00x | bullish | 0.65 | Fast SMA is above slow SMA. |
| rsi_mean_reversion | +0.4516 | 1.00x | bullish | 0.7 | RSI is near oversold. |
| momentum_breakout | +0.0000 | 1.00x | neutral | 0.2 | No breakout momentum. |
| market_regime | +0.1875 | 1.00x | bullish | 0.75 | Regime trend score adjusts the directional score. |
| volatility | -0.0062 | 1.00x | risk_penalty | 0.0553 | Higher realized volatility reduces conviction. |
| drawdown | -0.0154 | 1.00x | risk_penalty | 5.1279 | Larger recent drawdowns reduce the composite score. |
Recommendation history
25 recent decisions| Created | Action | Confidence | Risk | Price | Status | Summary |
|---|---|---|---|---|---|---|
| Jul 05, 04:57 AM GMT+2 | BUY | 78% | 31% | $80.23 | rejected_by_risk | Bullish setup with moderate risk: buy SOL cautiously at a reduced size, using a tight stop and predefined upside target. |
| Jul 05, 04:52 AM GMT+2 | BUY | 78% | 34% | $80.24 | rejected_by_risk | Bullish setup with a small oversold mean-reversion edge and trend support; buy cautiously with a modest starter size and defined risk controls. |
| Jul 05, 04:46 AM GMT+2 | BUY | 78% | 32% | $80.28 | rejected_by_risk | Bullish setup with a mild pullback into an uptrend supports a cautious SOL buy, sized modestly due to short-term momentum weakness and recent drawdown. |
| Jul 05, 04:40 AM GMT+2 | BUY | 77% | 34% | $80.42 | rejected_by_risk | BUY SOL as a small short-term starter position: the trend and mean-reversion signals are supportive, but momentum is mixed enough to keep sizing conservative. |
| Jul 05, 04:35 AM GMT+2 | BUY | 77% | 34% | $80.52 | rejected_by_risk | Bullish short-term setup with a modest mean-reversion edge; buy a conservative starter position and manage risk tightly. |
| Jul 05, 04:29 AM GMT+2 | BUY | 78% | 29% | $80.42 | approved_by_risk | Bullish setup with a modestly attractive entry after a pullback; take a conservative starter BUY size and keep risk controls tight. |
| Jul 05, 04:23 AM GMT+2 | BUY | 79% | 31% | $80.48 | approved_by_risk | Bullish trend and oversold-leaning RSI support a cautious short-term BUY in SOL, sized modestly because momentum is not yet strong and recent price action is still mixed. |
| Jul 05, 04:17 AM GMT+2 | BUY | 76% | 31% | $80.42 | approved_by_risk | Buy SOL cautiously with a reduced 5% position as a short-term bullish setup, using a defined stop and profit target because momentum is still mixed despite favorable trend and mean-reversion signals. |
| Jul 05, 04:12 AM GMT+2 | BUY | 77% | 31% | $80.45 | approved_by_risk | Bullish short-term setup for SOL with supportive trend and mean-reversion signals, so a conservative starter BUY is reasonable. |
| Jul 05, 04:06 AM GMT+2 | BUY | 76% | 31% | $80.61 | approved_by_risk | SOL shows a modest bullish setup with strong weekly momentum and a favorable composite score, but the edge is not strong enough for an aggressive buy; a small, risk-controlled BUY is appropriate. |
| Jul 05, 04:01 AM GMT+2 | BUY | 75% | 31% | $80.75 | approved_by_risk | SOL has a bullish medium-short-term setup with a strong composite score, but mixed momentum signals and a negative MACD justify a conservative buy size rather than an aggressive entry. |
| Jul 05, 03:55 AM GMT+2 | BUY | 81% | 29% | $80.78 | rejected_by_risk | Bullish trend and mean-reversion signals support a cautious short-term BUY in SOL with a moderate starter size and defined risk controls. |
| Jul 05, 03:49 AM GMT+2 | BUY | 78% | 34% | $80.74 | rejected_by_risk | Bullish short-term SOL setup with a modest pullback entry: buy a reduced position, use a tight stop, and reassess if trend or momentum weakens. |
| Jul 05, 03:43 AM GMT+2 | BUY | 77% | 32% | $80.83 | rejected_by_risk | Buy SOL cautiously as a small starter position: the trend and composite score are bullish, but the pullback, mild momentum weakness, and elevated volatility justify reduced sizing. |
| Jul 05, 03:38 AM GMT+2 | BUY | 76% | 39% | $80.70 | rejected_by_risk | Bullish trend and oversold-leaning RSI support a cautious BUY in SOL, but moderate volatility and weak momentum justify a reduced 5% position with defined risk controls. |
| Jul 05, 03:32 AM GMT+2 | BUY | 78% | 31% | $80.76 | rejected_by_risk | Bullish trend and supportive deterministic signals justify a cautious short-term BUY on SOL with a reduced 6% allocation and defined risk controls. |
| Jul 05, 03:26 AM GMT+2 | BUY | 74% | 31% | $80.93 | approved_by_risk | SOL shows a constructive bullish setup with a favorable composite score, so a modest short-term BUY is reasonable; keep sizing conservative because momentum is currently soft and MACD is still negative. |
| Jul 05, 03:25 AM GMT+2 | BUY | 77% | 31% | $80.86 | approved_by_risk | Bullish trend and strong composite score justify a conservative SOL BUY, sized below the hint due to mixed short-term momentum and current MACD weakness. |
| Jul 05, 03:21 AM GMT+2 | BUY | 77% | 31% | $80.82 | approved_by_risk | Bullish trend setup with supportive composite scoring justifies a modest SOL BUY, sized conservatively due to mixed momentum and recent negative intraday performance. |
| Jul 05, 03:15 AM GMT+2 | BUY | 76% | 31% | $81.13 | approved_by_risk | SOL shows a bullish short-term setup with a positive composite score and trend support, so a modest BUY is justified with tight risk controls. |
| Jul 05, 03:09 AM GMT+2 | BUY | 77% | 31% | $81.17 | approved_by_risk | SOL has a bullish trend and a strong composite score, so a cautious short-term BUY is justified with moderate sizing and clear risk controls. |
| Jul 05, 03:04 AM GMT+2 | BUY | 77% | 29% | $81.34 | approved_by_risk | Bullish trend structure and strong composite score support a cautious short-term BUY in SOL, sized modestly due to mixed momentum and neutral RSI. |
| Jul 05, 02:58 AM GMT+2 | BUY | 77% | 31% | $81.11 | rejected_by_risk | BUY SOL with a conservative 6% position as the bullish trend and composite score are supportive, while keeping risk contained with a 4.5% stop and 10% profit target. |
| Jul 05, 02:52 AM GMT+2 | BUY | 78% | 28% | $81.27 | rejected_by_risk | SOL shows a bullish setup with strong trend support and a high composite score, but the evidence is not strong enough to size aggressively, so a modest short-term BUY is warranted. |
| Jul 05, 02:47 AM GMT+2 | BUY | 74% | 31% | $81.35 | rejected_by_risk | SOL shows a bullish short-term setup with positive trend confirmation and a strong composite score, but the position should be kept modest because momentum is not yet strong and volatility/drawdown add risk. |
Outcome history
50 tracked recommendations| Recommended | Action | Entry | Later price | Move | Result |
|---|---|---|---|---|---|
| Jul 05, 04:57 AM GMT+2 | BUY | $80.23 | $80.88 | +0.81% | favorable |
| Jul 05, 04:52 AM GMT+2 | BUY | $80.24 | $80.88 | +0.80% | favorable |
| Jul 05, 04:46 AM GMT+2 | BUY | $80.28 | $80.88 | +0.75% | favorable |
| Jul 05, 04:40 AM GMT+2 | BUY | $80.42 | $80.88 | +0.57% | favorable |
| Jul 05, 04:35 AM GMT+2 | BUY | $80.52 | $80.88 | +0.45% | favorable |
| Jul 05, 04:29 AM GMT+2 | BUY | $80.42 | $80.88 | +0.57% | favorable |
| Jul 05, 04:23 AM GMT+2 | BUY | $80.48 | $80.88 | +0.50% | favorable |
| Jul 05, 04:17 AM GMT+2 | BUY | $80.42 | $80.88 | +0.57% | favorable |
| Jul 05, 04:12 AM GMT+2 | BUY | $80.45 | $80.88 | +0.53% | favorable |
| Jul 05, 04:06 AM GMT+2 | BUY | $80.61 | $80.88 | +0.33% | favorable |
| Jul 05, 04:01 AM GMT+2 | BUY | $80.75 | $80.88 | +0.16% | neutral |
| Jul 05, 03:55 AM GMT+2 | BUY | $80.78 | $80.88 | +0.12% | neutral |
| Jul 05, 03:49 AM GMT+2 | BUY | $80.74 | $80.88 | +0.17% | neutral |
| Jul 05, 03:43 AM GMT+2 | BUY | $80.83 | $80.88 | +0.06% | neutral |
| Jul 05, 03:38 AM GMT+2 | BUY | $80.70 | $80.88 | +0.22% | neutral |
| Jul 05, 03:32 AM GMT+2 | BUY | $80.76 | $80.88 | +0.15% | neutral |
| Jul 05, 03:26 AM GMT+2 | BUY | $80.93 | $80.88 | -0.06% | neutral |
| Jul 05, 03:25 AM GMT+2 | BUY | $80.86 | $80.88 | +0.02% | neutral |
| Jul 05, 03:21 AM GMT+2 | BUY | $80.82 | $80.88 | +0.07% | neutral |
| Jul 05, 03:15 AM GMT+2 | BUY | $81.13 | $80.88 | -0.31% | adverse |
| Jul 05, 03:09 AM GMT+2 | BUY | $81.17 | $80.88 | -0.36% | adverse |
| Jul 05, 03:04 AM GMT+2 | BUY | $81.34 | $80.88 | -0.57% | adverse |
| Jul 05, 02:58 AM GMT+2 | BUY | $81.11 | $80.88 | -0.28% | adverse |
| Jul 05, 02:52 AM GMT+2 | BUY | $81.27 | $80.88 | -0.48% | adverse |
| Jul 05, 02:47 AM GMT+2 | BUY | $81.35 | $80.88 | -0.58% | adverse |
| Jul 05, 02:41 AM GMT+2 | BUY | $81.36 | $80.88 | -0.59% | adverse |
| Jul 05, 02:35 AM GMT+2 | BUY | $81.14 | $80.88 | -0.32% | adverse |
| Jul 05, 02:30 AM GMT+2 | BUY | $81.36 | $80.88 | -0.59% | adverse |
| Jul 05, 02:24 AM GMT+2 | BUY | $81.30 | $80.88 | -0.52% | adverse |
| Jul 05, 02:19 AM GMT+2 | BUY | $81.50 | $80.88 | -0.76% | adverse |
| Jul 05, 02:13 AM GMT+2 | BUY | $81.47 | $80.88 | -0.72% | adverse |
| Jul 05, 02:07 AM GMT+2 | BUY | $81.58 | $80.88 | -0.86% | adverse |
| Jul 05, 02:02 AM GMT+2 | BUY | $81.49 | $80.88 | -0.75% | adverse |
| Jul 05, 01:56 AM GMT+2 | BUY | $81.64 | $80.88 | -0.93% | adverse |
| Jul 05, 01:51 AM GMT+2 | BUY | $81.64 | $80.88 | -0.93% | adverse |
| Jul 05, 01:45 AM GMT+2 | BUY | $81.77 | $80.88 | -1.09% | adverse |
| Jul 05, 01:39 AM GMT+2 | BUY | $81.66 | $80.88 | -0.96% | adverse |
| Jul 05, 01:34 AM GMT+2 | BUY | $81.71 | $80.88 | -1.02% | adverse |
| Jul 05, 01:28 AM GMT+2 | BUY | $81.60 | $80.88 | -0.88% | adverse |
| Jul 05, 01:23 AM GMT+2 | BUY | $81.64 | $80.88 | -0.93% | adverse |
| Jul 05, 01:17 AM GMT+2 | BUY | $81.48 | $80.88 | -0.74% | adverse |
| Jul 05, 01:11 AM GMT+2 | BUY | $81.75 | $80.88 | -1.06% | adverse |
| Jul 05, 01:06 AM GMT+2 | BUY | $81.72 | $80.88 | -1.03% | adverse |
| Jul 05, 01:00 AM GMT+2 | BUY | $81.82 | $80.88 | -1.15% | adverse |
| Jul 05, 12:55 AM GMT+2 | BUY | $81.83 | $80.88 | -1.16% | adverse |
| Jul 05, 12:49 AM GMT+2 | BUY | $81.74 | $80.88 | -1.05% | adverse |
| Jul 05, 12:43 AM GMT+2 | BUY | $81.77 | $80.88 | -1.09% | adverse |
| Jul 05, 12:38 AM GMT+2 | BUY | $81.83 | $80.88 | -1.16% | adverse |
| Jul 05, 12:32 AM GMT+2 | BUY | $81.79 | $80.88 | -1.11% | adverse |
| Jul 05, 12:27 AM GMT+2 | BUY | $81.75 | $80.88 | -1.06% | adverse |
Backtest comparison
180 candles| Strategy | Status | Total return | Buy/hold | Trades | Exposure | Alignment |
|---|---|---|---|---|---|---|
| moving_average_crossover | succeeded | +0.83% | +14.77% | 4 | +82.35% | supports |
| rsi_mean_reversion | succeeded | -0.35% | +14.77% | 3 | +32.77% | conflicts |
| momentum_breakout | succeeded | +1.59% | +14.77% | 1 | +91.60% | supports |
Audit trail
50 relevant events| Created | Event | Actor | Entity |
|---|---|---|---|
| Jul 05, 04:57 AM GMT+2 | recommendation.created | system | recommendation:597 |
| Jul 05, 04:52 AM GMT+2 | recommendation.created | system | recommendation:589 |
| Jul 05, 04:46 AM GMT+2 | recommendation.created | system | recommendation:581 |
| Jul 05, 04:40 AM GMT+2 | recommendation.created | system | recommendation:573 |
| Jul 05, 04:35 AM GMT+2 | recommendation.created | system | recommendation:565 |
| Jul 05, 04:29 AM GMT+2 | recommendation.created | system | recommendation:557 |
| Jul 05, 04:23 AM GMT+2 | recommendation.created | system | recommendation:549 |
| Jul 05, 04:17 AM GMT+2 | recommendation.created | system | recommendation:541 |
| Jul 05, 04:12 AM GMT+2 | recommendation.created | system | recommendation:533 |
| Jul 05, 04:06 AM GMT+2 | recommendation.created | system | recommendation:528 |
| Jul 05, 04:01 AM GMT+2 | recommendation.created | system | recommendation:520 |
| Jul 05, 03:55 AM GMT+2 | recommendation.created | system | recommendation:509 |
| Jul 05, 03:49 AM GMT+2 | recommendation.created | system | recommendation:501 |
| Jul 05, 03:43 AM GMT+2 | recommendation.created | system | recommendation:495 |
| Jul 05, 03:38 AM GMT+2 | recommendation.created | system | recommendation:485 |
| Jul 05, 03:32 AM GMT+2 | recommendation.created | system | recommendation:477 |
| Jul 05, 03:26 AM GMT+2 | recommendation.created | system | recommendation:471 |
| Jul 05, 03:25 AM GMT+2 | recommendation.created | system | recommendation:464 |
| Jul 05, 03:21 AM GMT+2 | recommendation.created | system | recommendation:455 |
| Jul 05, 03:15 AM GMT+2 | recommendation.created | system | recommendation:447 |
| Jul 05, 03:09 AM GMT+2 | recommendation.created | system | recommendation:439 |
| Jul 05, 03:04 AM GMT+2 | recommendation.created | system | recommendation:431 |
| Jul 05, 02:58 AM GMT+2 | recommendation.created | system | recommendation:423 |
| Jul 05, 02:52 AM GMT+2 | recommendation.created | system | recommendation:415 |
| Jul 05, 02:47 AM GMT+2 | recommendation.created | system | recommendation:407 |
| Jul 05, 02:41 AM GMT+2 | recommendation.created | system | recommendation:399 |
| Jul 05, 02:35 AM GMT+2 | recommendation.created | system | recommendation:391 |
| Jul 05, 02:30 AM GMT+2 | recommendation.created | system | recommendation:383 |
| Jul 05, 02:24 AM GMT+2 | recommendation.created | system | recommendation:375 |
| Jul 05, 02:19 AM GMT+2 | recommendation.created | system | recommendation:367 |
| Jul 05, 02:13 AM GMT+2 | recommendation.created | system | recommendation:359 |
| Jul 05, 02:07 AM GMT+2 | recommendation.created | system | recommendation:351 |
| Jul 05, 02:02 AM GMT+2 | recommendation.created | system | recommendation:343 |
| Jul 05, 01:56 AM GMT+2 | recommendation.created | system | recommendation:336 |
| Jul 05, 01:51 AM GMT+2 | recommendation.created | system | recommendation:328 |
| Jul 05, 01:45 AM GMT+2 | recommendation.created | system | recommendation:320 |
| Jul 05, 01:39 AM GMT+2 | recommendation.created | system | recommendation:312 |
| Jul 05, 01:34 AM GMT+2 | recommendation.created | system | recommendation:304 |
| Jul 05, 01:28 AM GMT+2 | recommendation.created | system | recommendation:297 |
| Jul 05, 01:23 AM GMT+2 | recommendation.created | system | recommendation:289 |
| Jul 05, 01:17 AM GMT+2 | recommendation.created | system | recommendation:279 |
| Jul 05, 01:11 AM GMT+2 | recommendation.created | system | recommendation:273 |
| Jul 05, 01:06 AM GMT+2 | recommendation.created | system | recommendation:265 |
| Jul 05, 01:00 AM GMT+2 | recommendation.created | system | recommendation:256 |
| Jul 05, 12:55 AM GMT+2 | recommendation.created | system | recommendation:247 |
| Jul 05, 12:49 AM GMT+2 | recommendation.created | system | recommendation:239 |
| Jul 05, 12:43 AM GMT+2 | recommendation.created | system | recommendation:232 |
| Jul 05, 12:38 AM GMT+2 | recommendation.created | system | recommendation:224 |
| Jul 05, 12:32 AM GMT+2 | recommendation.created | system | recommendation:216 |
| Jul 05, 12:27 AM GMT+2 | recommendation.created | system | recommendation:208 |
AI prompt sent
System instruction and user payload{
"user_payload": {
"role": "Cautious crypto decision-support analyst.",
"asset": {
"name": "Solana",
"symbol": "SOL",
"category": "digital_asset",
"metadata": {
"networks": [
"solana"
],
"coingecko_id": "solana",
"binance_symbol": "SOLUSDT",
"live_candidate": true,
"coinbase_product_id": "SOL-USD"
},
"asset_type": "crypto",
"base_currency": "SOL",
"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-05T02:57:40.436999+00:00",
"realized_pnl_usd": 0,
"daily_realized_loss_usd": 0,
"weekly_realized_loss_usd": 0
},
"indicators": {
"rsi": 31.50289017341028,
"macd": -0.22499377120601594,
"trend": "uptrend",
"symbol": "SOL",
"sma_fast": 81.752,
"sma_slow": 81.7422,
"timestamp": "2026-07-05T02:00:00+00:00",
"macd_signal": -0.021653548794819726,
"latest_price": 80.23,
"momentum_pct": -1.5703594650963084,
"change_7d_pct": 13.591958091462564,
"change_24h_pct": -2.2896114967726167,
"volatility_pct": 0.4425323383707928,
"max_drawdown_pct": 5.127867123648828
},
"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": 1,
"regime": {
"name": "bullish",
"reasons": [
"fast moving average is above slow moving average",
"7d momentum is strongly positive"
],
"trend_score": 0.75,
"risk_adjustment": 0.0249,
"volatility_score": 0.0553
},
"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-05T02: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.4194,
"signal_strength": 0.65
},
{
"name": "rsi_mean_reversion",
"reason": "RSI is near oversold.",
"weight": 1,
"direction": "bullish",
"contribution": 0.4516,
"signal_strength": 0.7
},
{
"name": "momentum_breakout",
"reason": "No breakout momentum.",
"weight": 1,
"direction": "neutral",
"contribution": 0,
"signal_strength": 0.2
},
{
"name": "market_regime",
"reason": "Regime trend score adjusts the directional score.",
"weight": 1,
"direction": "bullish",
"contribution": 0.1875,
"signal_strength": 0.75
},
{
"name": "volatility",
"reason": "Higher realized volatility reduces conviction.",
"weight": 1,
"direction": "risk_penalty",
"contribution": -0.0062,
"signal_strength": 0.0553
},
{
"name": "drawdown",
"reason": "Larger recent drawdowns reduce the composite score.",
"weight": 1,
"direction": "risk_penalty",
"contribution": -0.0154,
"signal_strength": 5.1279
}
],
"confidence_hint": 0.88,
"risk_score_hint": 0.2534,
"position_size_pct": 8
},
"deterministic_signals": [
"moving_average_crossover:bullish:0.65",
"rsi_mean_reversion:bullish:0.70",
"momentum_breakout:neutral:0.20",
"market_regime:bullish:trend=0.75:volatility=0.06",
"composite_score:1.00",
"action_bias:BUY",
"position_size_hint:8.00"
],
"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": "SOL",
"action": "BUY",
"summary": "Bullish setup with moderate risk: buy SOL cautiously at a reduced size, using a tight stop and predefined upside target.",
"confidence": 0.78,
"risk_score": 0.31,
"signals_used": [
"moving_average_crossover:bullish:0.65",
"rsi_mean_reversion:bullish:0.70",
"market_regime:bullish:trend=0.75:volatility=0.06",
"composite_score:1.00",
"action_bias:BUY",
"position_size_hint:8.00"
],
"time_horizon": "short_term",
"market_regime": "bullish",
"stop_loss_pct": 4.5,
"invalidates_if": [
"Fast SMA falls below slow SMA on the next confirmed update.",
"RSI drops materially below current levels while price also breaks recent support.",
"7-day performance turns negative and momentum remains below zero.",
"Composite/deterministic signals flip from bullish to neutral or bearish."
],
"entry_rationale": [
"Fresh Coinbase market data is available and internally consistent.",
"Deterministic signals are aligned bullish overall: moving average crossover bullish and RSI mean-reversion bullish.",
"Price is in an established uptrend and 7-day performance is strongly positive despite the mild 24h pullback.",
"Current RSI near 31.5 suggests the move may still have room to recover from a short-term oversold condition.",
"Composite score is strongly positive and the suggested size is tempered below the 8% hint due to mixed momentum."
],
"exit_conditions": [
"Exit or reassess if price closes below the fast/slow SMA zone and trend turns down.",
"Reduce or exit if RSI fails to recover and momentum stays negative for multiple sessions.",
"Take profit if SOL reaches the predefined upside target or if the 7-day trend sharply decelerates.",
"Reassess immediately if data quality degrades, provider changes, or volatility expands materially."
],
"take_profit_pct": 9,
"scoring_explanation": {
"score": 1,
"regime": {
"name": "bullish",
"reasons": [
"fast moving average is above slow moving average",
"7d momentum is strongly positive"
],
"trend_score": 0.75,
"risk_adjustment": 0.0249,
"volatility_score": 0.0553
},
"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-05T02: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.4194,
"signal_strength": 0.65
},
{
"name": "rsi_mean_reversion",
"reason": "RSI is near oversold.",
"weight": 1,
"direction": "bullish",
"contribution": 0.4516,
"signal_strength": 0.7
},
{
"name": "momentum_breakout",
"reason": "No breakout momentum.",
"weight": 1,
"direction": "neutral",
"contribution": 0,
"signal_strength": 0.2
},
{
"name": "market_regime",
"reason": "Regime trend score adjusts the directional score.",
"weight": 1,
"direction": "bullish",
"contribution": 0.1875,
"signal_strength": 0.75
},
{
"name": "volatility",
"reason": "Higher realized volatility reduces conviction.",
"weight": 1,
"direction": "risk_penalty",
"contribution": -0.0062,
"signal_strength": 0.0553
},
{
"name": "drawdown",
"reason": "Larger recent drawdowns reduce the composite score.",
"weight": 1,
"direction": "risk_penalty",
"contribution": -0.0154,
"signal_strength": 5.1279
}
],
"confidence_hint": 0.88,
"risk_score_hint": 0.2534,
"position_size_pct": 8
},
"suggested_position_size_pct": 6
}