(int bar, decimal value)
| 106 | } |
| 107 | |
| 108 | protected override void OnCalculate(int bar, decimal value) |
| 109 | { |
| 110 | if (bar < (CurrentBar - 5)) |
| 111 | return; |
| 112 | |
| 113 | var pbar = bar - 1; |
| 114 | var prevBar = _prevBar; |
| 115 | _prevBar = bar; |
| 116 | |
| 117 | if (prevBar == bar) |
| 118 | return; |
| 119 | |
| 120 | var candle = GetCandle(pbar); |
| 121 | value = candle.Close; |
| 122 | |
| 123 | var p1C = GetCandle(pbar - 1); |
| 124 | _t3.Calculate(pbar, value); |
| 125 | fastEma.Calculate(pbar, value); |
| 126 | slowEma.Calculate(pbar, value); |
| 127 | _rsi.Calculate(pbar, value); |
| 128 | |
| 129 | var kama9 = ((ValueDataSeries)_kama9.DataSeries[0])[pbar]; |
| 130 | var t3 = ((ValueDataSeries)_t3.DataSeries[0])[pbar]; |
| 131 | var fast = ((ValueDataSeries)fastEma.DataSeries[0])[pbar]; |
| 132 | var fastM = ((ValueDataSeries)fastEma.DataSeries[0])[pbar - 1]; |
| 133 | var slow = ((ValueDataSeries)slowEma.DataSeries[0])[pbar]; |
| 134 | var slowM = ((ValueDataSeries)slowEma.DataSeries[0])[pbar - 1]; |
| 135 | var f1 = ((ValueDataSeries)_ft.DataSeries[0])[pbar]; |
| 136 | var f2 = ((ValueDataSeries)_ft.DataSeries[1])[pbar]; |
| 137 | var st = ((ValueDataSeries)_st.DataSeries[0])[pbar]; |
| 138 | var x = ((ValueDataSeries)_adx.DataSeries[0])[pbar]; |
| 139 | var psar = ((ValueDataSeries)_psar.DataSeries[0])[pbar]; |
| 140 | var rsi = ((ValueDataSeries)_rsi.DataSeries[0])[pbar]; |
| 141 | var rsi1 = ((ValueDataSeries)_rsi.DataSeries[0])[pbar - 1]; |
| 142 | var rsi2 = ((ValueDataSeries)_rsi.DataSeries[0])[pbar - 2]; |
| 143 | var hma = ((ValueDataSeries)_hma.DataSeries[0])[pbar]; |
| 144 | var phma = ((ValueDataSeries)_hma.DataSeries[0])[pbar - 1]; |
| 145 | |
| 146 | var t1 = ((fast - slow) - (fastM - slowM)) * 150; // iWaddaSensitivity; |
| 147 | |
| 148 | var hullUp = hma > phma; |
| 149 | var hullDown = hma < phma; |
| 150 | var fisherUp = (f1 < f2); |
| 151 | var fisherDown = (f2 < f1); |
| 152 | var psarBuy = (psar < candle.Close); |
| 153 | var psarSell = (psar > candle.Close); |
| 154 | |
| 155 | var lmacd = _LindaShort.Calculate(pbar, value) - _LindaLong.Calculate(pbar, value); |
| 156 | var signal = _LindaSignal.Calculate(pbar, lmacd); |
| 157 | var Linda = lmacd - signal; |
| 158 | |
| 159 | if (fisherUp && st > 0 && t1 > 0) |
| 160 | OpenPosition("Standard Buy Signal", candle, bar, 1); |
| 161 | |
| 162 | if (fisherDown && st < 0 && t1 < 0) |
| 163 | OpenPosition("Standard Sell Signal", candle, bar, -1); |
| 164 | |
| 165 | } |
nothing calls this directly
no outgoing calls
no test coverage detected