minMax function

({double max, double min}) minMax(
  1. List<KLineEntity> all,
  2. int i,
  3. _Pick pick, {
  4. int lookback = 50,
})

Implementation

({double min, double max}) minMax(List<KLineEntity> all, int i, _Pick pick,
    {int lookback = 50}) {
  int s = math.max(0, i - lookback + 1);
  double mn = double.infinity, mx = -double.infinity;
  for (int k = s; k <= i; k++) {
    final v = pick(all[k]);
    if (isF(v)) {
      if (v! < mn) mn = v;
      if (v > mx) mx = v;
    }
  }
  if (!mn.isFinite) mn = 0;
  if (!mx.isFinite) mx = 0;
  if (mx < mn) mx = mn;
  return (min: mn, max: mx);
}