public static PredictionOption MakeDecision(PredictionData data, out double maxDiffProbability, out double resultProbability, out double resultCoef) { PredictionOption maxDiffProbabilityOption = 0; maxDiffProbability = -1; resultProbability = -1; resultCoef = -1; //main results var tempDiff = data.CalculatedProbabilities.HomeWinProbability - data.OriginProbabilities.HomeWinProbability; if (tempDiff > maxDiffProbability) { maxDiffProbability = tempDiff; maxDiffProbabilityOption = PredictionOption.HomeWin; resultProbability = data.CalculatedProbabilities.HomeWinProbability; resultCoef = data.OriginBookmakerOdds.HomeWinCoef; } tempDiff = data.CalculatedProbabilities.DrawProbability - data.OriginProbabilities.DrawProbability; if (tempDiff > maxDiffProbability) { maxDiffProbability = tempDiff; maxDiffProbabilityOption = PredictionOption.Draw; resultProbability = data.CalculatedProbabilities.DrawProbability; resultCoef = data.OriginBookmakerOdds.DrawCoef; } tempDiff = data.CalculatedProbabilities.AwayWinProbability - data.OriginProbabilities.AwayWinProbability; if (tempDiff > maxDiffProbability) { maxDiffProbability = tempDiff; maxDiffProbabilityOption = PredictionOption.AwayWin; resultProbability = data.CalculatedProbabilities.AwayWinProbability; resultCoef = data.OriginBookmakerOdds.AwayWinCoef; } //btts tempDiff = data.CalculatedProbabilities.BttsYesProbability - data.OriginProbabilities.BttsYesProbability; if (tempDiff > maxDiffProbability) { maxDiffProbability = tempDiff; maxDiffProbabilityOption = PredictionOption.BttsYes; resultProbability = data.CalculatedProbabilities.BttsYesProbability; resultCoef = data.OriginBookmakerOdds.BttsYesCoef; } tempDiff = data.CalculatedProbabilities.BttsNoProbability - data.OriginProbabilities.BttsNoProbability; if (tempDiff > maxDiffProbability) { maxDiffProbability = tempDiff; maxDiffProbabilityOption = PredictionOption.BttsNo; resultProbability = data.CalculatedProbabilities.BttsNoProbability; resultCoef = data.OriginBookmakerOdds.BttsNoCoef; } //total tempDiff = data.CalculatedProbabilities.TotalOverProbability - data.OriginProbabilities.TotalOverProbability; if (tempDiff > maxDiffProbability) { maxDiffProbability = tempDiff; maxDiffProbabilityOption = PredictionOption.TotalOver2_5; resultProbability = data.CalculatedProbabilities.TotalOverProbability; resultCoef = data.OriginBookmakerOdds.TotalOverCoef; } tempDiff = data.CalculatedProbabilities.TotalUnderProbability - data.OriginProbabilities.TotalUnderProbability; if (tempDiff > maxDiffProbability) { maxDiffProbability = tempDiff; maxDiffProbabilityOption = PredictionOption.TotalUnder2_5; resultProbability = data.CalculatedProbabilities.TotalUnderProbability; resultCoef = data.OriginBookmakerOdds.TotalUnderCoef; } return(maxDiffProbabilityOption); }
public static PredictionOption GetOptionWithMaxPropability(PredictionData data, out double resultProbability, out double resultCoef) { PredictionOption result = 0; resultProbability = 0; resultCoef = 0; //main results if (data.OriginProbabilities.HomeWinProbability > resultProbability) { result = PredictionOption.HomeWin; resultProbability = data.OriginProbabilities.HomeWinProbability; resultCoef = data.OriginBookmakerOdds.HomeWinCoef; } if (data.OriginProbabilities.DrawProbability > resultProbability) { result = PredictionOption.Draw; resultProbability = data.OriginProbabilities.DrawProbability; resultCoef = data.OriginBookmakerOdds.DrawCoef; } if (data.OriginProbabilities.AwayWinProbability > resultProbability) { result = PredictionOption.AwayWin; resultProbability = data.OriginProbabilities.AwayWinProbability; resultCoef = data.OriginBookmakerOdds.AwayWinCoef; } //btts if (data.OriginProbabilities.BttsYesProbability > resultProbability) { result = PredictionOption.BttsYes; resultProbability = data.OriginProbabilities.BttsYesProbability; resultCoef = data.OriginBookmakerOdds.BttsYesCoef; } if (data.OriginProbabilities.BttsNoProbability > resultProbability) { result = PredictionOption.BttsNo; resultProbability = data.OriginProbabilities.BttsNoProbability; resultCoef = data.OriginBookmakerOdds.BttsNoCoef; } //total if (data.OriginProbabilities.TotalOverProbability > resultProbability) { result = PredictionOption.TotalOver2_5; resultProbability = data.OriginProbabilities.TotalOverProbability; resultCoef = data.OriginBookmakerOdds.TotalOverCoef; } if (data.OriginProbabilities.TotalUnderProbability > resultProbability) { result = PredictionOption.TotalUnder2_5; resultProbability = data.OriginProbabilities.TotalUnderProbability; resultCoef = data.OriginBookmakerOdds.TotalUnderCoef; } return(result); }