public List <ArbitrageBet> GetForks(ArbitrageFinder finder) { List <ArbitrageBet> result = new List <ArbitrageBet>(); foreach (var bet in bets) { foreach (var forkBet in bet.GetForkBets()) { var possiblesBets = finder.GetBetAnalyzer(forkBet); if (possiblesBets == null) { continue; } foreach (var possibleBet in possiblesBets.bets) { double profit = 1 - ((1 / bet.Odds) + (1 / possibleBet.Odds)); if (profit < -0.03) { continue; } string type = string.Format("{0} - {1}", bet, possibleBet); var arbitrage = new ArbitrageBet(bet, possibleBet); result.Add(arbitrage); } } } return(result); }
public void PlaceBet(ArbitrageBet bet) { /*BetLabel.Content = bet.MainBet.ToString(); * BetLabel.Visibility = Visibility.Visible; * CoeffLabel.Content = $"Coeff: {bet.MainBet.Odds:0.00}/{bet.SecondBet.Odds:0.00}({bet.SecondBet.Bookmaker})"; * CoeffLabel.Visibility = Visibility.Visible; * ProfitLabel.Content = $"{bet.Profit}%"; * ProfitLabel.Visibility = Visibility.Visible;*/ }
public static void AddBet(ArbitrageBet bet) { if (betsDict.ContainsKey(BetToString(bet))) { return; } betsDict.Add(BetToString(bet), DateTime.Now); DeleteOldBets(); Save(); }
private void Grid_KeyDown(object sender, KeyEventArgs e) { if (e.Key == Key.Delete) { ArbitrageBet bet = lstwForks.SelectedItem as ArbitrageBet; if (bet == null) { return; } PlacedBets.AddBet(bet); } }
private void lstwForks_MouseDoubleClick(object sender, MouseButtonEventArgs e) { ArbitrageBet bet = lstwForks.SelectedItem as ArbitrageBet; if (bet == null) { return; } var response = browserControl.EvaluateScript(bet.MainBet.JavaScriptSelectorCode); response.ContinueWith((r) => { }); }
private static string BetToString(ArbitrageBet bet) { return(string.Format("{0} {1} {2}", bet.MainBet.Bookmaker, bet.MainBet, bet.MatchName)); }
public static bool Contains(ArbitrageBet bet) { return(betsDict.ContainsKey(BetToString(bet))); }