OpenChart
Claude·Codex와 함께하는 무료 데스크톱 차트 도구. 알림 설정·차트 움직임 분석·데이터 제공자 선택
아직 감지된 업데이트가 없습니다. GitHub 릴리스가 나오면 여기에 보입니다.
메이커가 쓴 소개는 위의 한 줄이 전부입니다. 더 자세한 내용은 저장소 README에서 읽을 수 있습니다. 저장소 README ↗
README 전체를 불러오는 중입니다.
README 전문 보기 ↗Última revisión de esta documentación: 19 de junio de 2026
Dashboard web estático que visualiza el tipo de cambio mayorista (SIOPEL Divisa Venta) versus el techo de la banda cambiaria del BCRA, con proyecciones hasta diciembre 2026.
URL de producción: https://seguimiento-fx.vercel.app/
| Componente | Tecnología |
|---|---|
| Frontend | HTML + JS vanilla + Chart.js v4 |
| Hosting | Vercel (deploy automático desde main) |
| Automatización | GitHub Actions |
| Fuente de datos | API oficial BCRA (api.bcra.gob.ar) |
No hay backend, base de datos ni dependencias de npm. Todo el estado histórico vive en arrays de JS dentro de index.html.
SEGUIMIENTO-FX/
├── index.html ← Dashboard completo (UI + datos + lógica)
├── scripts/
│ └── update_fx.py ← Script de actualización diaria
├── test/
│ └── smoke-test.js ← Validación JS (sin browser)
└── .github/
└── workflows/
└── update-fx.yml ← Workflow de automatización diaria
index.htmlTodos los datos históricos están embebidos como arrays de JS en el mismo index.html. No hay fetch de datos externos en el frontend.
| Variable | Tipo | Contenido |
|---|---|---|
hS | Estático | SIOPEL Divisa Venta diario (null = sin dato) |
hT | Estático | Techo oficial BCRA diario (pre-calculado) |
hLbl / hDispLbl | Estático | Labels de fechas para el eje X |
hPt | Estático | Radio de cada punto (3 = normal, 7 = último dato) |
brechaVals | Dinámico | Calculado en JS: (hT[i]-hS[i])/hS[i]*100 |
hA | Dinámico | Calculado por setAvgWindow(): techo/(1+avgBrecha/100) |
avgRef | Dinámico | Rolling average de brecha (30d/90d/6M) |
| Variable | Contenido |
|---|---|
pLbl | Fechas: 4 mayo + 21 junio + 21 julio + 5 mensuales (ago–dic) |
pS | SIOPEL real (hasta última rueda) + null para fechas futuras |
pT | Techo proyectado (pre-calculado con crawling peg ~2.5%/mes) |
pREM / pSCA / pSCB / pSCC | Escenarios: REM, brecha actual, brecha 15%, brecha 5% |
var ia = mode==='proj' ? 16 : 283; // índice del último dato real
Controla la zona divisoria "con datos / sin SIOPEL" en el gráfico.
GitHub Actions corre todos los días hábiles a las 17:30 hs Argentina (UTC-3), es decir cron: '30 20 * * 1-5'.
update-fx.yml (17:30 ARG)
→ checkout del repo
→ python3 scripts/update_fx.py YYYY-MM-DD
→ consulta api.bcra.gob.ar/estadisticascambiarias/v1.0/Cotizaciones/USD
→ identifica el valor SIOPEL del día
→ actualiza index.html (ver detalle abajo)
→ node test/smoke-test.js (valida los 3 modos del chart)
→ si smoke test OK → commit + push
→ Vercel detecta el push → redeploya (~20 segundos)
update_fx.py en cada actualizaciónhS[new_idx] — agrega el nuevo valor SIOPELhPt[prev]=3; hPt[new]=7 — mueve el punto destacadoia — incrementa el índice de la zona divisoriasJunActual — agrega valor al sub-array de junio (modo proyección)pPt — mueve el punto en modo proyecciónGET /estadisticascambiarias/v1.0/Cotizaciones/USD?fechaDesde=X&fechaHasta=X
Si la API falla o el dato no está disponible:
# Desde GitHub Actions → Run workflow → campo "valor_manual"
# O localmente:
python3 scripts/update_fx.py 2026-06-19 1455.0
| Modo | Descripción |
|---|---|
| Histórico | Serie completa abr 2025 – presente vs techo BCRA |
| Proyección | Mayo–diciembre 2026 con 4 escenarios (REM, brecha actual, 15%, 5%) |
| Brecha % | Evolución diaria de la brecha (techo−SIOPEL)/SIOPEL |
El smoke test (test/smoke-test.js) corre en Node.js sin browser. Valida:
window.sw() está definida y funcionahist, proj, brecha) ejecutan sin excepcionesnode test/smoke-test.js
# ✅ SMOKE TEST OK — todo funciona correctamente
| Evento | Acción requerida |
|---|---|
| Publicación REM julio 2026 | Actualizar pREM, pSCA, pSCB, pSCC en index.html |
| Inicio ruedas julio 2026 | El automático lo maneja (pLbl ya tiene fechas de julio) |
| Agosto 2026 en adelante | Ampliar arrays históricos y de proyección |
index.html facilita el deploy estático pero hace que los datos históricos estén hardcodeados. Cada actualización es un commit que modifica el HTML.brechaVals, hA y avgRef se recalculan en el cliente al cargar la página. Solo hS (precios SIOPEL) necesita actualizarse via script.null y se visualizan como "sin datos".여기까지가 README 앞부분입니다. 나머지는 원문에서 읽을 수 있습니다. README 전문 보기 ↗