/// <summary> /// Places a sell order /// </summary> /// <param name="amount">The amount of units to buy</param> /// <param name="price">The price per unit</param> /// <param name="pair">The currency pair</param> /// <returns>Detaisl about the new order</returns> public CallResult <OrderDetails> PlaceSellOrder(decimal amount, decimal price, CurrencyPair pair) { return(CallProxy(() => _proxy.Trade(pair.ToBtcePair(), TradeType.Sell, price, amount), o => new OrderDetails { Amount = amount, Price = price, Id = o.OrderId, Type = OrderType.Sell })); }
public override string DoOrder(CUtility.OrderType type, decimal?cost, decimal amount, ref string orderId, bool marketOrder) { //throw new NotImplementedException(); /* * potremmo evitare di fare ordini se non vengono smazzati gli eventuali precedenti */ return(""); try { if (cost.HasValue) { TradeType trade = type == CUtility.OrderType.Buy ? TradeType.Buy : TradeType.Sell; var result = _btceApi.Trade(currentPair, trade, cost.Value, amount); orderId = result.OrderId.ToString(CultureInfo.InvariantCulture); this.LastorderId = orderId; System.Console.WriteLine("Order success"); return(orderId); } else { System.Console.WriteLine("Order failed"); return(""); } } catch (Exception) { System.Console.WriteLine("Order error"); return(""); throw; } }
static void Main(string[] args) { var ticker = BtceApi.GetTicker(BtcePair.btc_usd); var trades = BtceApi.GetTrades(BtcePair.btc_usd); var btcusdDepth = BtceApi.GetDepth(BtcePair.usd_rur); var fee = BtceApi.GetFee(BtcePair.usd_rur); var btceApi = new BtceApi("API_KEY", "API_SECRET"); var info = btceApi.GetInfo(); var transHistory = btceApi.GetTransHistory(); var tradeHistory = btceApi.GetTradeHistory(count: 20); var orderList = btceApi.GetOrderList(); var tradeAnswer = btceApi.Trade(BtcePair.btc_usd, TradeType.Sell, 20, 0.1m); var cancelAnswer = btceApi.CancelOrder(tradeAnswer.OrderId); }
static void Main(string[] args) { var ticker = BtceApi.GetTicker(BtcePair.BtcUsd); var trades = BtceApi.GetTrades(BtcePair.BtcUsd); var btcusdDepth = BtceApi.GetDepth(BtcePair.UsdRur); var fee = BtceApi.GetFee(BtcePair.UsdRur); var btceApi = new BtceApi("YOUR-API-KEY", "your_secret_key"); var info = btceApi.GetInfo(); var transHistory = btceApi.GetTransHistory(); var tradeHistory = btceApi.GetTradeHistory(count: 20); var orderList = btceApi.GetOrderList(); var tradeAnswer = btceApi.Trade(BtcePair.BtcUsd, TradeType.Sell, 20, 0.1m); var cancelAnswer = btceApi.CancelOrder(tradeAnswer.OrderId); }
/// <summary> /// Places orders to follow the conversions /// </summary> /// <param name="chain"></param> /// <param name="realTrading">Whether to place the orders for real or not</param> private void FollowChain(List <ArbitrageAction> chain, bool realTrading) { OnReportProgress("=============================="); OnReportProgress(DateTime.Now.ToString("HH:mm:ss")); for (int i = 1; i < chain.Count; i++) { if (_mustStop) { return; } var ac = chain[i].Data; var stepMsg = string.Format("Step {1}/{2} - {0}", ac.Description, i, chain.Count - 1); OnReportProgress(stepMsg); int orderId = 0; if (realTrading) { var orderRes = ac.IsBuyOrder ? _proxy.Trade(ac.Pair, TradeType.Buy, ac.Rate, ac.UnitsCurrency2) : _proxy.Trade(ac.Pair, TradeType.Sell, ac.Rate, ac.UnitsCurrency1); orderId = orderRes.OrderId; } else { orderId = new Random().Next(300); } OnReportProgress(string.Format("Order #{0} placed. Waiting for its execution", orderId)); while (!_mustStop) { System.Threading.Thread.Sleep(500); var openOrders = _proxy.GetOpenOrders(ac.Pair); if (!openOrders.List.Any(o => o.Key == orderId)) { OnReportProgress(string.Format("Order #{0} executed", orderId)); break; } else { System.Diagnostics.Debug.WriteLine(string.Format("Waiting for order #{0} to be executed", orderId)); } } } OnReportProgress(string.Format("Finished")); }