value method
Implementation
@override
MatexStopLossTakeProfitResult value() {
if (result != null) return result!;
if (isValid) {
final pipValue = computePipValue();
final stopLossCalculator = stopLoss();
final takeProfitCalculator = takeProfit();
final tmpState = state.copyWithState(MatexBaseCoreState(
position: state.position,
));
final stopLossResult = stopLossCalculator.setState(tmpState).value(
pipValue: pipValue,
);
final takeProfitResult = takeProfitCalculator.setState(tmpState).value(
pipValue: pipValue,
);
return (result = MatexStopLossTakeProfitResult(
pipValue: pipValue.toDouble(),
riskRewardRatio: _computeRiskRewardRatio(
stopLossResult.amount,
takeProfitResult.amount,
),
stopLoss: stopLossResult,
takeProfit: takeProfitResult,
));
}
return kEmptyStopLossTakeProfitResult.clone();
}