Slope and Curvature

This commit is contained in:
Miha Kralj
2024-09-30 18:59:05 -07:00
parent 697fa19cfa
commit 11100b0685
7 changed files with 328 additions and 23 deletions
+22 -21
View File
@@ -10,9 +10,10 @@ public class TradyTests
private readonly GbmFeed feed;
private readonly Random rnd;
private readonly double range;
private readonly int period, iterations;
private readonly int iterations;
private int period;
private readonly int skip;
private readonly IEnumerable<IOhlcv> Candles;
private readonly IEnumerable<IOhlcv> Candles;
public TradyTests()
{
@@ -44,20 +45,20 @@ public class TradyTests
foreach (TBar item in feed)
{ QL.Add(ma.Calc(new TValue(item.Time, item.Close))); }
var Trady = new SimpleMovingAverage(Candles, period)
.Compute()
.Select(result => new
{
Date = result.DateTime,
Value = result.Tick.HasValue ? (double)result.Tick.Value : double.NaN
})
.ToList();
var Trady = new SimpleMovingAverage(Candles, period)
.Compute()
.Select(result => new
{
Date = result.DateTime,
Value = result.Tick.HasValue ? (double)result.Tick.Value : double.NaN
})
.ToList();
Assert.Equal(QL.Length, Trady.Count);
for (int i = QL.Length - 1; i > skip; i--)
{
double QL_item = QL[i].Value;
double Tr_item = Trady[i].Value;
double Tr_item = Trady[i].Value;
Assert.InRange(Tr_item - QL_item, -range, range);
}
}
@@ -74,20 +75,20 @@ public class TradyTests
foreach (TBar item in feed)
{ QL.Add(ma.Calc(new TValue(item.Time, item.Close))); }
var Trady = new ExponentialMovingAverage(Candles, period)
.Compute()
.Select(result => new
{
Date = result.DateTime,
Value = result.Tick.HasValue ? (double)result.Tick.Value : double.NaN
})
.ToList();
var Trady = new ExponentialMovingAverage(Candles, period)
.Compute()
.Select(result => new
{
Date = result.DateTime,
Value = result.Tick.HasValue ? (double)result.Tick.Value : double.NaN
})
.ToList();
Assert.Equal(QL.Length, Trady.Count);
for (int i = QL.Length - 1; i > skip*2; i--)
for (int i = QL.Length - 1; i > skip * 2; i--)
{
double QL_item = QL[i].Value;
double Tr_item = Trady[i].Value;
double Tr_item = Trady[i].Value;
Assert.InRange(Tr_item - QL_item, -range, range);
}
}
+1 -1
View File
@@ -9,7 +9,7 @@ public class TulipTests
private readonly Random rnd;
private readonly double range;
private int period;
private int readonly iterations;
private readonly int iterations;
private readonly double[] data;
private readonly double[] outdata;
private readonly int skip;
+1 -1
View File
@@ -9,7 +9,7 @@ public class TAlibTests
private readonly Random rnd;
private readonly double range;
private int period;
private int readonly iterations;
private readonly int iterations;
private readonly double[] data;
private readonly double[] TALIB;