private bool CountSingeTimes(ConfigurationStatus.TimesCount pTimesInfo, ref List <ConfigurationStatus.TimesData> pTimesList, int pIndex, double pTimes) { ConfigurationStatus.TimesData item = new ConfigurationStatus.TimesData { Expect = pIndex.ToString(), Output = CommFunc.ChinaRound((pTimesInfo.Money * pTimesInfo.Number) * pTimes, 2) }; item.TotalOutput = pTimesInfo.TotalOutput + item.Output; item.Times = pTimes; item.Input = CommFunc.ChinaRound(pTimesInfo.Mode * pTimes, 2); item.Gain = CommFunc.ChinaRound(item.Input - item.TotalOutput, 2); item.GainRatio = CommFunc.ChinaRound((item.Gain / item.TotalOutput) * 100.0, 2); item.TBCycle = pTimesInfo.TBCycle; pTimesList.Add(item); for (int i = 2; i <= item.TBCycle; i++) { this.CountTBList(pTimesInfo, i, ref pTimesList); } ConfigurationStatus.TimesData data2 = pTimesList[pTimesList.Count - 1]; double getTBGain = -1.0; if ((pTimesInfo.Type == ConfigurationStatus.TimesType.GainFix) || (pTimesInfo.Type == ConfigurationStatus.TimesType.Sum)) { getTBGain = pTimesInfo.GetTBGain; return(data2.Gain >= getTBGain); } if (pTimesInfo.Type == ConfigurationStatus.TimesType.GainRatio) { getTBGain = pTimesInfo.GetTBGain; return(data2.GainRatio >= getTBGain); } return(false); }
private ConfigurationStatus.TimesData GetOneTimes(ConfigurationStatus.TimesCount pTimesInfo) { ConfigurationStatus.TimesData data = new ConfigurationStatus.TimesData { Expect = "1", Times = 1.0 }; data.TotalOutput = data.Output = pTimesInfo.Money * pTimesInfo.Number; data.Input = pTimesInfo.Mode; data.Gain = data.Input - data.TotalOutput; data.GainRatio = (data.Gain / data.TotalOutput) * 100.0; return(data); }
private double CountSingeTimes(ConfigurationStatus.TimesCount pTimesInfo, ref List <ConfigurationStatus.TimesData> pTimesList, int pIndex) { double pNum = -1.0; double getTBGain = -1.0; if ((pTimesInfo.Type == ConfigurationStatus.TimesType.GainFix) || (pTimesInfo.Type == ConfigurationStatus.TimesType.Sum)) { getTBGain = pTimesInfo.GetTBGain; } else if (pTimesInfo.Type == ConfigurationStatus.TimesType.GainRatio) { getTBGain = pTimesInfo.GetTBGain / 100.0; } double x = pTimesInfo.Money * pTimesInfo.Number; double num4 = (getTBGain + pTimesInfo.TotalOutput) * Math.Pow(x, (double)(pTimesInfo.TBCycle - 1)); double num5 = Math.Pow(pTimesInfo.Mode, (double)pTimesInfo.TBCycle) - Math.Pow(x, (double)pTimesInfo.TBCycle); if (pTimesInfo.Type == ConfigurationStatus.TimesType.GainRatio) { num4 = ((getTBGain + 1.0) * pTimesInfo.TotalOutput) * Math.Pow(x, (double)(pTimesInfo.TBCycle - 1)); num5 = (Math.Pow(pTimesInfo.Mode, (double)pTimesInfo.TBCycle) - Math.Pow(x, (double)pTimesInfo.TBCycle)) - Math.Pow(x, (double)pTimesInfo.TBCycle); } pNum = num4 / num5; pNum = CommFunc.ChinaRound(pNum, 2); if (pNum < 0.0) { return(-1.0); } if (pNum > 10000000.0) { return(-1.0); } if (pNum < pTimesInfo.Start) { pNum = pTimesInfo.Start; } while (!this.CountSingeTimes(pTimesInfo, ref pTimesList, pIndex, pNum)) { pNum += 0.01; pNum = CommFunc.ChinaRound(pNum, 2); for (int i = 0; i < pTimesInfo.TBCycle; i++) { pTimesList.RemoveAt(pTimesList.Count - 1); } } ConfigurationStatus.TimesData data = pTimesList[pTimesList.Count - 1]; pTimesInfo.TotalOutput = data.TotalOutput; if (pTimesInfo.Type == ConfigurationStatus.TimesType.Sum) { pTimesInfo.SumBegin = data.Gain; } return(pNum); }
private void CountTBList(ConfigurationStatus.TimesCount pTimesInfo, int pIndex, ref List <ConfigurationStatus.TimesData> pTimesList) { ConfigurationStatus.TimesData item = new ConfigurationStatus.TimesData { Expect = "", Output = pTimesList[pTimesList.Count - 1].Input }; double num = CommFunc.ChinaRound(item.Output / (pTimesInfo.Money * pTimesInfo.Number), 2); item.TotalOutput = pTimesList[pTimesList.Count - 1].TotalOutput; item.Times = num; item.Input = CommFunc.ChinaRound(pTimesInfo.Mode * num, 2); item.Gain = CommFunc.ChinaRound(item.Input - item.TotalOutput, 2); item.GainRatio = CommFunc.ChinaRound((item.Gain / item.TotalOutput) * 100.0, 2); item.TBCycle = pTimesInfo.TBCycle; pTimesList.Add(item); }
private void Egv_TimesList_CellValueNeeded(object sender, DataGridViewCellValueEventArgs e) { try { if ((this.Egv_TimesList.RowCount != 0) && (this.TimesList.Count != 0)) { DataGridViewCell cell = this.Egv_TimesList.Rows[e.RowIndex].Cells[e.ColumnIndex]; ConfigurationStatus.TimesData data = this.TimesList[e.RowIndex]; string expect = ""; if (e.ColumnIndex == 0) { expect = data.Expect; } else if (e.ColumnIndex == 1) { expect = data.Times.ToString(); } else if (e.ColumnIndex == 2) { expect = data.Output.ToString(); } else if (e.ColumnIndex == 3) { expect = data.TotalOutput.ToString(); } else if (e.ColumnIndex == 4) { expect = data.Input.ToString(); } else if (e.ColumnIndex == 5) { expect = data.Gain.ToString(); } else if (e.ColumnIndex == 6) { expect = data.GainRatio + "%"; } int num = e.RowIndex + 1; cell.Style.BackColor = ((num % data.TBCycle) == 0) ? AppInfo.appBackColor : AppInfo.beaBackColor; cell.Style.ForeColor = ((num % data.TBCycle) == 0) ? AppInfo.whiteColor : AppInfo.beaForeColor; e.Value = expect; } } catch { } }
private void Egv_TimesList_CellValueNeeded(object sender, DataGridViewCellValueEventArgs e) { try { if ((this.Egv_TimesList.RowCount != 0) && (this.TimesList.Count != 0)) { DataGridViewCell cell = this.Egv_TimesList.Rows[e.RowIndex].Cells[e.ColumnIndex]; ConfigurationStatus.TimesData data = this.TimesList[e.RowIndex]; string expect = ""; if (e.ColumnIndex == 0) { expect = data.Expect; } else if (e.ColumnIndex == 1) { expect = data.Times.ToString(); } else if (e.ColumnIndex == 2) { expect = data.Output.ToString("0.00"); } else if (e.ColumnIndex == 3) { expect = data.TotalOutput.ToString("0.00"); } else if (e.ColumnIndex == 4) { expect = data.Input.ToString("0.00"); } else if (e.ColumnIndex == 5) { expect = data.Gain.ToString("0.00"); } else if (e.ColumnIndex == 6) { expect = data.GainRatio.ToString("0.00") + "%"; } e.Value = expect; } } catch { } }
private void CountTimesList(ConfigurationStatus.TimesCount pTimeInfo) { this.TimesList.Clear(); for (int i = 1; i <= pTimeInfo.Cycle; i++) { ConfigurationStatus.TimesData pTimes = new ConfigurationStatus.TimesData { Expect = i.ToString() }; if (this.CountSingeTimes(pTimeInfo, i, pTimes) == -1) { CommFunc.PublicMessageAll("该计划不适合投注!", true, MessageBoxIcon.Asterisk, ""); if (this.TimesList.Count == 0) { this.TimesList.Add(this.GetOneTimes(pTimeInfo)); } break; } this.TimesList.Add(pTimes); } }
private int CountSingeTimes(ConfigurationStatus.TimesCount pTimesInfo, int pIndex, ConfigurationStatus.TimesData pTimes = null) { for (int i = 1; i < 0x989680; i++) { double num3 = (pTimesInfo.Money * pTimesInfo.Number) * i; double num4 = pTimesInfo.TotalOutput + num3; double num5 = pTimesInfo.Mode * i; double num6 = num5 - num4; double num7 = (num6 / num4) * 100.0; if (pTimesInfo.Type == ConfigurationStatus.TimesType.GainRatio) { if (num7 < pTimesInfo.GainRatio) { continue; } } else if (pTimesInfo.Type == ConfigurationStatus.TimesType.GainFix) { if (num6 < pTimesInfo.GainFix) { continue; } } else if (pTimesInfo.Type == ConfigurationStatus.TimesType.Sum) { if (num6 < (pTimesInfo.SumBegin + pTimesInfo.SumStep)) { continue; } pTimesInfo.SumBegin = num6; } else if ((pTimesInfo.Type == ConfigurationStatus.TimesType.Free) && (pTimesInfo.FreeList[pIndex - 1] != i)) { continue; } if (pTimes != null) { pTimes.Times = i; pTimes.Output = num3; pTimes.TotalOutput = num4; pTimes.Input = num5; pTimes.Gain = num6; pTimes.GainRatio = num7; } pTimesInfo.TotalOutput = num4; return(i); } return(-1); }