mirror of
https://github.com/mihakralj/QuanTAlib.git
synced 2026-08-21 12:08:05 +00:00
New version merge
This commit is contained in:
@@ -0,0 +1,883 @@
|
||||
using Xunit;
|
||||
using QuanTAlib;
|
||||
|
||||
public class Consistency
|
||||
{
|
||||
Random rnd;
|
||||
int series_len = 1000;
|
||||
int corrections = 100;
|
||||
|
||||
public Consistency()
|
||||
{ //constructor
|
||||
rnd = new((int)DateTime.Now.Ticks);
|
||||
}
|
||||
|
||||
|
||||
[Fact]
|
||||
public void CanUpdate()
|
||||
{
|
||||
|
||||
GbmFeed gbm = new();
|
||||
TSeries input = new(gbm.Close);
|
||||
TSeries output = new(input);
|
||||
|
||||
gbm.Add(10000);
|
||||
|
||||
Assert.Equal(input.Count, output.Count);
|
||||
for (int i = 0; i < input.Count; i++)
|
||||
{
|
||||
Assert.Equal(input[i].v, output[i].v);
|
||||
}
|
||||
}
|
||||
|
||||
[Fact]
|
||||
public void Alma_isNew()
|
||||
{
|
||||
int p = (int)rnd.Next(2, 100);
|
||||
double offset = rnd.Next();
|
||||
double sigma = rnd.Next(1, 100);
|
||||
Alma ma1 = new(period: p, offset: offset, sigma: sigma);
|
||||
Alma ma2 = new(period: p, offset: offset, sigma: sigma);
|
||||
for (int i = 0; i < series_len; i++)
|
||||
{
|
||||
TValue item1 = new(Time: DateTime.Now, Value: rnd.Next(-100, 100), IsNew: true);
|
||||
ma1.Calc(item1);
|
||||
for (int j = 0; j < corrections; j++)
|
||||
{
|
||||
item1 = new(Time: DateTime.Now, Value: rnd.Next(-100, 100), IsNew: false);
|
||||
ma1.Calc(item1);
|
||||
}
|
||||
ma2.Calc(new TValue(item1.Time, item1.Value, IsNew: true));
|
||||
Assert.Equal(ma1.Value, ma2.Value);
|
||||
}
|
||||
}
|
||||
|
||||
[Fact]
|
||||
public void Convolution_isNew()
|
||||
{
|
||||
Convolution ma1 = new(new double[] { 1.0, 2, 3, 2, 1 });
|
||||
Convolution ma2 = new(new double[] { 1.0, 2, 3, 2, 1 });
|
||||
for (int i = 0; i < series_len; i++)
|
||||
{
|
||||
TValue item1 = new(Time: DateTime.Now, Value: rnd.Next(-100, 100), IsNew: true);
|
||||
ma1.Calc(item1);
|
||||
for (int j = 0; j < corrections; j++)
|
||||
{
|
||||
item1 = new(Time: DateTime.Now, Value: rnd.Next(-100, 100), IsNew: false);
|
||||
ma1.Calc(item1);
|
||||
}
|
||||
ma2.Calc(new TValue(item1.Time, item1.Value, IsNew: true));
|
||||
Assert.Equal(ma1.Value, ma2.Value);
|
||||
}
|
||||
}
|
||||
|
||||
[Fact]
|
||||
public void Dema_isNew()
|
||||
{
|
||||
int p = (int)rnd.Next(2, 100);
|
||||
Dema ma1 = new(p);
|
||||
Dema ma2 = new(p);
|
||||
for (int i = 0; i < series_len; i++)
|
||||
{
|
||||
TValue item1 = new(Time: DateTime.Now, Value: rnd.Next(-100, 100), IsNew: true);
|
||||
ma1.Calc(item1);
|
||||
for (int j = 0; j < corrections; j++)
|
||||
{
|
||||
item1 = new(Time: DateTime.Now, Value: rnd.Next(-100, 100), IsNew: false);
|
||||
ma1.Calc(item1);
|
||||
}
|
||||
ma2.Calc(new TValue(item1.Time, item1.Value, IsNew: true));
|
||||
Assert.Equal(ma1.Value, ma2.Value);
|
||||
}
|
||||
}
|
||||
|
||||
[Fact]
|
||||
public void Dsma_isNew()
|
||||
{
|
||||
int p = (int)rnd.Next(2, 100);
|
||||
Dsma ma1 = new(p);
|
||||
Dsma ma2 = new(p);
|
||||
for (int i = 0; i < series_len; i++)
|
||||
{
|
||||
TValue item1 = new(Time: DateTime.Now, Value: rnd.Next(-100, 100), IsNew: true);
|
||||
ma1.Calc(item1);
|
||||
for (int j = 0; j < corrections; j++)
|
||||
{
|
||||
item1 = new(Time: DateTime.Now, Value: rnd.Next(-100, 100), IsNew: false);
|
||||
ma1.Calc(item1);
|
||||
}
|
||||
ma2.Calc(new TValue(item1.Time, item1.Value, IsNew: true));
|
||||
Assert.Equal(ma1.Value, ma2.Value);
|
||||
}
|
||||
}
|
||||
|
||||
[Fact]
|
||||
public void Dwma_isNew()
|
||||
{
|
||||
int p = (int)rnd.Next(2, 100);
|
||||
Dwma ma1 = new(p);
|
||||
Dwma ma2 = new(p);
|
||||
for (int i = 0; i < series_len; i++)
|
||||
{
|
||||
TValue item1 = new(Time: DateTime.Now, Value: rnd.Next(-100, 100), IsNew: true);
|
||||
ma1.Calc(item1);
|
||||
for (int j = 0; j < corrections; j++)
|
||||
{
|
||||
item1 = new(Time: DateTime.Now, Value: rnd.Next(-100, 100), IsNew: false);
|
||||
ma1.Calc(item1);
|
||||
}
|
||||
ma2.Calc(new TValue(item1.Time, item1.Value, IsNew: true));
|
||||
Assert.Equal(ma1.Value, ma2.Value);
|
||||
}
|
||||
}
|
||||
|
||||
[Fact]
|
||||
public void EmaSma_isNew()
|
||||
{
|
||||
int p = (int)rnd.Next(2, 100);
|
||||
Ema ma1 = new(p, useSma: true);
|
||||
Ema ma2 = new(p, useSma: true);
|
||||
for (int i = 0; i < series_len; i++)
|
||||
{
|
||||
TValue item1 = new(Time: DateTime.Now, Value: rnd.Next(-100, 100), IsNew: true);
|
||||
ma1.Calc(item1);
|
||||
for (int j = 0; j < corrections; j++)
|
||||
{
|
||||
item1 = new(Time: DateTime.Now, Value: rnd.Next(-100, 100), IsNew: false);
|
||||
ma1.Calc(item1);
|
||||
}
|
||||
ma2.Calc(new TValue(item1.Time, item1.Value, IsNew: true));
|
||||
Assert.Equal(ma1.Value, ma2.Value);
|
||||
}
|
||||
}
|
||||
|
||||
[Fact]
|
||||
public void Ema_isNew()
|
||||
{
|
||||
int p = (int)rnd.Next(2, 100);
|
||||
Ema ma1 = new(p, useSma: false);
|
||||
Ema ma2 = new(p, useSma: false);
|
||||
for (int i = 0; i < series_len; i++)
|
||||
{
|
||||
TValue item1 = new(Time: DateTime.Now, Value: rnd.Next(-100, 100), IsNew: true);
|
||||
ma1.Calc(item1);
|
||||
for (int j = 0; j < corrections; j++)
|
||||
{
|
||||
item1 = new(Time: DateTime.Now, Value: rnd.Next(-100, 100), IsNew: false);
|
||||
ma1.Calc(item1);
|
||||
}
|
||||
ma2.Calc(new TValue(item1.Time, item1.Value, IsNew: true));
|
||||
Assert.Equal(ma1.Value, ma2.Value);
|
||||
}
|
||||
}
|
||||
|
||||
[Fact]
|
||||
public void Sma_isNew()
|
||||
{
|
||||
int p = (int)rnd.Next(2, 100);
|
||||
Sma ma1 = new(p);
|
||||
Sma ma2 = new(p);
|
||||
for (int i = 0; i < series_len; i++)
|
||||
{
|
||||
TValue item1 = new(Time: DateTime.Now, Value: rnd.Next(-100, 100), IsNew: true);
|
||||
ma1.Calc(item1);
|
||||
for (int j = 0; j < corrections; j++)
|
||||
{
|
||||
item1 = new(Time: DateTime.Now, Value: rnd.Next(-100, 100), IsNew: false);
|
||||
ma1.Calc(item1);
|
||||
}
|
||||
ma2.Calc(new TValue(item1.Time, item1.Value, IsNew: true));
|
||||
Assert.Equal(ma1.Value, ma2.Value);
|
||||
}
|
||||
}
|
||||
|
||||
[Fact]
|
||||
public void Epma_isNew()
|
||||
{
|
||||
int p = (int)rnd.Next(2, 100);
|
||||
Epma ma1 = new(p);
|
||||
Epma ma2 = new(p);
|
||||
for (int i = 0; i < series_len; i++)
|
||||
{
|
||||
TValue item1 = new(Time: DateTime.Now, Value: rnd.Next(-100, 100), IsNew: true);
|
||||
ma1.Calc(item1);
|
||||
for (int j = 0; j < corrections; j++)
|
||||
{
|
||||
item1 = new(Time: DateTime.Now, Value: rnd.Next(-100, 100), IsNew: false);
|
||||
ma1.Calc(item1);
|
||||
}
|
||||
ma2.Calc(new TValue(item1.Time, item1.Value, IsNew: true));
|
||||
Assert.Equal(ma1.Value, ma2.Value);
|
||||
}
|
||||
}
|
||||
|
||||
[Fact]
|
||||
public void Frama_isNew()
|
||||
{
|
||||
int p = (int)rnd.Next(2, 100);
|
||||
Frama ma1 = new(p);
|
||||
Frama ma2 = new(p);
|
||||
for (int i = 0; i < series_len; i++)
|
||||
{
|
||||
TValue item1 = new(Time: DateTime.Now, Value: rnd.Next(-100, 100), IsNew: true);
|
||||
ma1.Calc(item1);
|
||||
for (int j = 0; j < corrections; j++)
|
||||
{
|
||||
item1 = new(Time: DateTime.Now, Value: rnd.Next(-100, 100), IsNew: false);
|
||||
ma1.Calc(item1);
|
||||
}
|
||||
ma2.Calc(new TValue(item1.Time, item1.Value, IsNew: true));
|
||||
Assert.Equal(ma1.Value, ma2.Value);
|
||||
}
|
||||
}
|
||||
|
||||
[Fact]
|
||||
public void Fwma_isNew()
|
||||
{
|
||||
int p = (int)rnd.Next(2, 100);
|
||||
Fwma ma1 = new(p);
|
||||
Fwma ma2 = new(p);
|
||||
for (int i = 0; i < series_len; i++)
|
||||
{
|
||||
TValue item1 = new(Time: DateTime.Now, Value: rnd.Next(-100, 100), IsNew: true);
|
||||
ma1.Calc(item1);
|
||||
for (int j = 0; j < corrections; j++)
|
||||
{
|
||||
item1 = new(Time: DateTime.Now, Value: rnd.Next(-100, 100), IsNew: false);
|
||||
ma1.Calc(item1);
|
||||
}
|
||||
ma2.Calc(new TValue(item1.Time, item1.Value, IsNew: true));
|
||||
Assert.Equal(ma1.Value, ma2.Value);
|
||||
}
|
||||
}
|
||||
|
||||
[Fact]
|
||||
public void Gma_isNew()
|
||||
{
|
||||
int p = (int)rnd.Next(2, 100);
|
||||
Gma ma1 = new(p);
|
||||
Gma ma2 = new(p);
|
||||
for (int i = 0; i < series_len; i++)
|
||||
{
|
||||
TValue item1 = new(Time: DateTime.Now, Value: rnd.Next(-100, 100), IsNew: true);
|
||||
ma1.Calc(item1);
|
||||
for (int j = 0; j < corrections; j++)
|
||||
{
|
||||
item1 = new(Time: DateTime.Now, Value: rnd.Next(-100, 100), IsNew: false);
|
||||
ma1.Calc(item1);
|
||||
}
|
||||
ma2.Calc(new TValue(item1.Time, item1.Value, IsNew: true));
|
||||
Assert.Equal(ma1.Value, ma2.Value);
|
||||
}
|
||||
}
|
||||
|
||||
[Fact]
|
||||
public void Hma_isNew()
|
||||
{
|
||||
int p = (int)rnd.Next(2, 100);
|
||||
Hma ma1 = new(p);
|
||||
Hma ma2 = new(p);
|
||||
for (int i = 0; i < series_len; i++)
|
||||
{
|
||||
TValue item1 = new(Time: DateTime.Now, Value: rnd.Next(-100, 100), IsNew: true);
|
||||
ma1.Calc(item1);
|
||||
for (int j = 0; j < corrections; j++)
|
||||
{
|
||||
item1 = new(Time: DateTime.Now, Value: rnd.Next(-100, 100), IsNew: false);
|
||||
ma1.Calc(item1);
|
||||
}
|
||||
ma2.Calc(new TValue(item1.Time, item1.Value, IsNew: true));
|
||||
Assert.Equal(ma1.Value, ma2.Value);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
[Fact]
|
||||
public void Hwma_isNew()
|
||||
{
|
||||
int p = (int)rnd.Next(2, 100);
|
||||
Hwma ma1 = new(p);
|
||||
Hwma ma2 = new(p);
|
||||
for (int i = 0; i < series_len; i++)
|
||||
{
|
||||
TValue item1 = new(Time: DateTime.Now, Value: rnd.Next(-100, 100), IsNew: true);
|
||||
ma1.Calc(item1);
|
||||
for (int j = 0; j < corrections; j++)
|
||||
{
|
||||
item1 = new(Time: DateTime.Now, Value: rnd.Next(-100, 100), IsNew: false);
|
||||
ma1.Calc(item1);
|
||||
}
|
||||
ma2.Calc(new TValue(item1.Time, item1.Value, IsNew: true));
|
||||
Assert.Equal(ma1.Value, ma2.Value);
|
||||
}
|
||||
}
|
||||
|
||||
/*
|
||||
[Fact]
|
||||
public void Jma_isNew()
|
||||
{
|
||||
int p = (int)rnd.Next(2, 100);
|
||||
Jma ma1 = new(p);
|
||||
Jma ma2 = new(p);
|
||||
for (int i = 0; i < series_len; i++)
|
||||
{
|
||||
TValue item1 = new(Time: DateTime.Now, Value: rnd.Next(-100, 100), IsNew: true);
|
||||
ma1.Calc(item1);
|
||||
for (int j = 0; j < corrections; j++)
|
||||
{
|
||||
item1 = new(Time: DateTime.Now, Value: rnd.Next(-100, 100), IsNew: false);
|
||||
ma1.Calc(item1);
|
||||
}
|
||||
ma2.Calc(new TValue(item1.Time, item1.Value, IsNew: true));
|
||||
|
||||
//Assert.Equal(ma1.Value, ma2.Value);
|
||||
Assert.True(ma1.Value == ma2.Value, $"Assertion failed at p={p}, Value={item1.Value}. ma1.Value={ma1.Value}, ma2.Value={ma2.Value}");
|
||||
}
|
||||
}
|
||||
*/
|
||||
|
||||
|
||||
[Fact]
|
||||
public void Kama_isNew()
|
||||
{
|
||||
int p = (int)rnd.Next(2, 100);
|
||||
Kama ma1 = new(p);
|
||||
Kama ma2 = new(p);
|
||||
for (int i = 0; i < series_len; i++)
|
||||
{
|
||||
TValue item1 = new(Time: DateTime.Now, Value: rnd.Next(-100, 100), IsNew: true);
|
||||
ma1.Calc(item1);
|
||||
for (int j = 0; j < corrections; j++)
|
||||
{
|
||||
item1 = new(Time: DateTime.Now, Value: rnd.Next(-100, 100), IsNew: false);
|
||||
ma1.Calc(item1);
|
||||
}
|
||||
ma2.Calc(new TValue(item1.Time, item1.Value, IsNew: true));
|
||||
Assert.Equal(ma1.Value, ma2.Value);
|
||||
}
|
||||
}
|
||||
|
||||
[Fact]
|
||||
public void Ltma_isNew()
|
||||
{
|
||||
int p = rnd.Next(0, 1);
|
||||
Ltma ma1 = new(p);
|
||||
Ltma ma2 = new(p);
|
||||
for (int i = 0; i < series_len; i++)
|
||||
{
|
||||
TValue item1 = new(Time: DateTime.Now, Value: rnd.Next(-100, 100), IsNew: true);
|
||||
ma1.Calc(item1);
|
||||
for (int j = 0; j < corrections; j++)
|
||||
{
|
||||
item1 = new(Time: DateTime.Now, Value: rnd.Next(-100, 100), IsNew: false);
|
||||
ma1.Calc(item1);
|
||||
}
|
||||
ma2.Calc(new TValue(item1.Time, item1.Value, IsNew: true));
|
||||
Assert.Equal(ma1.Value, ma2.Value);
|
||||
}
|
||||
}
|
||||
|
||||
[Fact]
|
||||
public void Mama_isNew()
|
||||
{
|
||||
int p = rnd.Next(0, 1);
|
||||
Mama ma1 = new(p, p * 0.1);
|
||||
Mama ma2 = new(p, p * 0.1);
|
||||
for (int i = 0; i < series_len; i++)
|
||||
{
|
||||
TValue item1 = new(Time: DateTime.Now, Value: rnd.Next(-100, 100), IsNew: true);
|
||||
ma1.Calc(item1);
|
||||
for (int j = 0; j < corrections; j++)
|
||||
{
|
||||
item1 = new(Time: DateTime.Now, Value: rnd.Next(-100, 100), IsNew: false);
|
||||
ma1.Calc(item1);
|
||||
}
|
||||
ma2.Calc(new TValue(item1.Time, item1.Value, IsNew: true));
|
||||
Assert.Equal(ma1.Value, ma2.Value);
|
||||
|
||||
Assert.True(ma1.Value == ma2.Value, $"Assertion failed for p={p}, i={i}. Expected {ma1.Value} but got {ma2.Value}.");
|
||||
}
|
||||
}
|
||||
|
||||
[Fact]
|
||||
public void Mgdi_isNew()
|
||||
{
|
||||
int p = (int)rnd.Next(2, 100);
|
||||
Mgdi ma1 = new(p);
|
||||
Mgdi ma2 = new(p);
|
||||
for (int i = 0; i < series_len; i++)
|
||||
{
|
||||
TValue item1 = new(Time: DateTime.Now, Value: rnd.Next(-100, 100), IsNew: true);
|
||||
ma1.Calc(item1);
|
||||
for (int j = 0; j < corrections; j++)
|
||||
{
|
||||
item1 = new(Time: DateTime.Now, Value: rnd.Next(-100, 100), IsNew: false);
|
||||
ma1.Calc(item1);
|
||||
}
|
||||
ma2.Calc(new TValue(item1.Time, item1.Value, IsNew: true));
|
||||
Assert.Equal(ma1.Value, ma2.Value);
|
||||
}
|
||||
}
|
||||
|
||||
[Fact]
|
||||
public void Mma_isNew()
|
||||
{
|
||||
int p = (int)rnd.Next(2, 100);
|
||||
Mma ma1 = new(p);
|
||||
Mma ma2 = new(p);
|
||||
for (int i = 0; i < series_len; i++)
|
||||
{
|
||||
TValue item1 = new(Time: DateTime.Now, Value: rnd.Next(-100, 100), IsNew: true);
|
||||
ma1.Calc(item1);
|
||||
for (int j = 0; j < corrections; j++)
|
||||
{
|
||||
item1 = new(Time: DateTime.Now, Value: rnd.Next(-100, 100), IsNew: false);
|
||||
ma1.Calc(item1);
|
||||
}
|
||||
ma2.Calc(new TValue(item1.Time, item1.Value, IsNew: true));
|
||||
Assert.Equal(ma1.Value, ma2.Value);
|
||||
}
|
||||
}
|
||||
|
||||
[Fact]
|
||||
public void Qema_isNew()
|
||||
{
|
||||
int p = (int)rnd.Next(2, 100);
|
||||
Qema ma1 = new();
|
||||
Qema ma2 = new();
|
||||
for (int i = 0; i < series_len; i++)
|
||||
{
|
||||
TValue item1 = new(Time: DateTime.Now, Value: rnd.Next(-100, 100), IsNew: true);
|
||||
ma1.Calc(item1);
|
||||
for (int j = 0; j < corrections; j++)
|
||||
{
|
||||
item1 = new(Time: DateTime.Now, Value: rnd.Next(-100, 100), IsNew: false);
|
||||
ma1.Calc(item1);
|
||||
}
|
||||
ma2.Calc(new TValue(item1.Time, item1.Value, IsNew: true));
|
||||
Assert.Equal(ma1.Value, ma2.Value);
|
||||
}
|
||||
}
|
||||
|
||||
[Fact]
|
||||
public void Rema_isNew()
|
||||
{
|
||||
int p = (int)rnd.Next(2, 100);
|
||||
Rema ma1 = new(p);
|
||||
Rema ma2 = new(p);
|
||||
for (int i = 0; i < series_len; i++)
|
||||
{
|
||||
TValue item1 = new(Time: DateTime.Now, Value: rnd.Next(-100, 100), IsNew: true);
|
||||
ma1.Calc(item1);
|
||||
for (int j = 0; j < corrections; j++)
|
||||
{
|
||||
item1 = new(Time: DateTime.Now, Value: rnd.Next(-100, 100), IsNew: false);
|
||||
ma1.Calc(item1);
|
||||
}
|
||||
ma2.Calc(new TValue(item1.Time, item1.Value, IsNew: true));
|
||||
Assert.Equal(ma1.Value, ma2.Value);
|
||||
}
|
||||
}
|
||||
|
||||
[Fact]
|
||||
public void Rma_isNew()
|
||||
{
|
||||
int p = (int)rnd.Next(2, 100);
|
||||
Rma ma1 = new(p);
|
||||
Rma ma2 = new(p);
|
||||
for (int i = 0; i < series_len; i++)
|
||||
{
|
||||
TValue item1 = new(Time: DateTime.Now, Value: rnd.Next(-100, 100), IsNew: true);
|
||||
ma1.Calc(item1);
|
||||
for (int j = 0; j < corrections; j++)
|
||||
{
|
||||
item1 = new(Time: DateTime.Now, Value: rnd.Next(-100, 100), IsNew: false);
|
||||
ma1.Calc(item1);
|
||||
}
|
||||
ma2.Calc(new TValue(item1.Time, item1.Value, IsNew: true));
|
||||
Assert.Equal(ma1.Value, ma2.Value);
|
||||
}
|
||||
}
|
||||
|
||||
[Fact]
|
||||
public void Sinema_isNew()
|
||||
{
|
||||
int p = (int)rnd.Next(2, 100);
|
||||
Sinema ma1 = new(p);
|
||||
Sinema ma2 = new(p);
|
||||
for (int i = 0; i < series_len; i++)
|
||||
{
|
||||
TValue item1 = new(Time: DateTime.Now, Value: rnd.Next(-100, 100), IsNew: true);
|
||||
ma1.Calc(item1);
|
||||
for (int j = 0; j < corrections; j++)
|
||||
{
|
||||
item1 = new(Time: DateTime.Now, Value: rnd.Next(-100, 100), IsNew: false);
|
||||
ma1.Calc(item1);
|
||||
}
|
||||
ma2.Calc(new TValue(item1.Time, item1.Value, IsNew: true));
|
||||
Assert.Equal(ma1.Value, ma2.Value);
|
||||
}
|
||||
}
|
||||
|
||||
[Fact]
|
||||
public void Smma_isNew()
|
||||
{
|
||||
int p = (int)rnd.Next(2, 100);
|
||||
Smma ma1 = new(p);
|
||||
Smma ma2 = new(p);
|
||||
for (int i = 0; i < series_len; i++)
|
||||
{
|
||||
TValue item1 = new(Time: DateTime.Now, Value: rnd.Next(-100, 100), IsNew: true);
|
||||
ma1.Calc(item1);
|
||||
for (int j = 0; j < corrections; j++)
|
||||
{
|
||||
item1 = new(Time: DateTime.Now, Value: rnd.Next(-100, 100), IsNew: false);
|
||||
ma1.Calc(item1);
|
||||
}
|
||||
ma2.Calc(new TValue(item1.Time, item1.Value, IsNew: true));
|
||||
Assert.Equal(ma1.Value, ma2.Value);
|
||||
}
|
||||
}
|
||||
|
||||
[Fact]
|
||||
public void T3_isNew()
|
||||
{
|
||||
int p = (int)rnd.Next(2, 100);
|
||||
T3 ma1 = new(p);
|
||||
T3 ma2 = new(p);
|
||||
for (int i = 0; i < series_len; i++)
|
||||
{
|
||||
TValue item1 = new(Time: DateTime.Now, Value: rnd.Next(-100, 100), IsNew: true);
|
||||
ma1.Calc(item1);
|
||||
for (int j = 0; j < corrections; j++)
|
||||
{
|
||||
item1 = new(Time: DateTime.Now, Value: rnd.Next(-100, 100), IsNew: false);
|
||||
ma1.Calc(item1);
|
||||
}
|
||||
ma2.Calc(new TValue(item1.Time, item1.Value, IsNew: true));
|
||||
Assert.Equal(ma1.Value, ma2.Value);
|
||||
}
|
||||
}
|
||||
|
||||
[Fact]
|
||||
public void Tema_isNew()
|
||||
{
|
||||
int p = (int)rnd.Next(2, 100);
|
||||
Tema ma1 = new(p);
|
||||
Tema ma2 = new(p);
|
||||
for (int i = 0; i < series_len; i++)
|
||||
{
|
||||
TValue item1 = new(Time: DateTime.Now, Value: rnd.Next(-100, 100), IsNew: true);
|
||||
ma1.Calc(item1);
|
||||
for (int j = 0; j < corrections; j++)
|
||||
{
|
||||
item1 = new(Time: DateTime.Now, Value: rnd.Next(-100, 100), IsNew: false);
|
||||
ma1.Calc(item1);
|
||||
}
|
||||
ma2.Calc(new TValue(item1.Time, item1.Value, IsNew: true));
|
||||
Assert.Equal(ma1.Value, ma2.Value);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
[Fact]
|
||||
public void Trima_isNew()
|
||||
{
|
||||
int p = (int)rnd.Next(2, 100);
|
||||
Trima ma1 = new(p);
|
||||
Trima ma2 = new(p);
|
||||
for (int i = 0; i < series_len; i++)
|
||||
{
|
||||
TValue item1 = new(Time: DateTime.Now, Value: rnd.Next(-100, 100), IsNew: true);
|
||||
ma1.Calc(item1);
|
||||
for (int j = 0; j < corrections; j++)
|
||||
{
|
||||
item1 = new(Time: DateTime.Now, Value: rnd.Next(-100, 100), IsNew: false);
|
||||
ma1.Calc(item1);
|
||||
}
|
||||
ma2.Calc(new TValue(item1.Time, item1.Value, IsNew: true));
|
||||
Assert.Equal(ma1.Value, ma2.Value);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
[Fact]
|
||||
public void Vidya_isNew()
|
||||
{
|
||||
int p = (int)rnd.Next(2, 100);
|
||||
Vidya ma1 = new(p);
|
||||
Vidya ma2 = new(p);
|
||||
for (int i = 0; i < series_len; i++)
|
||||
{
|
||||
TValue item1 = new(Time: DateTime.Now, Value: rnd.Next(-100, 100), IsNew: true);
|
||||
ma1.Calc(item1);
|
||||
for (int j = 0; j < corrections; j++)
|
||||
{
|
||||
item1 = new(Time: DateTime.Now, Value: rnd.Next(-100, 100), IsNew: false);
|
||||
ma1.Calc(item1);
|
||||
}
|
||||
ma2.Calc(new TValue(item1.Time, item1.Value, IsNew: true));
|
||||
Assert.Equal(ma1.Value, ma2.Value);
|
||||
}
|
||||
}
|
||||
|
||||
[Fact]
|
||||
public void Wma_isNew()
|
||||
{
|
||||
int p = (int)rnd.Next(2, 100);
|
||||
Wma ma1 = new(p);
|
||||
Wma ma2 = new(p);
|
||||
for (int i = 0; i < series_len; i++)
|
||||
{
|
||||
TValue item1 = new(Time: DateTime.Now, Value: rnd.Next(-100, 100), IsNew: true);
|
||||
ma1.Calc(item1);
|
||||
for (int j = 0; j < corrections; j++)
|
||||
{
|
||||
item1 = new(Time: DateTime.Now, Value: rnd.Next(-100, 100), IsNew: false);
|
||||
ma1.Calc(item1);
|
||||
}
|
||||
ma2.Calc(new TValue(item1.Time, item1.Value, IsNew: true));
|
||||
Assert.Equal(ma1.Value, ma2.Value);
|
||||
}
|
||||
}
|
||||
[Fact]
|
||||
public void Zlema_isNew()
|
||||
{
|
||||
int p = (int)rnd.Next(2, 100);
|
||||
Zlema ma1 = new(p);
|
||||
Zlema ma2 = new(p);
|
||||
for (int i = 0; i < series_len; i++)
|
||||
{
|
||||
TValue item1 = new(Time: DateTime.Now, Value: rnd.Next(-100, 100), IsNew: true);
|
||||
ma1.Calc(item1);
|
||||
for (int j = 0; j < corrections; j++)
|
||||
{
|
||||
item1 = new(Time: DateTime.Now, Value: rnd.Next(-100, 100), IsNew: false);
|
||||
ma1.Calc(item1);
|
||||
}
|
||||
ma2.Calc(new TValue(item1.Time, item1.Value, IsNew: true));
|
||||
Assert.Equal(ma1.Value, ma2.Value);
|
||||
}
|
||||
}
|
||||
|
||||
[Fact]
|
||||
public void Entropy_isNew()
|
||||
{
|
||||
int p = (int)rnd.Next(2, 100);
|
||||
Entropy ma1 = new(p);
|
||||
Entropy ma2 = new(p);
|
||||
for (int i = 0; i < series_len; i++)
|
||||
{
|
||||
TValue item1 = new(Time: DateTime.Now, Value: rnd.Next(-100, 100), IsNew: true);
|
||||
ma1.Calc(item1);
|
||||
for (int j = 0; j < corrections; j++)
|
||||
{
|
||||
item1 = new(Time: DateTime.Now, Value: rnd.Next(-100, 100), IsNew: false);
|
||||
ma1.Calc(item1);
|
||||
}
|
||||
ma2.Calc(new TValue(item1.Time, item1.Value, IsNew: true));
|
||||
Assert.Equal(ma1.Value, ma2.Value);
|
||||
}
|
||||
}
|
||||
|
||||
[Fact]
|
||||
public void Kurtosis_isNew()
|
||||
{
|
||||
int p = (int)rnd.Next(2, 100);
|
||||
Kurtosis ma1 = new(p);
|
||||
Kurtosis ma2 = new(p);
|
||||
for (int i = 0; i < series_len; i++)
|
||||
{
|
||||
TValue item1 = new(Time: DateTime.Now, Value: rnd.Next(-100, 100), IsNew: true);
|
||||
ma1.Calc(item1);
|
||||
for (int j = 0; j < corrections; j++)
|
||||
{
|
||||
item1 = new(Time: DateTime.Now, Value: rnd.Next(-100, 100), IsNew: false);
|
||||
ma1.Calc(item1);
|
||||
}
|
||||
ma2.Calc(new TValue(item1.Time, item1.Value, IsNew: true));
|
||||
Assert.Equal(ma1.Value, ma2.Value);
|
||||
}
|
||||
}
|
||||
|
||||
[Fact]
|
||||
public void Max_isNew()
|
||||
{
|
||||
int p = (int)rnd.Next(2, 100);
|
||||
Max ma1 = new(p, 0.01);
|
||||
Max ma2 = new(p, 0.01);
|
||||
for (int i = 0; i < series_len; i++)
|
||||
{
|
||||
TValue item1 = new(Time: DateTime.Now, Value: rnd.Next(-100, 100), IsNew: true);
|
||||
ma1.Calc(item1);
|
||||
for (int j = 0; j < corrections; j++)
|
||||
{
|
||||
item1 = new(Time: DateTime.Now, Value: rnd.Next(-100, 100), IsNew: false);
|
||||
ma1.Calc(item1);
|
||||
}
|
||||
ma2.Calc(new TValue(item1.Time, item1.Value, IsNew: true));
|
||||
Assert.Equal(ma1.Value, ma2.Value);
|
||||
}
|
||||
}
|
||||
|
||||
[Fact]
|
||||
public void Min_isNew()
|
||||
{
|
||||
int p = (int)rnd.Next(2, 100);
|
||||
Min ma1 = new(p, 0.01);
|
||||
Min ma2 = new(p, 0.01);
|
||||
for (int i = 0; i < series_len; i++)
|
||||
{
|
||||
TValue item1 = new(Time: DateTime.Now, Value: rnd.Next(-100, 100), IsNew: true);
|
||||
ma1.Calc(item1);
|
||||
for (int j = 0; j < corrections; j++)
|
||||
{
|
||||
item1 = new(Time: DateTime.Now, Value: rnd.Next(-100, 100), IsNew: false);
|
||||
ma1.Calc(item1);
|
||||
}
|
||||
ma2.Calc(new TValue(item1.Time, item1.Value, IsNew: true));
|
||||
Assert.Equal(ma1.Value, ma2.Value);
|
||||
}
|
||||
}
|
||||
|
||||
[Fact]
|
||||
public void Med_isNew()
|
||||
{
|
||||
int p = (int)rnd.Next(2, 100);
|
||||
Median ma1 = new(p);
|
||||
Median ma2 = new(p);
|
||||
for (int i = 0; i < series_len; i++)
|
||||
{
|
||||
TValue item1 = new(Time: DateTime.Now, Value: rnd.Next(-100, 100), IsNew: true);
|
||||
ma1.Calc(item1);
|
||||
for (int j = 0; j < corrections; j++)
|
||||
{
|
||||
item1 = new(Time: DateTime.Now, Value: rnd.Next(-100, 100), IsNew: false);
|
||||
ma1.Calc(item1);
|
||||
}
|
||||
ma2.Calc(new TValue(item1.Time, item1.Value, IsNew: true));
|
||||
Assert.Equal(ma1.Value, ma2.Value);
|
||||
}
|
||||
}
|
||||
|
||||
[Fact]
|
||||
public void Mode_isNew()
|
||||
{
|
||||
int p = (int)rnd.Next(2, 100);
|
||||
Mode ma1 = new(p);
|
||||
Mode ma2 = new(p);
|
||||
for (int i = 0; i < series_len; i++)
|
||||
{
|
||||
TValue item1 = new(Time: DateTime.Now, Value: rnd.Next(-100, 100), IsNew: true);
|
||||
ma1.Calc(item1);
|
||||
for (int j = 0; j < corrections; j++)
|
||||
{
|
||||
item1 = new(Time: DateTime.Now, Value: rnd.Next(-100, 100), IsNew: false);
|
||||
ma1.Calc(item1);
|
||||
}
|
||||
ma2.Calc(new TValue(item1.Time, item1.Value, IsNew: true));
|
||||
Assert.Equal(ma1.Value, ma2.Value);
|
||||
}
|
||||
}
|
||||
|
||||
[Fact]
|
||||
public void Percentile_isNew()
|
||||
{
|
||||
int p = (int)rnd.Next(2, 100);
|
||||
Percentile ma1 = new(p, 50);
|
||||
Percentile ma2 = new(p, 50);
|
||||
for (int i = 0; i < series_len; i++)
|
||||
{
|
||||
TValue item1 = new(Time: DateTime.Now, Value: rnd.Next(-100, 100), IsNew: true);
|
||||
ma1.Calc(item1);
|
||||
for (int j = 0; j < corrections; j++)
|
||||
{
|
||||
item1 = new(Time: DateTime.Now, Value: rnd.Next(-100, 100), IsNew: false);
|
||||
ma1.Calc(item1);
|
||||
}
|
||||
ma2.Calc(new TValue(item1.Time, item1.Value, IsNew: true));
|
||||
Assert.Equal(ma1.Value, ma2.Value);
|
||||
}
|
||||
}
|
||||
|
||||
[Fact]
|
||||
public void Skew_isNew()
|
||||
{
|
||||
int p = (int)rnd.Next(2, 100);
|
||||
Skew ma1 = new(p);
|
||||
Skew ma2 = new(p);
|
||||
for (int i = 0; i < series_len; i++)
|
||||
{
|
||||
TValue item1 = new(Time: DateTime.Now, Value: rnd.Next(-100, 100), IsNew: true);
|
||||
ma1.Calc(item1);
|
||||
for (int j = 0; j < corrections; j++)
|
||||
{
|
||||
item1 = new(Time: DateTime.Now, Value: rnd.Next(-100, 100), IsNew: false);
|
||||
ma1.Calc(item1);
|
||||
}
|
||||
ma2.Calc(new TValue(item1.Time, item1.Value, IsNew: true));
|
||||
Assert.Equal(ma1.Value, ma2.Value);
|
||||
}
|
||||
}
|
||||
|
||||
[Fact]
|
||||
public void Stddev_isNew()
|
||||
{
|
||||
int p = (int)rnd.Next(2, 100);
|
||||
Stddev ma1 = new(p);
|
||||
Stddev ma2 = new(p);
|
||||
for (int i = 0; i < series_len; i++)
|
||||
{
|
||||
TValue item1 = new(Time: DateTime.Now, Value: rnd.Next(-100, 100), IsNew: true);
|
||||
ma1.Calc(item1);
|
||||
for (int j = 0; j < corrections; j++)
|
||||
{
|
||||
item1 = new(Time: DateTime.Now, Value: rnd.Next(-100, 100), IsNew: false);
|
||||
ma1.Calc(item1);
|
||||
}
|
||||
ma2.Calc(new TValue(item1.Time, item1.Value, IsNew: true));
|
||||
Assert.Equal(ma1.Value, ma2.Value);
|
||||
}
|
||||
}
|
||||
|
||||
[Fact]
|
||||
public void Variance_isNew()
|
||||
{
|
||||
int p = (int)rnd.Next(2, 100);
|
||||
Variance ma1 = new(p);
|
||||
Variance ma2 = new(p);
|
||||
for (int i = 0; i < series_len; i++)
|
||||
{
|
||||
TValue item1 = new(Time: DateTime.Now, Value: rnd.Next(-100, 100), IsNew: true);
|
||||
ma1.Calc(item1);
|
||||
for (int j = 0; j < corrections; j++)
|
||||
{
|
||||
item1 = new(Time: DateTime.Now, Value: rnd.Next(-100, 100), IsNew: false);
|
||||
ma1.Calc(item1);
|
||||
}
|
||||
ma2.Calc(new TValue(item1.Time, item1.Value, IsNew: true));
|
||||
Assert.Equal(ma1.Value, ma2.Value);
|
||||
}
|
||||
}
|
||||
|
||||
[Fact]
|
||||
public void Zscore_isNew()
|
||||
{
|
||||
int p = (int)rnd.Next(2, 100);
|
||||
Zscore ma1 = new(p);
|
||||
Zscore ma2 = new(p);
|
||||
for (int i = 0; i < series_len; i++)
|
||||
{
|
||||
TValue item1 = new(Time: DateTime.Now, Value: rnd.Next(-100, 100), IsNew: true);
|
||||
ma1.Calc(item1);
|
||||
for (int j = 0; j < corrections; j++)
|
||||
{
|
||||
item1 = new(Time: DateTime.Now, Value: rnd.Next(-100, 100), IsNew: false);
|
||||
ma1.Calc(item1);
|
||||
}
|
||||
ma2.Calc(new TValue(item1.Time, item1.Value, IsNew: true));
|
||||
Assert.Equal(ma1.Value, ma2.Value);
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
Reference in New Issue
Block a user