| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183 |
- {
- "created_at": "2026-04-29T19:22:13Z",
- "data": {
- "aligned_candles": 222500,
- "btc_candles": "data/okx-candles/BTC-USDT-SWAP/15m.csv",
- "decision_candle_time": "2026-04-29T16:30:00Z",
- "decision_candle_ts": 1777480200000,
- "decision_rule": "use the aligned candle immediately before the latest aligned local candle",
- "eth_candles": "data/okx-candles/ETH-USDT-SWAP/15m.csv",
- "latest_aligned_candle_time": "2026-04-29T16:45:00Z",
- "latest_aligned_candle_ts": 1777481100000,
- "source": "local_csv"
- },
- "decision": {
- "active_signal_count": 0,
- "active_suggested_weight": 0,
- "intent": "observe_no_signal",
- "needs_cancel": false,
- "needs_order": false,
- "signal": "no_signal"
- },
- "legs": [
- {
- "bar": "15m",
- "conditions": {
- "btc_close_above_sma480": {
- "distance_to_pass": 1475.1000000000058,
- "passes": false,
- "threshold": 77331.1,
- "value": 75856.0
- },
- "btc_momentum_at_or_above_min": {
- "distance_to_pass": 0.040101233786776325,
- "passes": false,
- "threshold": 0.0,
- "value": -0.040101233786776325
- },
- "eth_close_above_sma50": {
- "distance_to_pass": 48.865400000000136,
- "passes": false,
- "threshold": 2315.6154,
- "value": 2266.75
- },
- "eth_rsi2_at_or_below_3": {
- "distance_to_pass": 7.743438715792621,
- "passes": false,
- "threshold": 3.0,
- "value": 10.743438715792621
- }
- },
- "direction": "long",
- "dry_run_action": "observe_no_signal",
- "entry_rule": "eth_close > eth_sma50 and eth_rsi2 <= 3 and btc_close > btc_sma480 and btc_momentum_240 >= minimum",
- "exit_rule": "eth_rsi2 >= exit_rsi or btc_close < btc_sma480; shock leg also exits when shock guard fails",
- "exit_signal": true,
- "family": "btc_trend_eth_rsi",
- "indicators": {
- "btc_close": 75856.0,
- "btc_momentum_240": -0.040101233786776325,
- "btc_sma480": 77331.1,
- "eth_close": 2266.75,
- "eth_rsi2": 10.743438715792621,
- "eth_sma50": 2315.6154
- },
- "intent": "no_signal",
- "leg_id": "btc_trend_eth_rsi",
- "params": {
- "btc_min_momentum": 0.0,
- "btc_momentum_lookback": 240,
- "btc_trend_sma": 480,
- "eth_exit_rsi": 55.0,
- "eth_rsi_threshold": 3.0,
- "eth_trend_sma": 50
- },
- "signal": false,
- "suggested_weight": 0.5,
- "symbol": "ETH-USDT-SWAP"
- },
- {
- "bar": "15m",
- "conditions": {
- "btc_close_above_sma480": {
- "distance_to_pass": 1475.1000000000058,
- "passes": false,
- "threshold": 77331.1,
- "value": 75856.0
- },
- "btc_drawdown_at_or_above_floor": {
- "distance_to_pass": 0.0,
- "passes": true,
- "threshold": -0.05,
- "value": -0.025520730294209204
- },
- "btc_momentum_at_or_above_min": {
- "distance_to_pass": 0.05010123378677633,
- "passes": false,
- "threshold": 0.01,
- "value": -0.040101233786776325
- },
- "btc_realized_vol_at_or_below_max": {
- "distance_to_pass": 0.0,
- "passes": true,
- "threshold": 0.01,
- "value": 0.001651657896372991
- },
- "eth_close_above_sma50": {
- "distance_to_pass": 48.865400000000136,
- "passes": false,
- "threshold": 2315.6154,
- "value": 2266.75
- },
- "eth_rsi2_at_or_below_3": {
- "distance_to_pass": 7.743438715792621,
- "passes": false,
- "threshold": 3.0,
- "value": 10.743438715792621
- }
- },
- "direction": "long",
- "dry_run_action": "observe_no_signal",
- "entry_rule": "eth_close > eth_sma50 and eth_rsi2 <= 3 and btc_close > btc_sma480 and btc_momentum_240 >= minimum and btc_realized_vol_96 <= 0.01 and btc_drawdown_96 >= -0.05",
- "exit_rule": "eth_rsi2 >= exit_rsi or btc_close < btc_sma480; shock leg also exits when shock guard fails",
- "exit_signal": true,
- "family": "btc_shock_guard_eth_rsi",
- "indicators": {
- "btc_close": 75856.0,
- "btc_drawdown_96": -0.025520730294209204,
- "btc_momentum_240": -0.040101233786776325,
- "btc_realized_vol_96": 0.001651657896372991,
- "btc_recent_high_96": 77842.6,
- "btc_sma480": 77331.1,
- "eth_close": 2266.75,
- "eth_rsi2": 10.743438715792621,
- "eth_sma50": 2315.6154
- },
- "intent": "no_signal",
- "leg_id": "btc_shock_guard_eth_rsi",
- "params": {
- "btc_max_drawdown": 0.05,
- "btc_max_realized_vol": 0.01,
- "btc_min_momentum": 0.01,
- "btc_momentum_lookback": 240,
- "btc_shock_lookback": 96,
- "btc_trend_sma": 480,
- "eth_exit_rsi": 55.0,
- "eth_rsi_threshold": 3.0,
- "eth_trend_sma": 50
- },
- "signal": false,
- "suggested_weight": 0.5,
- "symbol": "ETH-USDT-SWAP"
- }
- ],
- "mode": "readonly_signal_intent",
- "observation_parameters": {
- "bar_close_confirmation": "15m aligned ETH/BTC local candles",
- "candidate_cost_model": "maker_taker",
- "candidate_roundtrip_cost_on_margin": 0.0021,
- "execution": "no_order_submission",
- "portfolio_weighting": "equal 0.5 / 0.5",
- "position_direction_to_observe": "no_signal",
- "purpose": "small-capital futures observation candidate only after separate order-path implementation",
- "state_assumption": "no live position state read or assumed"
- },
- "order_client": null,
- "private_key_required": false,
- "readiness_check": {
- "blocked_for_live_trading": true,
- "blocker": "this script intentionally has no OKX private client, order sizing, or submit path",
- "can_be_used_for_later_small_capital_futures_observation": true,
- "reason": "signal rules are closed over local public candles and produce no order or cancel payload"
- },
- "strategy": {
- "bar": "15m",
- "direction": "long_only",
- "leverage_observation_reference": 3,
- "name": "eth-btc-nextgen equal-2-c0003",
- "short_supported": false,
- "source_candidate": "reports/eth-exploration/eth-btc-nextgen-portfolios.csv:equal-2-c0003",
- "symbol": "ETH-USDT-SWAP"
- },
- "submitted_orders": 0
- }
|