public bool Back() { try { double tempBet = BfBot.Balance / 8; //m_backBet = new BackBet(m_itemID, BFBot.GetAccount.AllowedStake, m_backPrice[0].price, m_exchangeID, m_marketID); //m_backBet = new BackBet(m_itemID, tempBet, m_marketItemMovement.BackPrice, m_exchangeID, m_marketID); m_backBet = new BackBet(m_itemID, tempBet, 1.01, m_exchangeID, m_marketID); m_backedOdds = m_marketItemMovement.BackPrice; if (m_backBet.PlaceBet()) { m_marketItemState = MarketItemState.Backed; //BFBotDB.BFBotDBWorker.Instance().AddBackBet(System.Guid.NewGuid().ToString(), m_itemID.ToString(), (decimal)m_backBet.Stake, (decimal)m_backBet.Odds, (decimal)m_backBet.Profit); BfBot.Balance += m_backBet.Profit; BfBot.DumpToFile("******************** Backed -> " + m_name + " - " + tempBet + " - Back Price : " + m_marketItemMovement.BackPrice + " Available = " + m_backAmount + " Balance = £ " + BfBot.Balance); //BFBotDB.BFBotDBWorker.Instance().AddBackBet(System.Guid.NewGuid().ToString(), m_itemID.ToString(), (decimal)tempBet, (decimal)m_backBet.Odds); //BFBot.SendMailMessage("******************** Backed -> ", m_name + " - " + tempBet + " - " + m_marketItemMovement.BackPrice + " Available = " + m_backAmount + " Balance = £ " + BFBot.Balance); if (OnMarketItemBacked != null) { OnMarketItemBacked(this); } m_marketItemState = MarketItemState.Backed; } } catch (Exception ex) { BfBot.DumpToFile("Error in MarketItem->Back : " + ex.Message); } return(true); }
public MarketItem(BetfairE.Runner runner, int exchangeID, Market market) { try { m_name = runner.name; m_itemID = runner.selectionId; m_exchangeID = exchangeID; m_marketID = market.MarketID; m_market = market; m_marketItemMovement = new MarketItemMovement(); m_marketItemState = MarketItemState.Unknown; BFBotDB.BfBotDbWorker.Instance().AddMarketItem(m_marketID, m_name, m_marketItemState.ToString()); //BFBotDB.BFBotDBWorker.Instance().AddMarketItem(m_itemID.ToString(), m_marketID.ToString(), m_name, m_marketItemState.ToString()); } catch (Exception ex) { BfBot.DumpToFile("MarketItem->MarketItem : " + ex.Message); } }
public bool Equalise() { try { if (m_marketItemMovement.LayPrice < m_backBet.Odds) { m_layOdds = m_marketItemMovement.LayPrice; LayBet free = new LayBet(m_itemID, m_backBet.Stake, m_marketItemMovement.LayPrice, m_exchangeID, m_marketID); //free.PlaceBet(); m_layBet = free; ////Used to equalise the bet. //double ls = (m_backBet.Profit - free.Profit) / m_layPrice[0].price; //// cast to int(not sure on BF policy on pence? //LayBet equaliser = new LayBet(m_itemID, m_backBet.Stake, m_layPrice[0].price, m_exchangeID, m_marketID); //m_layBet = equaliser; //m_layBet.PlaceBet(); //m_state = BFBot.MarketItemState.Equalised; BfBot.DumpToFile("******************** Layed -> " + m_name + " - " + m_layBet.Stake + " - " + m_layBet.Odds); //BFBot.AddMessage("******************** Layed -> " + m_name + " - " + m_layBet.Stake + " - " + m_layBet.Odds); //BFBot.SendMailMessage("******************** Layed -> ", m_name + " - " + m_layBet.Stake + " - " + m_layBet.Odds); if (OnMarketItemEqualised != null) { OnMarketItemEqualised(this); } m_marketItemState = MarketItemState.Equalised; return(true); } return(false); } catch (Exception ex) { BfBot.DumpToFile("Error in MarketItem->Equalise : " + ex.Message); return(false); } }