ABOVE_Series

This commit is contained in:
Miha Kralj
2023-04-03 09:45:19 -07:00
parent d02fa3a5ec
commit 69fae888d5
6 changed files with 36 additions and 15 deletions
+11 -4
View File
@@ -10,7 +10,8 @@ Remarks:
</summary> */
public class OVER_Series : Pair_TSeries_Indicator {
public TSeries Cross = new();
public TSeries Cross { get; set; } = new();
private double _previous = double.NaN;
public OVER_Series(TSeries d1, TSeries d2) : base(d1, d2) {
if (base._d1.Count > 0 && base._d2.Count > 0) { for (int i = 0; i < base._d1.Count; i++) { this.Add(base._d1[i], base._d2[i], false); } }
@@ -23,13 +24,18 @@ public class OVER_Series : Pair_TSeries_Indicator {
}
public override void Add((System.DateTime t, double v) TValue1, (System.DateTime t, double v) TValue2, bool update) {
(System.DateTime t, double v) over = ((TValue1.t > TValue2.t) ? TValue1.t : TValue2.t, TValue1.v > TValue2.v ? 1 : TValue1.v < TValue2.v ? -1 : 0);
double val = TValue1.v > TValue2.v ? 1 : -1;
val = TValue1.v == TValue2.v ? 0 : val;
(System.DateTime t, double v) over = ((TValue1.t > TValue2.t) ? TValue1.t : TValue2.t, TValue1.v > TValue2.v ? 1 : val);
if (update) { this.Cross[^1] = over; }
else { this.Cross.Add(over); }
val = (this._previous < over.v) ? 1 : -1;
(System.DateTime t, double v) result = ((TValue1.t > TValue2.t) ? TValue1.t : TValue2.t,
((_previous == over.v) || (_previous != 0) || Double.IsNaN(_previous)) ? 0 : (_previous < over.v) ? 1 : -1);
_previous = over.v;
((this._previous == over.v) || Double.IsNaN(this._previous) || (this._previous == 0)) ? 0 : val);
this._previous = over.v;
if (update) { base[^1] = result; }
else { base.Add(result); }
@@ -37,3 +43,4 @@ public class OVER_Series : Pair_TSeries_Indicator {
}
}