Saltar a contenido

Plan Demo 30 Dias (Binance Equivalentes)#

Objetivo: validar la plataforma durante 30 dias en modo Spot Demo Mode (solo long) sobre: - EURUSDT (proxy EUR/USD via USDT) - PAXGUSDT (proxy Gold/USD via USDT, oro tokenizado)

1. Setup inicial (Dia 0)#

  1. Elegir entorno:
  2. Spot demo mode (principal): crear un env local (gitignored) basado en env/.env.example.
  3. (Opcional, fase siguiente) Futures testnet/demo: BINANCE_MARKET_TYPE=futures + base URL correspondiente.

  4. Cargar variables y levantar backend:

set -a; source env/.env.binance.demo.month; set +a   # ejemplo local (gitignored)
./.venv/bin/uvicorn backend.main:app --host 127.0.0.1 --port 8096
  1. Validar smoke/E2E:
./.venv/bin/python scripts/run_binance_e2e.py \
  --base-url http://127.0.0.1:8096 \
  --env-file env/.env.binance.demo.month \
  --with-private auto
  1. Confirmar sincronizacion automatica de mercado (market_sync):
curl -s http://127.0.0.1:8096/jobs/status | jq '.market_sync'

Debe responder auto_run=true y el intervalo esperado (ej. 15 min).

2. Operacion diaria (Dias 1-30)#

Checklist diario: 1. scripts/run_spot_demo_daily.py (recomendado; orquesta checks y evidencia) 2. (alternativa manual) scripts/db_health_check.py 3. (alternativa manual) scripts/run_binance_e2e.py --with-private auto 4. (alternativa manual) scripts/capture_operational_evidence.py 5. revisar cola (/signals) y riesgo (/risk) 6. revisar estado de jobs (/jobs) con foco en market_sync 7. validar frescura de velas para EURUSDT y PAXGUSDT en M1/M5/H1/H4

Chequeos recomendados:

curl -s http://127.0.0.1:8096/jobs/status | jq '.market_sync'
curl -s "http://127.0.0.1:8096/market-data/candles?symbol=EURUSDT&timeframe=M1&limit=1"
curl -s "http://127.0.0.1:8096/market-data/candles?symbol=PAXGUSDT&timeframe=H1&limit=1"

Runner diario recomendado:

./.venv/bin/python scripts/run_spot_demo_daily.py \
  --backend-url http://127.0.0.1:8096 \
  --env-file env/.env.binance.demo.month \
  --env-name binance-spot-demo

3. Guardrails durante el mes#

  • BINANCE_TRADING_ENABLED=true (en spot demo mode, con control de riesgo activo)
  • BINANCE_SIMULATION_MODE=false
  • BINANCE_MAX_ORDER_PCT=0.5
  • Guards de ejecucion (pre-orden):
  • BINANCE_MAX_SPREAD_PCT=0.01 (1%)
  • BINANCE_MAX_TRADES_PER_DAY=3 (por simbolo)
  • RISK_DAILY_DD_LIMIT_PCT=2.5 (DD diario)
  • RISK_DAILY_DD_AUTO_KILL=true
  • Ventana de trading (para demo 24/7 en Spot):
  • BINANCE_TRADE_DAYS=1,2,3,4,5,6,7
  • BINANCE_TRADE_START_HOUR_UTC=0
  • BINANCE_TRADE_END_HOUR_UTC=0
  • BINANCE_MAX_ORDERS_PER_SESSION=30
  • MARKET_SYNC_AUTO_RUN=true
  • MARKET_SYNC_INTERVAL_MINUTES=15
  • MARKET_SYNC_SYMBOLS=EURUSDT,PAXGUSDT
  • MARKET_SYNC_TIMEFRAMES=M1,M5,M15,M30,H1,H4,D1
  • kill-switch habilitado y probado al menos 1 vez por semana.

Autopilot (perfil agresivo, para ver el ciclo end-to-end):

  • AUTOPILOT_MODE=range_breakout
  • AUTOPILOT_SIGNAL_TIMEFRAME=M1 (luego endurecer a M5/M15)
  • AUTOPILOT_BREAKOUT_LOOKBACK_BARS=4
  • AUTOPILOT_BREAKOUT_ATR_BUFFER_MULT=0.0 (sin buffer para que dispare mas facil)
  • AUTOPILOT_BREAKOUT_TREND_FILTER=false (temporal)
  • AUTOPILOT_MIN_VOL_REL=0.0 (sin filtro de rVol en MVP)
  • AUTOPILOT_MAX_SPREAD_PCT=0.01 (1%)
  • AUTOPILOT_ORDER_NOTIONAL_PCT=0.10 (para evitar minNotional en Spot Demo)
  • AUTOPILOT_RISK_PCT=0.01 (sizing por riesgo + cap por notional)
  • AUTOPILOT_ALLOW_SELL=false (Spot MVP: no shorts; las salidas las hace TradeManager)

Trade Manager (salidas automaticas):

  • TRADE_MANAGER_ENABLED=true
  • TRADE_MANAGER_AUTO_RUN=true
  • TRADE_MANAGER_INTERVAL_SECONDS=15

4. KPI semanales#

  • disponibilidad API (status/binance status) >= 99%
  • fallos de cola (signal_queue en failed) <= 2%
  • retries promedio por ejecucion <= 1.0
  • drawdown de prueba dentro de umbral definido

4.1 Politica de no-trade (obligatoria)#

Para estabilidad mensual, el sistema debe poder no operar.

No-trade recomendado cuando: - kill-switch o alignment-guard activos. - regimen no valido para el setup habilitado. - contradiccion fuerte de contexto (macro/intermarket vs tecnico). - compresion extrema sin catalyst o volatilidad caotica sin direccion. - noticia tardia (movimiento principal ya consumado).

Registro: - toda decision de no-trade debe quedar auditada en autopilot_decisions.reason.

4.2 Autopausa y modo defensivo (F5)#

Reglas sugeridas: - dos semanas seguidas de degradacion fuera de rango esperado -> modo_defensivo. - breach de DD operativo definido -> auto-pausa de entradas nuevas. - reanudacion solo tras evidencia de recuperacion (periodo minimo + checks en verde).

Minimo operativo: - auto-pausa no debe bloquear salidas SELL de trades abiertos. - cada trigger/autopause debe quedar en logs + brief diario.

5. Cierre del mes (Go/No-Go)#

Go si: - 4 semanas con E2E diario en verde - market_sync estable durante el mes (sin gaps operativos persistentes) - sin fallos criticos de riesgo - trazabilidad completa (signal_queue -> executions -> trading_diary -> goal_snapshots) - cumplimiento de politica de no-trade (sin forzar entradas en contexto invalido) - sin eventos de autopausa sin explicar/cerrar

No-Go si: - hay fallos recurrentes de ejecucion o riesgo sin causa controlada - E2E privado no es estable (cuando haya keys en ambos entornos) - hay degradacion sostenida sin activar controles defensivos

6. Nota de instrumento#

EURUSDT y PAXGUSDT son proxies (via USDT), no EURUSD/XAUUSD OTC exactos. Si necesitas OTC exacto, este proyecto no lo cubre en modo Binance-first; deberias usar un broker/CFD que lo liste o ajustar el instrumento objetivo.