mirror of
https://github.com/mihakralj/QuanTAlib.git
synced 2026-08-23 04:58:08 +00:00
normalization of methods
This commit is contained in:
@@ -276,7 +276,7 @@ public class BbwTests
|
||||
{
|
||||
ts.Add(new TValue(times[i], close[i]));
|
||||
}
|
||||
var batchResult = Bbw.Calculate(ts, 20);
|
||||
var batchResult = Bbw.Batch(ts, 20);
|
||||
|
||||
Assert.Equal(iterativeResult, batchResult[batchResult.Count - 1].Value, 1e-8);
|
||||
}
|
||||
@@ -302,7 +302,7 @@ public class BbwTests
|
||||
{
|
||||
ts.Add(new TValue(times[i], close[i]));
|
||||
}
|
||||
var bbwBatch = Bbw.Calculate(ts, 20);
|
||||
var bbwBatch = Bbw.Batch(ts, 20);
|
||||
var smaResult = smaBatch.Update(bbwBatch);
|
||||
|
||||
Assert.Equal(sma.Last.Value, smaResult[smaResult.Count - 1].Value, 1e-8);
|
||||
@@ -321,7 +321,7 @@ public class BbwTests
|
||||
ts.Add(new TValue(times[i], close[i]));
|
||||
}
|
||||
|
||||
var result = Bbw.Calculate(ts, 20, 2.0);
|
||||
var result = Bbw.Batch(ts, 20, 2.0);
|
||||
|
||||
Assert.Equal(100, result.Count);
|
||||
Assert.True(double.IsFinite(result[result.Count - 1].Value));
|
||||
@@ -336,10 +336,10 @@ public class BbwTests
|
||||
ts.Add(new TValue(DateTime.UtcNow.AddMinutes(i), 100 + i));
|
||||
}
|
||||
|
||||
Assert.Throws<ArgumentException>(() => Bbw.Calculate(ts, 0));
|
||||
Assert.Throws<ArgumentException>(() => Bbw.Calculate(ts, -1));
|
||||
Assert.Throws<ArgumentException>(() => Bbw.Calculate(ts, 5, 0));
|
||||
Assert.Throws<ArgumentException>(() => Bbw.Calculate(ts, 5, -1));
|
||||
Assert.Throws<ArgumentException>(() => Bbw.Batch(ts, 0));
|
||||
Assert.Throws<ArgumentException>(() => Bbw.Batch(ts, -1));
|
||||
Assert.Throws<ArgumentException>(() => Bbw.Batch(ts, 5, 0));
|
||||
Assert.Throws<ArgumentException>(() => Bbw.Batch(ts, 5, -1));
|
||||
}
|
||||
|
||||
[Fact]
|
||||
|
||||
@@ -219,7 +219,7 @@ public sealed class Bbw : AbstractBase
|
||||
/// <summary>
|
||||
/// Calculates BBW for entire series.
|
||||
/// </summary>
|
||||
public static TSeries Calculate(TSeries source, int period, double multiplier = 2.0)
|
||||
public static TSeries Batch(TSeries source, int period, double multiplier = 2.0)
|
||||
{
|
||||
int len = source.Count;
|
||||
var t = new List<long>(len);
|
||||
@@ -308,4 +308,11 @@ public sealed class Bbw : AbstractBase
|
||||
output[i] = mean > 0 ? (mult2 * stddev) / mean : 0.0;
|
||||
}
|
||||
}
|
||||
|
||||
public static (TSeries Results, Bbw Indicator) Calculate(TSeries source, int period, double multiplier = 2.0)
|
||||
{
|
||||
var indicator = new Bbw(period, multiplier);
|
||||
TSeries results = indicator.Update(source);
|
||||
return (results, indicator);
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user