Sobre el proyecto
Kanpan (nombre de producto Hkline) es una aplicación nativa en Swift para iOS de cotizaciones, favoritos y revisión. La interfaz usa SwiftUI y los gráficos están dibujados a medida con UIKit/CoreGraphics. La app no tiene dependencias de terceros y no ofrece funciones de órdenes de trading. Los datos de mercado provienen de la interfaz pública de Binance USDT perpetual; la "línea de mercado" en ajustes ofrece dos opciones: conexión directa (solo dominios de Binance) y puerta de enlace (dos VPS que obtienen cotizaciones de OKX), seleccionadas manualmente por el usuario, sin conmutación automática ni mezcla de fuentes.
Funciones principales
- Temas: ofrece "Musgo frío", "Arcilla cálida" y "Clásico", cada uno con modo claro y oscuro, puede seguir el sistema o especificarse manualmente. Los colores de las velas usan un único conjunto; el tema solo afecta las áreas fuera del gráfico.
- Barra inferior: barra de pestañas fija de cinco secciones de igual ancho: "Dibujo · Gráfico · Favoritos · Sectores · Ajustes". "Dibujo" es una acción; al tocarla se dibuja en horizontal y vuelve automáticamente.
- Página de cotización: la barra superior incluye insignia del símbolo, nombre del símbolo, entrada a revisión (con insignia de pendientes) y entrada de búsqueda. El bloque de precio muestra último precio, cambio y porcentaje de cambio; a la derecha hay seis celdas fijas de estadísticas (posición/volumen, capitalización/tasa de financiación, liquidación/amplitud). La fila de periodos tiene seis niveles comunes de igual ancho; los 14 niveles completos (1m a 1y) pueden fijarse o quitarse en "Más". Deslizar horizontalmente en la zona de precio permite cambiar de símbolo de forma continua.
- Página de favoritos: las filas de la lista incluyen insignia del símbolo, precio y píldora de cambio; admite carpetas de clasificación, ordenación (incluida por porcentaje de cambio y "más cercano a la línea de alerta"), vista previa de solo lectura con pulsación larga, reordenación por arrastre, eliminación por deslizamiento o en lote con deshacer. En arranque en frío, si hay favoritos entra en la página de favoritos; de lo contrario entra en BTC.
- Sectores: cuarta pestaña de la barra inferior, burbujas de sectores en un nivel; al entrar se muestra la lista de símbolos del sector. Cripto y acciones de EE. UU. tienen un conmutador superior fijo.
- Gráfico: replica la sensación de AICoin. El gráfico principal admite medias móviles (10/30/120/256), medias exponenciales y bandas de Bollinger. Los subgráficos predeterminados son volumen, interés abierto y MACD, con un máximo de tres simultáneos; también hay candidatos como RSI, estocástico, rango verdadero promedio, ratio largo/corto, ratio de compra/venta activa y base. Admite escalera de diez niveles del libro de órdenes, zoom con dos dedos, zoom de foco histórico, eje Y manual, última vela pegada al borde derecho y amortiguación al exceder límites. Incluye 41 herramientas de dibujo (nueve grupos); dibujo y gráfico comparten coordenadas.
- Alertas: módulo independiente. Tras dibujar, la fila de precio en la cabecera se convierte en una tarjeta de confirmación; se puede configurar "esperar a que toque" o "esperar a que cierre atravesando", con soporte para repetir alertas. En primer plano las evalúa localmente AlertEngine; en segundo plano las evalúa el servidor kanpan-worker y escribe de vuelta la sincronización, con deduplicación por estado activo. Sin clave APNs la función sigue disponible, solo que no aparecen banners en pantalla de bloqueo.
- Revisión: registrar una operación, lista/pendientes/estadísticas, detalle, repaso vela a vela, búsqueda de similitudes con OHLC privado; los registros mantienen fija la fuente de mercado de origen.
- Cuenta: registro e inicio de sesión con nombre de usuario y contraseña, sesión en Keychain, gestión de dispositivos, cambio de contraseña, cierre de sesión; los datos personales se aíslan por directorio de cuenta; la sincronización en la nube se basa en la cola de envío pendiente; no hay registro por correo electrónico.
Estructura del código
- Kanpan/Kanpan/: páginas de la app, incluye Main, Symbols, Sector, Panels, Settings, Drawing, Account, ReviewIntegration.
- Kanpan/Symbols, Kanpan/Settings: dos paquetes locales KanpanSymbols y KanpanSettings, con pruebas unitarias.
- Kanpan/KanpanUITests/: XCUITest, localiza controles mediante accessibilityIdentifier.
- KanpanCore/: algoritmos puros en Swift para coordenadas, diseño, indicadores, dibujo y paletas de temas.
- KanpanChart/: gráficos dibujados a medida y gestos UIKit.
- KanpanNetwork/: interfaz mínima HTTP/WS, cliente REST/WS de Binance con limitación de velocidad, línea de mercado, competencia entre puertas de enlace y enfriamiento.
- KanpanData/: feed de mercado, catálogo, interés abierto histórico, instantáneas y caché.
- KanpanAccount/, KanpanReview/: módulos de sincronización de cuenta y revisión.
- Backend/kanpan-gateway: puerta de enlace de mercado en dos VPS (Python + aiohttp, solo sondeo de solo lectura).
- Backend/kanpan-api: backend personal en Rust, responsable de cuentas, sincronización e índice de revisión.
- prototype/: prototipo HTML; docs/: índice de especificaciones, lista de trabajo y evidencia de aceptación.
Compilación y verificación
Usa Swift 6, objetivo de despliegue iOS 26.0 (iOS 27 también está dentro del rango admitido; versiones anteriores a 26 ya no se mantienen). Abre Kanpan/Kanpan.xcodeproj o Kanpan.xcworkspace en la raíz y selecciona el esquema Kanpan. Se puede usar swift test para probar por separado KanpanCore, KanpanNetwork, KanpanData y Kanpan/Symbols; también hay comandos make strict y compilación con xcodebuild en simulador. La verificación se centra en el simulador; los casos de UI afectados se ejecutan con tiempo de espera y se guardan capturas de pantalla. El repositorio no incluye configuración de acceso a VPS, claves privadas, contraseñas ni tokens.
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.