public void SetAllExchangeAccount(ExchangeAccount exchangeAccount)
 {
     foreach (Transaction transaction in transactions)
     {
         transaction.ExchangeAccount = exchangeAccount;
     }
 }
        public void AddTransaction(double price, double amount, ExchangeAccount exchangeAccount = null)
        {
            int index = IndexOf(price);

            if (index < 0)
            {
                // Add new item to -index
                transactions.Insert(~index, new Transaction(price, amount, exchangeAccount));
                totalAmount += amount;
                totalPrice  += price * amount;
            }
            else
            {
                if (0 == amount)
                {
                    totalAmount -= transactions[index].Amount;
                    totalPrice  -= transactions[index].Price * transactions[index].Amount;
                    transactions.RemoveAt(index);
                }
                else
                {
                    double amountDiff = amount - transactions[index].Amount;
                    transactions[index].Amount = amount;
                    totalAmount += amountDiff;
                    totalPrice  += transactions[index].Price * amountDiff;
                }
            }
        }
Exemple #3
0
 public BitstampWebSocket(ExchangeAccount exchangeAccount, Fiat fiat, CryptoCurrency cryptoCurrency)
 {
     _exchangeAccount    = exchangeAccount;
     this.fiat           = fiat;
     this.cryptoCurrency = cryptoCurrency;
     currencyPair        = String.Format("{0}{1}", cryptoCurrency.ToString().ToLower(), fiat.ToString().ToLower());
 }
        private ExchangeAccount exchangeAccount;    // Parent exchange account

        public OrderBook(ExchangeAccount exchangeAccount, Fiat fiat, CryptoCurrency cryptoCurrency)
        {
            this.exchangeAccount = exchangeAccount;
            this.fiat            = fiat;
            this.cryptoCurrency  = cryptoCurrency;
            name = String.Format("{0}-{1}", fiat.ToString(), cryptoCurrency.ToString());
        }
        public ExchangeAccount AddExchangeAccount(string exchangeName)
        {
            if (exchangeAccounts.Exists((x) => { return(0 == String.Compare(x.ExchangeName, exchangeName, true)); }))
            {
                return(null);
            }
            ExchangeAccount result = new ExchangeAccount(exchangeName);

            exchangeAccounts.Add(result);
            return(result);
        }
 public OrderBookFileReader(ExchangeAccount exchangeAccount)
 {
     _exchangeAccount = exchangeAccount;
 }
 public Transaction(double price, double amount, ExchangeAccount exchangeAccount) : this(price, amount)
 {
     ExchangeAccount = exchangeAccount;
 }