Hacktoberfest 2026: los issues que los mantenedores marcaron para octubre, abiertos y aptos para principiantes. Explorar issues de Hacktoberfest

VolumeProfile and TimeProfile hang when the value area volume percentage is 1

Abierto Apto para principiantes
#9,957 0 comentarios 0 reacciones 0 asignados Ver en GitHub

Los mantenedores suelen responder en 1 día

Nadie ha tomado este issue todavía.

Evaluación

Dificultad
1/5
Tiempo estimado
Menos de una hora
Aptitud para principiantes
82/100
Tipo de issue
Error
Claridad
Bien especificado
Estado de actividad
Activo
Stack tecnológico
csharp
Área
backend

Línea de trabajo

Empieza en Indicators/MarketProfile.cs en MarketProfile.CalculateValueArea, donde el bucle expande los índices low/high mientras el volumen del área de valor es menor o igual que el objetivo; con un porcentaje de 1, el objetivo es igual al volumen total, así que ambos índices se fijan en los extremos y el bucle nunca termina. Añade una salida cuando ni el índice low ni el high puedan moverse, lo que también corrige TimeProfile ya que comparte la clase base. Hecho significa que una prueba de regresión que construya new VolumeProfile(2, 1m) y llame a Update una vez retorne, con el área de valor abarcando todos los niveles de precio.

Escrito por el modelo de indexación a partir del texto del issue.

Descripción

Expected Behavior

new VolumeProfile(2, 1m) (a value area that holds 100% of the volume) updates normally and reports a value area that spans the whole profile.

Actual Behavior

The first Update call never returns. MarketProfile.CalculateValueArea keeps expanding the value area while its volume is less than or equal to the target. With a percentage of 1, the target equals the total volume, so the condition stays true after the area covers every price level. Both neighbor indexes are clamped to the edges and the loop runs forever. TimeProfile has the same problem because it shares the base class.

Potential Solution

In Indicators/MarketProfile.cs, CalculateValueArea, exit the loop when neither the low nor the high index can move.

Reproducing the Problem
var vp = new VolumeProfile(2, 1m);
vp.Update(new TradeBar { Symbol = Symbols.AAPL, Close = 10, Volume = 100, Time = new DateTime(2000, 1, 2) });
// never returns
System Information

Ubuntu x86_64, .NET SDK 10.0.403, master at 22404ea28b8d3f3c9eb74d6ed9f0444426f8e417.

Checklist
  • I have completely filled out this template
  • I have confirmed that this issue exists on the current master branch
  • I have confirmed that this is not a duplicate issue by searching issues
  • I have provided detailed steps to reproduce the issue
Lenguaje dominante
C#
Estrellas
22.1k
Forks
5.3k
Merge medio
1 d 8 h
PR fusionados (30 d)
32

Preparar el entorno

Abrir en Codespaces

Inicia el contenedor de desarrollo del proyecto en tu navegador, con tu propia cuenta de GitHub.

Primeros pasos

  1. Lee el issue completo y luego la guía de contribución del proyecto.
  2. Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
  3. Haz un fork del repositorio y trabaja en una rama.
  4. Abre un pull request que haga referencia al número del issue.

Más de QuantConnect/Lean

Todos los issues de QuantConnect/Lean

Issues similares

Más issues de C#

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.