normalization of methods

This commit is contained in:
Miha Kralj
2026-02-10 21:33:16 -08:00
parent 915d7a007b
commit 6d6259a47d
527 changed files with 10525 additions and 2123 deletions
+9 -9
View File
@@ -212,7 +212,7 @@ public class BbwnTests
ts.Add(new TValue(bars.Times[i], bars.CloseValues[i]));
}
var result = Bbwn.Calculate(ts, 10, 2.0, 50);
var result = Bbwn.Batch(ts, 10, 2.0, 50);
Assert.Equal(ts.Count, result.Count);
@@ -332,7 +332,7 @@ public class BbwnTests
{
ts.Add(new TValue(times[i], close[i]));
}
var batchResult = Bbwn.Calculate(ts, 10, 2.0, 30);
var batchResult = Bbwn.Batch(ts, 10, 2.0, 30);
Assert.Equal(iterativeResult, batchResult[batchResult.Count - 1].Value, 1e-8);
}
@@ -350,7 +350,7 @@ public class BbwnTests
ts.Add(new TValue(times[i], close[i]));
}
var result = Bbwn.Calculate(ts, 20, 2.0, 50);
var result = Bbwn.Batch(ts, 20, 2.0, 50);
Assert.Equal(100, result.Count);
Assert.True(double.IsFinite(result[result.Count - 1].Value));
@@ -367,12 +367,12 @@ public class BbwnTests
ts.Add(new TValue(DateTime.UtcNow.AddMinutes(i), 100 + i));
}
Assert.Throws<ArgumentException>(() => Bbwn.Calculate(ts, 0));
Assert.Throws<ArgumentException>(() => Bbwn.Calculate(ts, -1));
Assert.Throws<ArgumentException>(() => Bbwn.Calculate(ts, 5, 0));
Assert.Throws<ArgumentException>(() => Bbwn.Calculate(ts, 5, -1));
Assert.Throws<ArgumentException>(() => Bbwn.Calculate(ts, 5, 2.0, 0));
Assert.Throws<ArgumentException>(() => Bbwn.Calculate(ts, 5, 2.0, -1));
Assert.Throws<ArgumentException>(() => Bbwn.Batch(ts, 0));
Assert.Throws<ArgumentException>(() => Bbwn.Batch(ts, -1));
Assert.Throws<ArgumentException>(() => Bbwn.Batch(ts, 5, 0));
Assert.Throws<ArgumentException>(() => Bbwn.Batch(ts, 5, -1));
Assert.Throws<ArgumentException>(() => Bbwn.Batch(ts, 5, 2.0, 0));
Assert.Throws<ArgumentException>(() => Bbwn.Batch(ts, 5, 2.0, -1));
}
[Fact]
+1 -1
View File
@@ -141,7 +141,7 @@ public class BbwnValidationTests
{
source.Add(new TValue(bars.Times[i], bars.CloseValues[i]));
}
var result = Bbwn.Calculate(source, period: 10, multiplier: 2.0, lookback: 20);
var result = Bbwn.Batch(source, period: 10, multiplier: 2.0, lookback: 20);
Assert.Equal(source.Count, result.Count);
+8 -1
View File
@@ -273,7 +273,7 @@ public sealed class Bbwn : AbstractBase
/// <summary>
/// Calculates BBWN for entire series.
/// </summary>
public static TSeries Calculate(TSeries source, int period, double multiplier = 2.0, int lookback = 252)
public static TSeries Batch(TSeries source, int period, double multiplier = 2.0, int lookback = 252)
{
int len = source.Count;
var t = new List<long>(len);
@@ -382,4 +382,11 @@ public sealed class Bbwn : AbstractBase
output[i] = Math.Max(0.0, Math.Min(1.0, bbwn));
}
}
public static (TSeries Results, Bbwn Indicator) Calculate(TSeries source, int period, double multiplier = 2.0, int lookback = 252)
{
var indicator = new Bbwn(period, multiplier, lookback);
TSeries results = indicator.Update(source);
return (results, indicator);
}
}