corePositionSizeValidators top-level property
Implementation
final List<MatexStateValidator> corePositionSizeValidators = [
(MatexBaseCoreState state) =>
(state.amountAtRisk != null) ||
(state.riskRatio != null && state.accountSize != null),
(MatexBaseCoreState state) =>
(state.amountAtRisk! > 0) ||
(state.riskRatio! > 0 && state.accountSize! > 0),
(MatexBaseCoreState state) {
final amountAtRisk = state.amountAtRisk;
final accountSize = state.accountSize;
final riskRatio = state.riskRatio;
var isValid = true;
if (riskRatio != null && riskRatio > 0) {
isValid = riskRatio > 0 && riskRatio <= 100;
}
if (amountAtRisk != null && amountAtRisk > 0) {
isValid = amountAtRisk > 0;
if (isValid && accountSize != null && accountSize > 0) {
isValid = amountAtRisk <= accountSize;
}
}
return isValid;
},
];