upProb method

  1. @override
double upProb(
  1. List<KLineEntity> a,
  2. int i
)
override

返回 0,1 的上涨概率

Implementation

@override
double upProb(List<KLineEntity> a, int i) {
  final hist = a[i].osma ??
      ((isF(a[i].dif) && isF(a[i].dea)) ? a[i].dif! - a[i].dea! : 0.0);
  final mm = minMax(a, i,
      (e) => e.osma ?? ((isF(e.dif) && isF(e.dea)) ? e.dif! - e.dea! : null));
  var p = norm01Linear(hist, mm.min, mm.max);
  // DIF>DEA 时给微弱加分
  if (isF(a[i].dif) && isF(a[i].dea) && a[i].dif! > a[i].dea!)
    p = (p + 0.05).clamp(0, 1);
  return p;
}