MCPcopy Create free account
hub / github.com/TraderOracle/ATAS / OnCalculate

Method OnCalculate

WAEAtas.cs:65–109  ·  view source on GitHub ↗
(int bar, decimal value)

Source from the content-addressed store, hash-verified

63 }
64
65 protected override void OnCalculate(int bar, decimal value)
66 {
67 if (bar < 5)
68 return;
69
70 var candle = GetCandle(bar);
71 value = candle.Close;
72
73 var bb_mid = ((ValueDataSeries)_bb.DataSeries[0])[bar]; // mid
74 var bb_top = ((ValueDataSeries)_bb.DataSeries[1])[bar]; // top
75 var bb_bottom = ((ValueDataSeries)_bb.DataSeries[2])[bar]; // bottom
76
77 var dev = 2 * _dev.Calculate(bar, value);
78 var e1 = bb_top - bb_bottom;
79
80 fastEma.Calculate(bar, value);
81 var fast = ((ValueDataSeries)fastEma.DataSeries[0])[bar];
82 var fastM = ((ValueDataSeries)fastEma.DataSeries[0])[bar - 1];
83 var fastN = ((ValueDataSeries)fastEma.DataSeries[0])[bar - 2];
84
85 slowEma.Calculate(bar, value);
86 var slow = ((ValueDataSeries)slowEma.DataSeries[0])[bar];
87 var slowM = ((ValueDataSeries)slowEma.DataSeries[0])[bar - 1];
88 var slowN = ((ValueDataSeries)slowEma.DataSeries[0])[bar - 2];
89
90 var t1 = ((fast - slow) - (fastM - slowM)) * Sensitivity;
91 var t1Prev = ((fastM - slowM) - (fastN - slowN)) * Sensitivity;
92
93 _s1[bar] = e1;
94
95 if (t1 > 0)
96 {
97 if (t1 < t1Prev)
98 _posSeries[bar] = t1;
99 else
100 _posLess[bar] = t1;
101 }
102 else
103 {
104 if (t1 < t1Prev)
105 _negSeries[bar] = t1 * -1;
106 else
107 _negLess[bar] = t1 * -1;
108 }
109 }
110
111 }
112}

Callers

nothing calls this directly

Calls

no outgoing calls

Tested by

no test coverage detected