[CodeFactor] Apply fixes to commit 4a01f03

This commit is contained in:
codefactor-io
2026-03-11 03:35:12 +00:00
parent 4a01f03cb4
commit 567fa89465
63 changed files with 293 additions and 302 deletions
@@ -225,12 +225,12 @@ public sealed class SqueezeValidationTests
// Build state well past warmup (WarmupPeriod = 20)
for (int i = 0; i < 50; i++)
{
double p = 100.0 + i * 0.5;
ind.Update(new TBar(t0 + i * TimeSpan.TicksPerSecond, p, p + 1, p - 1, p, 1000), isNew: true);
double p = 100.0 + (i * 0.5);
ind.Update(new TBar(t0 + (i * TimeSpan.TicksPerSecond), p, p + 1, p - 1, p, 1000), isNew: true);
}
// Anchor bar
long anchorTime = t0 + 50 * TimeSpan.TicksPerSecond;
long anchorTime = t0 + (50 * TimeSpan.TicksPerSecond);
var anchorBar = new TBar(anchorTime, 125.0, 126.0, 124.0, 125.0, 1000);
ind.Update(anchorBar, isNew: true);
double anchorMomentum = ind.Momentum;
+10 -10
View File
@@ -213,7 +213,7 @@ public sealed class Squeeze : ITValuePublisher
int n = Math.Max(1, s.SmaCount);
double smaVal = s.SmaSum / n;
double variance = Math.Max(0.0, s.SmaSumSq / n - smaVal * smaVal);
double variance = Math.Max(0.0, (s.SmaSumSq / n) - (smaVal * smaVal));
double stddev = Math.Sqrt(variance);
double bbUpper = Math.FusedMultiplyAdd(_bbMult, stddev, smaVal);
double bbLower = Math.FusedMultiplyAdd(-_bbMult, stddev, smaVal);
@@ -269,7 +269,7 @@ public sealed class Squeeze : ITValuePublisher
if (!double.IsNaN(dl) && dl < lowest) { lowest = dl; }
}
double donMid = (highest + lowest) * 0.5;
double delta = close - (donMid + smaVal) * 0.5;
double delta = close - ((donMid + smaVal) * 0.5);
// ===== STAGE 5: Linear regression of delta over period (O(1) incremental) =====
UpdateLrBuf(ref s, delta);
@@ -277,16 +277,16 @@ public sealed class Squeeze : ITValuePublisher
int pn = Math.Min(s.LrCount, _period);
int startIdx = s.LrCount - pn;
// Closed-form sums: ΣX and ΣX²
double sumX = (double)pn * (2.0 * startIdx + pn - 1) * 0.5;
double sumX = (double)pn * ((2.0 * startIdx) + pn - 1) * 0.5;
double sumX2 = Math.FusedMultiplyAdd(
pn, (double)startIdx * startIdx,
Math.FusedMultiplyAdd(
(double)startIdx * (pn - 1), pn,
(double)(pn - 1) * pn * (2 * pn - 1) / 6.0));
(double)(pn - 1) * pn * ((2 * pn) - 1) / 6.0));
double denomX = Math.FusedMultiplyAdd(pn, sumX2, -(sumX * sumX));
double slope = denomX == 0.0 ? 0.0
: Math.FusedMultiplyAdd(pn, s.SumXY, -(sumX * s.SumY)) / denomX;
double intercept = (s.SumY - slope * sumX) / pn;
double intercept = (s.SumY - (slope * sumX)) / pn;
double momentum = Math.FusedMultiplyAdd(slope, s.LrCount - 1, intercept);
_s = s;
@@ -554,7 +554,7 @@ public sealed class Squeeze : ITValuePublisher
int n = Math.Max(1, smaCount);
double smaVal = smaSum / n;
double vari = Math.Max(0.0, smaSumSq / n - smaVal * smaVal);
double vari = Math.Max(0.0, (smaSumSq / n) - (smaVal * smaVal));
double sd = Math.Sqrt(vari);
double bbUpper = Math.FusedMultiplyAdd(bbMult, sd, smaVal);
double bbLower = Math.FusedMultiplyAdd(-bbMult, sd, smaVal);
@@ -602,7 +602,7 @@ public sealed class Squeeze : ITValuePublisher
if (!double.IsNaN(dl) && dl < lowest) { lowest = dl; }
}
double donMid = (highest + lowest) * 0.5;
double delta = c - (donMid + smaVal) * 0.5;
double delta = c - ((donMid + smaVal) * 0.5);
// Stage 5: LinReg incremental
double oldLr = lrBuf[lrHead];
@@ -620,16 +620,16 @@ public sealed class Squeeze : ITValuePublisher
int pn = Math.Min(lrCount, period);
int startI = lrCount - pn;
double sx = (double)pn * (2.0 * startI + pn - 1) * 0.5;
double sx = (double)pn * ((2.0 * startI) + pn - 1) * 0.5;
double sx2 = Math.FusedMultiplyAdd(
pn, (double)startI * startI,
Math.FusedMultiplyAdd(
(double)startI * (pn - 1), pn,
(double)(pn - 1) * pn * (2 * pn - 1) / 6.0));
(double)(pn - 1) * pn * ((2 * pn) - 1) / 6.0));
double denomX = Math.FusedMultiplyAdd(pn, sx2, -(sx * sx));
double slope = denomX == 0.0 ? 0.0
: Math.FusedMultiplyAdd(pn, sumXY, -(sx * sumY)) / denomX;
double intc = (sumY - slope * sx) / pn;
double intc = (sumY - (slope * sx)) / pn;
double momentum = Math.FusedMultiplyAdd(slope, lrCount - 1, intc);
momOut[i] = momentum;