volume indicators

This commit is contained in:
Miha Kralj
2026-01-30 12:47:25 -08:00
parent 76d2b50cbb
commit 7b3a6520d2
99 changed files with 9539 additions and 283 deletions
+2
View File
@@ -1,4 +1,6 @@
#pragma warning disable CS0618 // Tests intentionally use obsolete Next(bool) overload to verify it still works
namespace QuanTAlib.Tests;
public sealed class CsvFeedTests : IDisposable
+11
View File
@@ -283,7 +283,18 @@ public sealed class CsvFeed : IFeed
/// <summary>
/// Gets the next bar with simple control.
/// WARNING: This overload discards changes to isNew made by the internal implementation.
/// Callers will not observe when streaming ends. Use Next(ref bool isNew) or check HasMore instead.
/// </summary>
/// <param name="isNew">Whether to advance to the next bar (true) or replay current bar (false).</param>
/// <returns>The current or next bar.</returns>
/// <remarks>
/// Retained for backward compatibility with existing code. Deprecation is intentional to guide
/// users toward the ref overload which properly signals end-of-stream conditions.
/// </remarks>
#pragma warning disable S1133 // Deprecated code kept for backward compatibility; removal would be breaking change
[Obsolete("Use Next(ref bool isNew) to observe end-of-stream, or check HasMore before calling. This overload discards the modified isNew value.")]
#pragma warning restore S1133
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public TBar Next(bool isNew = true)
{