mirror of
https://github.com/mihakralj/QuanTAlib.git
synced 2026-08-19 11:08:05 +00:00
normalization of methods
This commit is contained in:
@@ -211,7 +211,7 @@ public class BbwpTests
|
||||
ts.Add(new TValue(bars.Times[i], bars.CloseValues[i]));
|
||||
}
|
||||
|
||||
var result = Bbwp.Calculate(ts, 10, 2.0, 50);
|
||||
var result = Bbwp.Batch(ts, 10, 2.0, 50);
|
||||
|
||||
Assert.Equal(ts.Count, result.Count);
|
||||
|
||||
@@ -331,7 +331,7 @@ public class BbwpTests
|
||||
{
|
||||
ts.Add(new TValue(times[i], close[i]));
|
||||
}
|
||||
var batchResult = Bbwp.Calculate(ts, 10, 2.0, 30);
|
||||
var batchResult = Bbwp.Batch(ts, 10, 2.0, 30);
|
||||
|
||||
Assert.Equal(iterativeResult, batchResult[batchResult.Count - 1].Value, 1e-8);
|
||||
}
|
||||
@@ -349,7 +349,7 @@ public class BbwpTests
|
||||
ts.Add(new TValue(times[i], close[i]));
|
||||
}
|
||||
|
||||
var result = Bbwp.Calculate(ts, 20, 2.0, 50);
|
||||
var result = Bbwp.Batch(ts, 20, 2.0, 50);
|
||||
|
||||
Assert.Equal(100, result.Count);
|
||||
Assert.True(double.IsFinite(result[result.Count - 1].Value));
|
||||
@@ -366,12 +366,12 @@ public class BbwpTests
|
||||
ts.Add(new TValue(DateTime.UtcNow.AddMinutes(i), 100 + i));
|
||||
}
|
||||
|
||||
Assert.Throws<ArgumentException>(() => Bbwp.Calculate(ts, 0));
|
||||
Assert.Throws<ArgumentException>(() => Bbwp.Calculate(ts, -1));
|
||||
Assert.Throws<ArgumentException>(() => Bbwp.Calculate(ts, 5, 0));
|
||||
Assert.Throws<ArgumentException>(() => Bbwp.Calculate(ts, 5, -1));
|
||||
Assert.Throws<ArgumentException>(() => Bbwp.Calculate(ts, 5, 2.0, 0));
|
||||
Assert.Throws<ArgumentException>(() => Bbwp.Calculate(ts, 5, 2.0, -1));
|
||||
Assert.Throws<ArgumentException>(() => Bbwp.Batch(ts, 0));
|
||||
Assert.Throws<ArgumentException>(() => Bbwp.Batch(ts, -1));
|
||||
Assert.Throws<ArgumentException>(() => Bbwp.Batch(ts, 5, 0));
|
||||
Assert.Throws<ArgumentException>(() => Bbwp.Batch(ts, 5, -1));
|
||||
Assert.Throws<ArgumentException>(() => Bbwp.Batch(ts, 5, 2.0, 0));
|
||||
Assert.Throws<ArgumentException>(() => Bbwp.Batch(ts, 5, 2.0, -1));
|
||||
}
|
||||
|
||||
[Fact]
|
||||
|
||||
@@ -50,7 +50,7 @@ public class BbwpValidationTests
|
||||
{
|
||||
ts.Add(new TValue(times[i], close[i]));
|
||||
}
|
||||
var batchResults = Bbwp.Calculate(ts, 10, 2.0, 50);
|
||||
var batchResults = Bbwp.Batch(ts, 10, 2.0, 50);
|
||||
|
||||
// Compare results (should be identical)
|
||||
for (int i = 0; i < bars.Count; i++)
|
||||
|
||||
@@ -266,7 +266,7 @@ public sealed class Bbwp : AbstractBase
|
||||
/// <summary>
|
||||
/// Calculates BBWP 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)
|
||||
{
|
||||
if (period <= 0)
|
||||
{
|
||||
@@ -396,4 +396,11 @@ public sealed class Bbwp : AbstractBase
|
||||
output[i] = Math.Max(0.0, Math.Min(1.0, bbwp));
|
||||
}
|
||||
}
|
||||
|
||||
public static (TSeries Results, Bbwp Indicator) Calculate(TSeries source, int period, double multiplier = 2.0, int lookback = 252)
|
||||
{
|
||||
var indicator = new Bbwp(period, multiplier, lookback);
|
||||
TSeries results = indicator.Update(source);
|
||||
return (results, indicator);
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user