getMainMaxMinValue method

void getMainMaxMinValue(
  1. KLineEntity item,
  2. int i
)

compute maximum and minimum value

Implementation

void getMainMaxMinValue(KLineEntity item, int i) {
  double maxPrice = item.high;
  double minPrice = item.low;
  for (int i = 0; i < mainStateLi.length; ++i) {
    if (mainStateLi.elementAt(i) == MainState.MA) {
      maxPrice = max(maxPrice, _findMaxMA(item.maValueList ?? [0]));
      minPrice = min(minPrice, _findMinMA(item.maValueList ?? [0]));
    } else if (mainStateLi.elementAt(i) == MainState.BOLL) {
      maxPrice = max(maxPrice, item.up ?? 0);
      minPrice = min(minPrice, item.dn ?? 0);
    } else if (mainStateLi.elementAt(i) == MainState.SAR) {
      maxPrice = max(maxPrice, item.sar ?? 0);
      minPrice = min(minPrice, item.sar ?? 0);
    }
  }

  mMainMaxValue = max(mMainMaxValue, maxPrice);
  mMainMinValue = min(mMainMinValue, minPrice);

  if (mMainHighMaxValue < item.high) {
    mMainHighMaxValue = item.high;
    mMainMaxIndex = i;
  }
  if (mMainLowMinValue > item.low) {
    mMainLowMinValue = item.low;
    mMainMinIndex = i;
  }

  if (isLine == true) {
    mMainMaxValue = max(mMainMaxValue, item.close);
    mMainMinValue = min(mMainMinValue, item.close);
  }
}