958189227d
Auditoria del issue 0044: anota en notes: el contexto de consumo de
huerfanos que no pueden registrarse en uses_functions porque sus
consumidores no son funciones del registry:
- consumido por cpp/framework/app_base.cpp (framework no indexado)
- consumido por cpp/apps/{shaders_lab,chart_demo,text_editor_smoke}/main.cpp
- scaffolding/demo en primitives_gallery
31 huerfanas anotadas. Las que quedan en uses_functions=[] tras esto
son hojas legitimas (no llaman a nada) o realmente sin uso (lista
DEAD reportada en el issue 0044).
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2.9 KiB
2.9 KiB
name, kind, lang, domain, version, purity, signature, description, tags, uses_functions, uses_types, returns, returns_optional, error_type, imports, tested, tests, test_file_path, file_path, framework, params, output, notes
| name | kind | lang | domain | version | purity | signature | description | tags | uses_functions | uses_types | returns | returns_optional | error_type | imports | tested | tests | test_file_path | file_path | framework | params | output | notes | ||||||||||||||||||||||||||||||||||||||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| candlestick | component | cpp | viz | 1.0.0 | pure | void candlestick(const char* title, const double* dates, const double* opens, const double* closes, const double* lows, const double* highs, int count, float width_percent = 0.25f, bool tooltip = true) | Renderiza un grafico de velas OHLC usando ImPlot custom rendering. Verde para velas alcistas (close >= open), rojo para bajistas. |
|
false |
|
false | cpp/functions/viz/candlestick.cpp | imgui |
|
Renderiza el grafico de velas OHLC en el frame ImGui actual, sin retornar valor | scaffolding/demo en primitives_gallery |
candlestick
Grafico de velas OHLC completo usando custom rendering de ImPlot. Dibuja body (open-close) y wicks (high-low) por vela usando ImPlot::GetPlotDrawList() y ImPlot::PlotToPixels() para conversion de coordenadas.
Debe llamarse dentro del render callback de fn::run_app (o cualquier contexto con un frame ImGui activo). El eje X se configura con ImPlotScale_Time para timestamps Unix.
Solo tiene overload double porque los datos financieros requieren doble precision.
Ejemplo
// arrays de datos financieros (timestamps Unix, precios)
candlestick("BTC/USD", dates, opens, closes, lows, highs, 90);
// sin tooltip, velas mas anchas
candlestick("ETH/USD", dates, opens, closes, lows, highs, 30, 0.6f, false);
Notas
- El ancho de cada vela se calcula como
(dates[1] - dates[0]) * width_percent * 0.5en cada lado. Asume spacing uniforme entre velas. - Para un solo punto (
count == 1) el spacing por defecto es 1.0. - La deteccion de hover usa un margen de 4px alrededor del area cuerpo+wick para facilitar la interaccion.
- El eje X usa
ImPlotScale_Time— si los datos son indices numericos simples (0, 1, 2...) en lugar de timestamps, pasarImPlotAxisFlags_NoDecorationso cambiarSetupAxisScale.