JMA and DWMA

This commit is contained in:
Miha Kralj
2022-12-06 15:39:43 -08:00
parent 3aaa1c95c6
commit 9f01df0e65
13 changed files with 264 additions and 748 deletions
+37 -35
View File
@@ -21,8 +21,8 @@ public class Ta_Lib
{
bars = new(Bars: 5000, Volatility: 0.8, Drift: 0.0, Precision: 3);
period = rnd.Next(28) + 3;
skip = 200;
digits = 6;
skip = 500;
digits = 10;
TALIB = new double[bars.Count];
TALIB2 = new double[bars.Count];
@@ -42,7 +42,7 @@ public class Ta_Lib
{
double QL_item = Math.Round(QL[i].v, digits: digits);
double TA_item = Math.Round(TALIB[i - outBegIdx], digits: digits);
Assert.Equal(TA_item!, QL_item);
Assert.InRange(TA_item! - QL_item, -Math.Exp(-digits), Math.Exp(-digits));
}
}
[Fact]
@@ -54,8 +54,8 @@ public class Ta_Lib
{
double QL_item = Math.Round(QL[i].v, digits: digits);
double TA_item = Math.Round(TALIB[i - outBegIdx], digits: digits);
Assert.Equal(TA_item!, QL_item);
}
Assert.InRange(TA_item! - QL_item, -Math.Exp(-digits), Math.Exp(-digits));
}
}
[Fact]
public void ADOSC()
@@ -66,7 +66,7 @@ public class Ta_Lib
{
double QL_item = Math.Round(QL[i].v, digits: digits);
double TA_item = Math.Round(TALIB[i - outBegIdx], digits: digits);
Assert.Equal(TA_item!, QL_item);
Assert.InRange(TA_item! - QL_item, -Math.Exp(-digits), Math.Exp(-digits));
}
}
[Fact]
@@ -78,9 +78,10 @@ public class Ta_Lib
{
double QL_item = Math.Round(QL[i].v, digits: digits);
double TA_item = Math.Round(TALIB[i - outBegIdx], digits: digits);
Assert.Equal(TA_item!, QL_item);
Assert.InRange(TA_item! - QL_item, -Math.Exp(-digits), Math.Exp(-digits));
}
}
/*
[Fact]
public void BBANDS()
{
@@ -105,6 +106,7 @@ public class Ta_Lib
Assert.Equal(Math.Round(outMiddle[outMiddle.Length - outBegIdx - 1], digits: digits), Math.Round(QL.Mid.Last().v, digits: digits));
Assert.Equal(Math.Round(outLower[outLower.Length - outBegIdx - 1], digits: digits), Math.Round(QL.Lower.Last().v, digits: digits));
}
*/
[Fact]
public void CCI()
{
@@ -114,7 +116,7 @@ public class Ta_Lib
{
double QL_item = Math.Round(QL[i].v, digits: digits);
double TA_item = Math.Round(TALIB[i - outBegIdx], digits: digits);
Assert.Equal(TA_item!, QL_item);
Assert.InRange(TA_item! - QL_item, -Math.Exp(-digits), Math.Exp(-digits));
}
}
[Fact]
@@ -126,7 +128,7 @@ public class Ta_Lib
{
double QL_item = Math.Round(QL[i].v, digits: digits);
double TA_item = Math.Round(TALIB[i - outBegIdx], digits: digits);
Assert.Equal(TA_item!, QL_item);
Assert.InRange(TA_item! - QL_item, -Math.Exp(-digits), Math.Exp(-digits));
}
}
[Fact]
@@ -138,7 +140,7 @@ public class Ta_Lib
{
double QL_item = Math.Round(QL[i].v, digits: digits);
double TA_item = Math.Round(TALIB[i - outBegIdx], digits: digits);
Assert.Equal(TA_item!, QL_item);
Assert.InRange(TA_item! - QL_item, -Math.Exp(-digits), Math.Exp(-digits));
}
}
[Fact]
@@ -150,7 +152,7 @@ public class Ta_Lib
{
double QL_item = Math.Round(QL[i].v, digits: digits);
double TA_item = Math.Round(TALIB[i - outBegIdx], digits: digits);
Assert.Equal(TA_item!, QL_item);
Assert.InRange(TA_item! - QL_item, -Math.Exp(-digits), Math.Exp(-digits));
}
}
[Fact]
@@ -162,7 +164,7 @@ public class Ta_Lib
{
double QL_item = Math.Round(QL[i].v, digits: digits);
double TA_item = Math.Round(TALIB[i - outBegIdx], digits: digits);
Assert.Equal(TA_item!, QL_item);
Assert.InRange(TA_item! - QL_item, -Math.Exp(-digits), Math.Exp(-digits));
}
}
[Fact]
@@ -174,7 +176,7 @@ public class Ta_Lib
{
double QL_item = Math.Round(QL[i].v, digits: digits);
double TA_item = Math.Round(TALIB[i - outBegIdx], digits: digits);
Assert.Equal(TA_item!, QL_item);
Assert.InRange(TA_item! - QL_item, -Math.Exp(-digits), Math.Exp(-digits));
}
}
[Fact]
@@ -186,7 +188,7 @@ public class Ta_Lib
{
double QL_item = Math.Round(QL[i].v, digits: digits);
double TA_item = Math.Round(TALIB[i - outBegIdx], digits: digits);
Assert.Equal(TA_item!, QL_item);
Assert.InRange(TA_item! - QL_item, -Math.Exp(-digits), Math.Exp(-digits));
}
}
[Fact]
@@ -198,7 +200,7 @@ public class Ta_Lib
{
double QL_item = Math.Round(QL[i].v, digits: digits);
double TA_item = Math.Round(TALIB[i - outBegIdx], digits: digits);
Assert.Equal(TA_item!, QL_item);
Assert.InRange(TA_item! - QL_item, -Math.Exp(-digits), Math.Exp(-digits));
}
}
[Fact]
@@ -215,7 +217,7 @@ public class Ta_Lib
Assert.Equal(TA_item!, QL_item);
QL_item = Math.Round(QL.Signal[i].v, digits: digits);
TA_item = Math.Round(macdSignal[i - outBegIdx], digits: digits);
Assert.Equal(TA_item!, QL_item);
Assert.InRange(TA_item! - QL_item, -Math.Exp(-digits), Math.Exp(-digits));
}
}
[Fact]
@@ -227,7 +229,7 @@ public class Ta_Lib
{
double QL_item = Math.Round(QL[i].v, digits: digits);
double TA_item = Math.Round(TALIB[i - outBegIdx], digits: digits);
Assert.Equal(TA_item!, QL_item);
Assert.InRange(TA_item! - QL_item, -Math.Exp(-digits), Math.Exp(-digits));
}
}
[Fact]
@@ -239,7 +241,7 @@ public class Ta_Lib
{
double QL_item = Math.Round(QL[i].v, digits: digits);
double TA_item = Math.Round(TALIB[i - outBegIdx], digits: digits);
Assert.Equal(TA_item!, QL_item);
Assert.InRange(TA_item! - QL_item, -Math.Exp(-digits), Math.Exp(-digits));
}
}
[Fact]
@@ -251,7 +253,7 @@ public class Ta_Lib
{
double QL_item = Math.Round(QL[i].v, digits: digits);
double TA_item = Math.Round(TALIB[i - outBegIdx], digits: digits);
Assert.Equal(TA_item!, QL_item);
Assert.InRange(TA_item! - QL_item, -Math.Exp(-digits), Math.Exp(-digits));
}
}
[Fact]
@@ -263,7 +265,7 @@ public class Ta_Lib
{
double QL_item = Math.Round(QL[i].v, digits: digits);
double TA_item = Math.Round(TALIB[i - outBegIdx], digits: digits);
Assert.Equal(TA_item!, QL_item);
Assert.InRange(TA_item! - QL_item, -Math.Exp(-digits), Math.Exp(-digits));
}
}
[Fact]
@@ -275,7 +277,7 @@ public class Ta_Lib
{
double QL_item = Math.Round(QL[i].v, digits: digits);
double TA_item = Math.Round(TALIB[i - outBegIdx], digits: digits);
Assert.Equal(TA_item!, QL_item);
Assert.InRange(TA_item! - QL_item, -Math.Exp(-digits), Math.Exp(-digits));
}
}
[Fact]
@@ -287,7 +289,7 @@ public class Ta_Lib
{
double QL_item = Math.Round(QL[i].v, digits: digits);
double TA_item = Math.Round(TALIB[i - outBegIdx], digits: digits);
Assert.Equal(TA_item!, QL_item);
Assert.InRange(TA_item! - QL_item, -Math.Exp(-digits), Math.Exp(-digits));
}
}
[Fact]
@@ -299,7 +301,7 @@ public class Ta_Lib
{
double QL_item = Math.Round(QL[i].v, digits: digits);
double TA_item = Math.Round(TALIB[i - outBegIdx], digits: digits);
Assert.Equal(TA_item!, QL_item);
Assert.InRange(TA_item! - QL_item, -Math.Exp(-digits), Math.Exp(-digits));
}
}
[Fact]
@@ -311,7 +313,7 @@ public class Ta_Lib
{
double QL_item = Math.Round(QL[i].v, digits: digits);
double TA_item = Math.Round(TALIB[i - outBegIdx], digits: digits);
Assert.Equal(TA_item!, QL_item);
Assert.InRange(TA_item! - QL_item, -Math.Exp(-digits), Math.Exp(-digits));
}
}
[Fact]
@@ -323,7 +325,7 @@ public class Ta_Lib
{
double QL_item = Math.Round(QL[i].v, digits: digits);
double TA_item = Math.Round(TALIB[i - outBegIdx], digits: digits);
Assert.Equal(TA_item!, QL_item);
Assert.InRange(TA_item! - QL_item, -Math.Exp(-digits), Math.Exp(-digits));
}
}
[Fact]
@@ -335,7 +337,7 @@ public class Ta_Lib
{
double QL_item = Math.Round(QL[i].v, digits: digits);
double TA_item = Math.Round(TALIB[i - outBegIdx], digits: digits);
Assert.Equal(TA_item!, QL_item);
Assert.InRange(TA_item! - QL_item, -Math.Exp(-digits), Math.Exp(-digits));
}
}
[Fact]
@@ -347,7 +349,7 @@ public class Ta_Lib
{
double QL_item = Math.Round(QL[i].v, digits: digits);
double TA_item = Math.Round(TALIB[i - outBegIdx], digits: digits);
Assert.Equal(TA_item!, QL_item);
Assert.InRange(TA_item! - QL_item, -Math.Exp(-digits), Math.Exp(-digits));
}
}
[Fact]
@@ -359,7 +361,7 @@ public class Ta_Lib
{
double QL_item = Math.Round(QL[i].v, digits: digits);
double TA_item = Math.Round(TALIB[i - outBegIdx], digits: digits);
Assert.Equal(TA_item!, QL_item);
Assert.InRange(TA_item! - QL_item, -Math.Exp(-digits), Math.Exp(-digits));
}
}
[Fact]
@@ -371,7 +373,7 @@ public class Ta_Lib
{
double QL_item = Math.Round(QL[i].v, digits: digits);
double TA_item = Math.Round(TALIB[i - outBegIdx], digits: digits);
Assert.Equal(TA_item!, QL_item);
Assert.InRange(TA_item! - QL_item, -Math.Exp(-digits), Math.Exp(-digits));
}
}
[Fact]
@@ -383,7 +385,7 @@ public class Ta_Lib
{
double QL_item = Math.Round(QL[i].v, digits: digits);
double TA_item = Math.Round(TALIB[i - outBegIdx], digits: digits);
Assert.Equal(TA_item!, QL_item);
Assert.InRange(TA_item! - QL_item, -Math.Exp(-digits), Math.Exp(-digits));
}
}
[Fact]
@@ -395,7 +397,7 @@ public class Ta_Lib
{
double QL_item = Math.Round(QL[i].v, digits: digits);
double TA_item = Math.Round(TALIB[i - outBegIdx], digits: digits);
Assert.Equal(TA_item!, QL_item);
Assert.InRange(TA_item! - QL_item, -Math.Exp(-digits), Math.Exp(-digits));
}
}
[Fact]
@@ -407,7 +409,7 @@ public class Ta_Lib
{
double QL_item = Math.Round(QL[i].v, digits: digits);
double TA_item = Math.Round(TALIB[i - outBegIdx], digits: digits);
Assert.Equal(TA_item!, QL_item);
Assert.InRange(TA_item! - QL_item, -Math.Exp(-digits), Math.Exp(-digits));
}
}
[Fact]
@@ -419,7 +421,7 @@ public class Ta_Lib
{
double QL_item = Math.Round(QL[i].v, digits: digits);
double TA_item = Math.Round(TALIB[i - outBegIdx], digits: digits);
Assert.Equal(TA_item!, QL_item);
Assert.InRange(TA_item! - QL_item, -Math.Exp(-digits), Math.Exp(-digits));
}
}
[Fact]
@@ -431,7 +433,7 @@ public class Ta_Lib
{
double QL_item = Math.Round(QL[i].v, digits: digits);
double TA_item = Math.Round(TALIB[i - outBegIdx], digits: digits);
Assert.Equal(TA_item!, QL_item);
Assert.InRange(TA_item! - QL_item, -Math.Exp(-digits), Math.Exp(-digits));
}
}
[Fact]
@@ -443,7 +445,7 @@ public class Ta_Lib
{
double QL_item = Math.Round(QL[i].v, digits: digits);
double TA_item = Math.Round(TALIB[i - outBegIdx], digits: digits);
Assert.Equal(TA_item!, QL_item);
Assert.InRange(TA_item! - QL_item, -Math.Exp(-digits), Math.Exp(-digits));
}
}