Crypto Signal Monitor

Account Fork

Private read-only view of Binance spot allocation, recent fills, public news/social posts, and a clearly separated simulation fork.

Checking status...
Paper Only Live trading is disabled. Trades left today: -
Crash Mode Monitoring fast price drops.
Bot Paused A risk gate is blocking new trades.
Checking-
--
--
-total account movement
--
--
--
Loading dashboard data
Sim Drawdown-
-
-
Live Exposure-
-
-
Signal-
-
-
Live Budget-
-
-
Flow Tape-
-

Forked Portfolio Value

Current Account Allocation

Buckets: BTC, ETH, STABLE, and ALT for all other valued spot assets.

Coin Price Movement - Last 24h

Real Binance price samples collected by the fast loop. Charts are normalized per coin so each move is visible.

Bot Heartbeat

- Waiting for dashboard data
- -
-
-

Bot Thinking Live

Waiting for the fast loop status.

No-trade summary warming.

Replay Backtest

Offline replay over saved fast price samples. It never places live orders.

-No report
--
--
--
-max replay drawdown
--
-No verdict

Backtest Verdict

VerdictReasonAction

Replay Friction

CostValueDetail

Daily Review Decision

DecisionSuggested ChangeReason

Live Influence

CandidateRiskApproval

Apply Review Finding

ActionEffectApply

Apply Status

WaitingRun a review first, then apply only if you accept the risk.

Symbol Activity

SymbolPnLActivity

Recent Replay Trades

TradePriceReason

Backtest Alerts

SeverityAlertDetail

Parameter Comparison

VariantReturnTrade Count

Volatility Adjusted Replay

RegimeMove RiskDetail

Monte Carlo Stress

CaseValueDetail

Recommendations

ActionRecommendationDetail

Replay Equity Curve

No replay report loaded yet.
-Estimated in EUR
-history warming
-since bot started
-Bot-managed assets only
-closed round trips
-5-second coefficient

Live PnL And Config

MetricValueDetail
Total PnL uses account-value history. Realised and unrealised PnL use recent fills, so older cost basis can be incomplete.
ConfigCurrentRollback
Snapshots are saved for rollback. Candidate comparisons are advisory only and are not applied automatically.

Advisory Alerts And Replay Checks

AlertSeverityDetail
Replay WindowDetectionUse

Musk Event Replay

EventReactionMove

Event Replay Summary

Drift And Data Quality

CheckStatusDetail
Compares actual live audit activity against the latest replay report. Advisory only.
WarningSeverityDetail

Windows Backtest Worker

CheckStatusDetail
Optional worker for heavy replay/backtest jobs. The droplet should connect to Windows over Tailscale/SSH so Binance data downloads directly on Windows, not through the MacBook.
Worker status not loaded yet.

Windows Historical Backtest Results

No Windows backtest report fetched yet.

Click "Fetch Windows Results" to load all backtest reports from the Windows PC.

Custom Backtests

Risk & Controls

Owner controls require login. Public visitors do not see this panel.

Live Trading Tape

Time / OrderStatusDetail
Recent processed execution audit, newest first. Includes skipped, cooldown, error, and executed decisions.
Time / FillPublic Social ContextQuote
Recent Binance fills from account trade history, newest first.

Filled Trades Only

Time / OrderFill / TimerReason / Action
Pending orders appear at the top with a 2-minute countdown. Cancel to prevent the trade. Below: live execution audit rows with status EXECUTED, newest first.

Gateway Heatmaps

Gateway x Symbol

Shows where recent trade decisions are blocked by coin.

Gateway x Hour

Shows when gateways block most often.

Gateway Outcome Review

GatewayBlocked Decisions15m / 1h / 4h Outcome
Reviews whether blocked trades would have moved in the proposed direction after 15 minutes, 1 hour, and 4 hours. This is advisory.
GateFindingTuning Suggestion
Suggestions are based on matured blocked-trade outcomes only. They do not change live settings automatically.

Execution Quality

SymbolSlippageQuote Quality
Compares the live bid/ask quote captured before order placement with Binance average fill price.

Strategy Buckets

BucketFlowQuality
Separates protective exits from deployment, social allocation, and fast strategy decisions.

Bucket Realised PnL

Bucket7d PnLEvidence
Attributes matched Binance round trips to the closest execution-audit bucket. This is inferred from timestamps.

Email Alerts

ConfigStatusDetail
Alerts fire for live fills, execution errors, auto-disarms, and crash mode activation.

Pre-Arm Checklist

CheckStatusDetail
Live arming is rejected until every checklist item passes.

Service Health

ServiceStatusDetail
Shows timer/process state, feed age, audit size, and latest service status.

Droplet Load

ResourceStatusDetail
Reads local CPU load, memory, and disk usage from the droplet. No external calls.

Deployment And Open PnL

MetricValueDetail
Shows how far the account is from the target EUR/stable cap and where idle EUR is being deployed.
PositionUnrealised PnLEntry / Now
Average entry is estimated from recent Binance fills. Older positions may show no entry basis.

Shadow Trade Evidence

WindowAverageWin Rate
Paper-shadow outcomes compare proposed, skipped, and executed decisions against later prices.
DecisionStatusOutcomes

Edge Evidence

SymbolShadow EdgeStatus
Uses matured 5m and 15m shadow decisions. Edge OK requires at least 10 samples, 55%+ win rate, and positive average return.

Largest Positions

AssetBucketValue

Coin Values And Recommendations

AssetMarket PricePosition / Recommendation

Social Signal Decision

SignalSourceStrength
Target allocation: -

Fast Edge Coefficient

SymbolScoreWindows
Fee-adjusted EMA continuation score over 30s, 2m, and 10m windows from fast-loop price samples.

Performance Report

Metric24h7d
Estimated from recent Binance fills and execution audit. Fees are estimated.

Strategy Health

Symbol24h Net / EdgeStatus
Symbols are blocked automatically when recent live errors or estimated losses exceed the configured limits.

Public News / Social Posts

SourceContent

Proposed Orders

OrderReasonStatus
Paper-only proposals. Live Binance order placement is not enabled.

Execution Status

OrderStatusDetail
Live execution requires TRADING_ENABLED=true and still respects symbol, size, daily-count, and feed gates.

Recent Binance Fills

TradePublic Social ContextQuote
Read-only fills from Binance account trade history. Context is linked only from public news/social posts, never simulated content.

Trade PnL Attribution

PairApprox PnLContext
Approximate FIFO attribution from recent Binance fills, before fees and slippage.

Simulation Fork Trades

TradeTypeNotional
These are simulated rebalance trades and do not include simulated social content.

Fork Target Path

How It Works

A technical reference for the Fast Signal Bot — architecture, signal logic, execution gates, risk controls, and backtest system.

System Architecture

Three independent processes keep data flowing, decisions running, and the dashboard updated — all without a single point of failure.

Binance REST + WebSocket prices · orders · fills Price Sampler every 5 s fast-price-samples.jsonl Bot Loop signal · gates · orders crypto-account-hf.timer Control API hf_control · port 8765 Signal Engine EMA · score · edge fast_metrics.py Execution gates · place order trading.py · binance.py Dashboard index.html static · nginx Windows PC Backtest Worker Tailscale SSH prices fills samples orders market sell/buy writes HTML browser polls /api/hf SSH backtest
The timer service runs every 5 seconds, writes a fresh index.html, and exits. The Control API runs continuously and serves live account data and commands. Neither depends on the other to stay up.

Signal Generation

Every tick the bot blends three exponential moving averages across different time horizons into a single momentum score, then subtracts estimated fees to get a net edge.

Price Samples 5 s cadence rolling buffer Short EMA ×0.15 6 ticks · 30 s horizon Mid EMA ×0.35 24 ticks · 2 min horizon Long EMA ×0.50 120 ticks · 10 min horizon Weighted Blend 0.15 + 0.35 + 0.50 → raw score 0–1 Edge = Score − Fee fee floor ≈ 0.30% net edge > 0 → viable Threshold score ≥ 0.35 → proceed to gates DIRT
The long EMA (×0.50) dominates — it captures sustained momentum rather than noise. The threshold (default 0.35) shifts slightly with volatility regime: tighter in high-vol to avoid chasing spikes, looser in low-vol to catch quieter moves.

Trade Gate Waterfall

Every proposed order passes through a fixed sequence of gates. The first gate that fails blocks the order — gates lower in the stack never run.

Gate Pass → Fail → skip reason 1. Armed check TRADING_ENABLED = true SKIPPED_TRADING_DISABLED 2. Crash mode crash.active = false (buys only) → liquidation sells instead 3. Social feed gate news feed fresh ≤ max age SKIPPED_SOCIAL_FEED_UNAVAILABLE 4. Symbol health no recent errors on this pair SKIPPED_SYMBOL_HEALTH 5. Cooldown last trade on pair > N min ago SKIPPED_COOLDOWN 6. Spread check bid/ask spread ≤ 0.25% SKIPPED_WIDE_SPREAD 7. Daily trade budget executed today < daily limit SKIPPED_DAILY_LIMIT 8. Shadow confirmation shadow trade concurs SKIPPED_SHADOW_MISMATCH ✓ Execute market order on Binance ⚡ Crash sells + risk exits skip gates 4–8
Crash liquidation orders and risk-exit sells bypass gates 4–8 so they can execute immediately regardless of cooldown, health history, or daily budget. Normal buys must pass every gate.

Crash Guard State Machine

The crash guard watches BTC, ETH, and SOL price drops every tick. It requires N consecutive confirmations before activating, preventing false triggers from single-candle spikes.

Monitoring watching prices Confirming N / req confirmations ACTIVE selling all to EUR buys blocked Cooldown 60 min · manual reset drop detected no drop · reset N confirmed timer starts manual reset via dashboard Close All to EUR skips confirming · jumps to ACTIVE Trigger: BTC/ETH/SOL drops 1.5% in 1 min · or 3% in 5 min · or 3+ assets drop 2% in 5 min
The manual "Close All to EUR" button bypasses the confirming phase and directly activates crash mode — then immediately executes market sells via the API regardless of arm state.

Risk & Sizing

The effective trade size per order is the product of three layers: the base cap, a risk mode multiplier, and a live adjustment based on recent PnL.

Base Trade Cap €15 MAX_TRADE_VALUE configurable per env × Risk Mode conservative ×0.5 normal ×1.0 ◀ default aggressive ×1.5 set via dashboard × Live Adjustment PnL trending up → up to ×1.2 PnL flat → ×1.0 PnL down / drawdown → ×0.5–0.8 auto · updates each cycle = Effective Cap €15 shown on dashboard per-order maximum
The live adjustment reads the last replay backtest result and recent execution history. A losing streak or high drawdown shrinks orders automatically — you don't need to manually intervene. The daily trade budget is a hard cap on top of all of this.

Fork vs Live & Backtest System

Two portfolios run in parallel on every cycle. Only the live account actually touches Binance.

Same Signal & Gates identical decision logic Simulated Fork Paper fills at mid-price tracks return, drawdown never touches Binance Live Account Real market orders Binance fills, slippage requires ARMED + gates pass

The replay backtest runs separately on demand (or on a schedule via the Windows worker). It uses stored Binance historical ZIP/Parquet data and the current parameters to produce an out-of-sample return, drawdown, and win rate. Those results feed back into the live risk adjustment multiplier.

The fork diverges from live because it assumes perfect fills at mid-price with no slippage. Over time the gap shows you how much real-world execution cost you.

Controls & Parameters Reference

Key environment variables that drive the bot. All can be changed via the Risk & Controls tab without redeploying.

Parameter Default What it controls
TRADING_ENABLEDfalseMaster live-trade switch. Must be true for real orders to execute.
TRADING_MAX_TRADE_VALUE15Max EUR per order before risk mode and live adjustment multipliers.
TRADING_DAILY_LIMIT25Hard cap on normal buy/sell orders per calendar day.
TRADING_DIRT_THRESHOLD0.35Minimum signal score to pass to gate evaluation. Adjusted ±0.01–0.025 by volatility.
TRADING_RISK_MODEnormalconservative (×0.5) / normal (×1.0) / aggressive (×1.5) multiplier on max trade value.
TRADING_PAUSE_BUYSfalseBlocks all buy orders. Sell and crash orders still execute.
TRADING_MAX_STABLE_ALLOCATION0.15Max fraction of portfolio allowed in EUR/stables before setup deployment activates.
CRASH_DROP_1M1.5%1-minute price drop on BTC/ETH/SOL that counts as one crash confirmation.
CRASH_CONFIRMATIONS2Consecutive ticks that must all confirm a drop before crash mode activates.
CRASH_COOLDOWN_MINUTES60How long crash mode stays active after trigger, even if prices recover.
SAFETY_MAX_PRICE_AGE_SECONDS30Max age of price feed before pre-arm checklist fails.