[CodeFactor] Apply fixes to commit 0606491

This commit is contained in:
codefactor-io
2026-03-12 19:37:50 +00:00
parent 060649192f
commit 8f79257155
384 changed files with 1197 additions and 1215 deletions
@@ -155,7 +155,7 @@ public class AdxvmaIndicatorTests
var now = DateTime.UtcNow;
for (int i = 0; i < 200; i++)
{
double price = 100 + (i * 0.1) + Math.Sin(i * 0.1) * 2;
double price = 100 + (i * 0.1) + (Math.Sin(i * 0.1) * 2);
indicator.HistoricalData.AddBar(now.AddMinutes(i), price, price + 2, price - 2, price);
indicator.ProcessUpdate(new UpdateArgs(UpdateReason.HistoricalBar));
}
+1 -1
View File
@@ -493,7 +493,7 @@ public class AdxvmaTests
// Feed strong uptrend bars (large +DM consistently)
for (int i = 0; i < 50; i++)
{
double price = 100 + i * 2;
double price = 100 + (i * 2);
var bar = new TBar(time.AddMinutes(i), price, price + 1, price - 0.5, price + 0.5, 1000);
adxvma.Update(bar, isNew: true);
}
@@ -178,7 +178,7 @@ public class AdxvmaValidationTests
// Strong uptrend: each bar H > prev H, L > prev L, consistent +DM
for (int i = 0; i < 100; i++)
{
double basePrice = 100 + i * 1.5;
double basePrice = 100 + (i * 1.5);
var bar = new TBar(time.AddMinutes(i), basePrice, basePrice + 2, basePrice - 1, basePrice + 1, 1000);
adxvma.Update(bar, isNew: true);
}
@@ -208,7 +208,7 @@ public class AdxvmaValidationTests
// Feed choppy bars: alternating up/down moves cancel out → ADX stays low
for (int i = 50; i < 150; i++)
{
double price = 100 + Math.Sin(i * 0.5) * 2; // oscillating around 100
double price = 100 + (Math.Sin(i * 0.5) * 2); // oscillating around 100
var bar = new TBar(time.AddMinutes(i), price, price + 1, price - 1, price, 1000);
adxvma.Update(bar, isNew: true);
}
@@ -29,7 +29,7 @@ file static class DecyclerPineReference
double arg = 0.707 * 2.0 * Math.PI / period;
double cosArg = Math.Cos(arg);
double alpha = (cosArg + Math.Sin(arg) - 1.0) / cosArg;
double halfAlpha = 1.0 - alpha * 0.5;
double halfAlpha = 1.0 - (alpha * 0.5);
double a1 = halfAlpha * halfAlpha;
double oneMinusAlpha = 1.0 - alpha;
double b1 = 2.0 * oneMinusAlpha;
@@ -48,9 +48,9 @@ file static class DecyclerPineReference
}
else
{
hp[i] = a1 * (src[i] - 2.0 * src[i - 1] + src[i - 2])
+ b1 * hp[i - 1]
+ c1 * hp[i - 2];
hp[i] = (a1 * (src[i] - (2.0 * src[i - 1]) + src[i - 2]))
+ (b1 * hp[i - 1])
+ (c1 * hp[i - 2]);
result[i] = src[i] - hp[i];
}
}
@@ -68,7 +68,7 @@ file static class DecyclerPineReference
double arg = 0.707 * 2.0 * Math.PI / period;
double cosArg = Math.Cos(arg);
double alpha = (cosArg + Math.Sin(arg) - 1.0) / cosArg;
double halfAlpha = 1.0 - alpha * 0.5;
double halfAlpha = 1.0 - (alpha * 0.5);
double a1 = halfAlpha * halfAlpha;
double oneMinusAlpha = 1.0 - alpha;
double b1 = 2.0 * oneMinusAlpha;
@@ -90,9 +90,9 @@ file static class DecyclerPineReference
for (int i = 1; i < src.Length; i++)
{
// IsInitialized = true from bar 1 onward
double newHp = a1 * (src[i] - 2.0 * src1 + src2)
+ b1 * hp
+ c1 * hp1;
double newHp = (a1 * (src[i] - (2.0 * src1) + src2))
+ (b1 * hp)
+ (c1 * hp1);
result[i] = src[i] - newHp;
hp1 = hp;
+1 -1
View File
@@ -23,7 +23,7 @@ public class DemaTests
var e1Val = ema1.Update(tVal);
var e2Val = ema2.Update(e1Val);
double expected = 2 * e1Val.Value - e2Val.Value;
double expected = (2 * e1Val.Value) - e2Val.Value;
Assert.Equal(expected, dVal.Value, 1e-9);
}
@@ -179,7 +179,7 @@ public sealed class DemaValidationTests : IDisposable
// Manual DEMA (Ooples logic)
var e1 = ema1.Update(item);
var e2 = ema2.Update(e1); // EMA of EMA
double ooplesVal = 2 * e1.Value - e2.Value;
double ooplesVal = (2 * e1.Value) - e2.Value;
// Compare
// Note: There might be tiny differences due to floating point operations order
+1 -1
View File
@@ -354,7 +354,7 @@ public class HwmaTests
double[] prices = new double[30];
for (int i = 0; i < 30; i++)
{
prices[i] = 100 + i * 2; // Linear uptrend
prices[i] = 100 + (i * 2); // Linear uptrend
}
double lastResult = 0;
@@ -46,12 +46,12 @@ public class HwmaValidationTests
double prevV = V;
double prevA = A;
F = alpha * series[i].Value + (1 - alpha) * (prevF + prevV + 0.5 * prevA);
V = beta * (F - prevF) + (1 - beta) * (prevV + prevA);
A = gamma * (V - prevV) + (1 - gamma) * prevA;
F = (alpha * series[i].Value) + ((1 - alpha) * (prevF + prevV + (0.5 * prevA)));
V = (beta * (F - prevF)) + ((1 - beta) * (prevV + prevA));
A = (gamma * (V - prevV)) + ((1 - gamma) * prevA);
}
double expected = F + V + 0.5 * A;
double expected = F + V + (0.5 * A);
Assert.Equal(expected, results.Last.Value, Tolerance);
}
@@ -183,14 +183,14 @@ public class HwmaValidationTests
// Generate uptrend
for (int i = 0; i < 30; i++)
{
double price = 100 + i * 2; // Strong uptrend
double price = 100 + (i * 2); // Strong uptrend
hwma.Update(new TValue(DateTime.UtcNow, price));
ema.Update(new TValue(DateTime.UtcNow, price));
}
// HWMA should be closer to current price than EMA in uptrend
// (or even ahead due to velocity/acceleration extrapolation)
double currentPrice = 100 + 29 * 2; // 158
double currentPrice = 100 + (29 * 2); // 158
double hwmaDiff = Math.Abs(hwma.Last.Value - currentPrice);
double emaDiff = Math.Abs(ema.Last.Value - currentPrice);
+1 -1
View File
@@ -83,7 +83,7 @@ public class JmaTests
// Warmup for JMA(10) is approx 203 bars
// ceil(20 + 80 * 10^0.36) = 203
int warmup = (int)Math.Ceiling(20.0 + 80.0 * Math.Pow(10, 0.36));
int warmup = (int)Math.Ceiling(20.0 + (80.0 * Math.Pow(10, 0.36)));
for (int i = 1; i < warmup; i++)
{
+1 -1
View File
@@ -134,7 +134,7 @@ public class LtmaTests
// Multiple corrections
for (int c = 0; c < 5; c++)
{
ltma.Update(new TValue(baseBar.Time, baseBar.Close + (c + 1) * 2.0), isNew: false);
ltma.Update(new TValue(baseBar.Time, baseBar.Close + ((c + 1) * 2.0)), isNew: false);
}
// Final correction with original → must restore
@@ -195,7 +195,7 @@ public sealed class LtmaValidationTests : IDisposable
var ltmaVal = ltma.Update(tVal);
var e1 = ema1.Update(tVal);
var e2 = ema2.Update(e1);
double expected = 2.0 * e1.Value - e2.Value;
double expected = (2.0 * e1.Value) - e2.Value;
Assert.Equal(expected, ltmaVal.Value, 1e-9);
}
+1 -1
View File
@@ -128,7 +128,7 @@ public class MamaTests
var now = DateTime.UtcNow;
for (int i = 0; i < 50; i++)
{
data.Add(new TValue(now.AddMinutes(i), 100.0 + Math.Sin(i * 0.1) * 10));
data.Add(new TValue(now.AddMinutes(i), 100.0 + (Math.Sin(i * 0.1) * 10)));
}
// Case 1: Update all at once
+2 -2
View File
@@ -88,7 +88,7 @@ public class MavpTests
var bar = gbm.Next(isNew: true);
series.Add(bar.Time, bar.Close);
// Variable period: oscillate between 5 and 20
double p = 5 + 15.0 * (0.5 + 0.5 * Math.Sin(i * 0.1));
double p = 5 + (15.0 * (0.5 + (0.5 * Math.Sin(i * 0.1))));
periodSeries.Add(bar.Time, p);
}
@@ -343,7 +343,7 @@ public class MavpTests
{
var bar = gbm.Next(isNew: true);
var tv = new TValue(bar.Time, bar.Close);
double period = 5 + 15.0 * (0.5 + 0.5 * Math.Sin(i * 0.1));
double period = 5 + (15.0 * (0.5 + (0.5 * Math.Sin(i * 0.1))));
// Method 1: Set period, then call Update
mavp1.Period = period;
+3 -3
View File
@@ -34,14 +34,14 @@ public class McnmaTests
e1 = Math.FusedMultiplyAdd(e1, decay, alpha * val);
e2 = Math.FusedMultiplyAdd(e2, decay, alpha * e1);
e3 = Math.FusedMultiplyAdd(e3, decay, alpha * e2);
double tema1 = 3.0 * e1 - 3.0 * e2 + e3;
double tema1 = (3.0 * e1) - (3.0 * e2) + e3;
e4 = Math.FusedMultiplyAdd(e4, decay, alpha * tema1);
e5 = Math.FusedMultiplyAdd(e5, decay, alpha * e4);
e6 = Math.FusedMultiplyAdd(e6, decay, alpha * e5);
double tema2 = 3.0 * e4 - 3.0 * e5 + e6;
double tema2 = (3.0 * e4) - (3.0 * e5) + e6;
double expected = 2.0 * tema1 - tema2;
double expected = (2.0 * tema1) - tema2;
Assert.Equal(expected, mVal.Value, 1e-9);
}
}
@@ -65,14 +65,14 @@ public sealed class McnmaValidationTests : IDisposable
e1 = Math.FusedMultiplyAdd(e1, decay, alpha * val);
e2 = Math.FusedMultiplyAdd(e2, decay, alpha * e1);
e3 = Math.FusedMultiplyAdd(e3, decay, alpha * e2);
double tema1 = 3.0 * e1 - 3.0 * e2 + e3;
double tema1 = (3.0 * e1) - (3.0 * e2) + e3;
e4 = Math.FusedMultiplyAdd(e4, decay, alpha * tema1);
e5 = Math.FusedMultiplyAdd(e5, decay, alpha * e4);
e6 = Math.FusedMultiplyAdd(e6, decay, alpha * e5);
double tema2 = 3.0 * e4 - 3.0 * e5 + e6;
double tema2 = (3.0 * e4) - (3.0 * e5) + e6;
manualResults.Add(2.0 * tema1 - tema2);
manualResults.Add((2.0 * tema1) - tema2);
}
for (int i = 0; i < qResult.Count; i++)
@@ -181,14 +181,14 @@ public sealed class McnmaValidationTests : IDisposable
e1 = Math.FusedMultiplyAdd(e1, decay, alpha * val);
e2 = Math.FusedMultiplyAdd(e2, decay, alpha * e1);
e3 = Math.FusedMultiplyAdd(e3, decay, alpha * e2);
double tema1 = 3.0 * e1 - 3.0 * e2 + e3;
double tema1 = (3.0 * e1) - (3.0 * e2) + e3;
e4 = Math.FusedMultiplyAdd(e4, decay, alpha * tema1);
e5 = Math.FusedMultiplyAdd(e5, decay, alpha * e4);
e6 = Math.FusedMultiplyAdd(e6, decay, alpha * e5);
double tema2 = 3.0 * e4 - 3.0 * e5 + e6;
double tema2 = (3.0 * e4) - (3.0 * e5) + e6;
double manualVal = 2.0 * tema1 - tema2;
double manualVal = (2.0 * tema1) - tema2;
Assert.Equal(manualVal, qVal.Value, ValidationHelper.DefaultTolerance);
}
}
+1 -1
View File
@@ -147,7 +147,7 @@ public class NmaTests
nma.Update(series[^1]);
for (int c = 0; c < 5; c++)
{
nma.Update(new TValue(series[^1].Time, series[^1].Value * (1.0 + c * 0.01)), isNew: false);
nma.Update(new TValue(series[^1].Time, series[^1].Value * (1.0 + (c * 0.01))), isNew: false);
}
var corrected = nma.Update(new TValue(series[^1].Time, series[^1].Value + 2.0), isNew: false);
@@ -120,7 +120,7 @@ public class NmaValidationTests
double lastNma = 0;
for (int i = 0; i < 100; i++)
{
double price = 100.0 + i * 0.5;
double price = 100.0 + (i * 0.5);
lastNma = nma.Update(new TValue(DateTime.UtcNow.AddMinutes(i), price)).Value;
}
+1 -1
View File
@@ -416,7 +416,7 @@ public class TramaTests
// Fill with simple incrementing values
for (int i = 0; i < size; i++)
{
source[i] = 100.0 + i * 0.01;
source[i] = 100.0 + (i * 0.01);
}
Trama.Batch(source, output, DefaultPeriod);
@@ -177,7 +177,7 @@ public class VamaIndicatorTests
// Start with low volatility period
for (int i = 0; i < 30; i++)
{
double price = 100 + i * 0.1;
double price = 100 + (i * 0.1);
indicator.HistoricalData.AddBar(now, price, price + 1, price - 1, price);
indicator.ProcessUpdate(new UpdateArgs(UpdateReason.HistoricalBar));
now = now.AddMinutes(1);
@@ -238,7 +238,7 @@ public class VamaIndicatorTests
var now = DateTime.UtcNow;
for (int i = 0; i < 200; i++)
{
double price = 100 + (i * 0.1) + Math.Sin(i * 0.1) * 2;
double price = 100 + (i * 0.1) + (Math.Sin(i * 0.1) * 2);
indicator.HistoricalData.AddBar(now.AddMinutes(i), price, price + 2, price - 2, price);
indicator.ProcessUpdate(new UpdateArgs(UpdateReason.HistoricalBar));
}
@@ -124,14 +124,14 @@ public class VamaValidationTests
// Feed low volatility bars first
for (int i = 0; i < 100; i++)
{
var bar = new TBar(time.AddMinutes(i), 100 + i * 0.1, 100.5 + i * 0.1, 99.5 + i * 0.1, 100 + i * 0.1, 1000);
var bar = new TBar(time.AddMinutes(i), 100 + (i * 0.1), 100.5 + (i * 0.1), 99.5 + (i * 0.1), 100 + (i * 0.1), 1000);
vamaLowVol.Update(bar, isNew: true);
}
// Feed high volatility bars
for (int i = 0; i < 100; i++)
{
var bar = new TBar(time.AddMinutes(i), 100 + i * 0.1, 110 + i * 0.1, 90 + i * 0.1, 100 + i * 0.1, 1000);
var bar = new TBar(time.AddMinutes(i), 100 + (i * 0.1), 110 + (i * 0.1), 90 + (i * 0.1), 100 + (i * 0.1), 1000);
vamaHighVol.Update(bar, isNew: true);
}
@@ -100,7 +100,7 @@ public class VidyaValidationTests
}
double dynamicAlpha = alpha * vi;
double currentVidya = dynamicAlpha * prices[i] + (1 - dynamicAlpha) * prevVidya;
double currentVidya = (dynamicAlpha * prices[i]) + ((1 - dynamicAlpha) * prevVidya);
results.Add(currentVidya);
prevVidya = currentVidya;