value method

  1. @override
double value()
override

Implementation

@override
double value() {
  if (result != null) {
    return result!;
  }

  if (isValid) {
    final pipPrecision = state.pipPrecision!;
    final priceA = state.priceA!.toString();
    final priceB = state.priceB!.toString();
    final decimalMultiplicator = pow(10, pipPrecision).toString();

    final dPriceA = Decimal.parse(priceA);
    final dPriceB = Decimal.parse(priceB);
    final dDelta = dPriceA - dPriceB;
    final dDecimalMultiplicator = Decimal.parse(decimalMultiplicator);
    final dResult = dDelta * dDecimalMultiplicator;
    final absoluteResult = dResult.toDouble().abs();

    return (result = double.parse(absoluteResult.toStringAsFixed(1)));
  }

  return 0;
}