private void Buy() { try { decimal tradePrice = this.trade.TradeStatus.Price; decimal sizeEur = GetSizeForDealEur(); SetAccounts(this.productType); if (IsSizeAvailable(accountBuy, sizeEur) == true) { BuyCoinOrder order = PrepareBuyOrder(sizeEur, tradePrice); if (boAllowBuyOrder(order) == true) { OrderResponse orderResponse = MakeOrder(order); if (orderResponse != null) { actualListBuyOrder.Add(orderResponse.Id.ToString()); } } } } catch (Exception ex) { ex = null; } }
private BuyCoinOrder PrepareBuyOrder(decimal sizeEur, decimal tradePrice) { decimal add = ImportantValues.buyPricePercentageFromActualPrice / (decimal)100; decimal sizeCoin = sizeEur / tradePrice; sizeCoin = CutSize(sizeCoin, tradePrice); decimal buyPrice = tradePrice - (add * tradePrice); buyPrice = Math.Floor(buyPrice * 100) / 100;// rounding down on 2 digits BuyCoinOrder order = new BuyCoinOrder(); order.BuyPrice = buyPrice; order.Price = buyPrice; order.Size = ImportantValues.buyCoinSize; //(decimal)0.01;//sizeCoin;TODO: edit accoring to min size return(order); }