public void PricePadding_GDAX_Buy_Types_Test() { // Arrange var settings = _testObjects.GetBotSettings(); var price = 100.0M; var tradeType = TradeType.BUY; settings.exchange = Exchange.GDAX; _fileRepo.Setup(f => f.GetSettings()).Returns(settings); _fileRepo.Setup(f => f.GetConfig()).Returns(_testObjects.GetApiInfo()); _tradeBuilder = new TradeBuilder(_fileRepo.Object, _exchangeBldr.Object); // Act var paddedPrice = _tradeBuilder.GetPricePadding(tradeType, price); // Assert Assert.True(paddedPrice == 99.99M); // Act tradeType = TradeType.VOLUMEBUY; price = 200.00M; paddedPrice = _tradeBuilder.GetPricePadding(tradeType, price); // Assert Assert.True(paddedPrice == 199.99M); // Act tradeType = TradeType.VOLUMESELLBUYOFF; price = 300.00M; paddedPrice = _tradeBuilder.GetPricePadding(tradeType, price); // Assert Assert.True(paddedPrice == 299.99M); }
public void CaptureTransaction_Live_Test() { // Arrange _fileRepoLive = new FileRepository(); var price = 500.0M; var quantity = 12.0M; var ts = _dtHelper.UTCtoUnixTime(); var tsDT = _dtHelper.UnixTimeToUTC(ts); _tradeBuilder = new TradeBuilder(_fileRepoLive, _exchangeBldr.Object); // Act var response = _tradeBuilder.CaptureTransaction(price, quantity, ts, TradeType.BUY); // Assert Assert.True(response); // Act var lastTrade = _tradeBuilder.GetTradeHistory(1).FirstOrDefault(); // Assert Assert.True(lastTrade.price == price); Assert.True(lastTrade.quantity == quantity); Assert.True(lastTrade.timestamp == tsDT); }
public SwitcheoTraderManager(IOrderBookTradeBuilder orderBookTradeBuilder, ITradeBuilder tradeBuilder, IVolumeTradeBuilder volumeTradeBuilder) { this._orderBookTradeBuilder = orderBookTradeBuilder; this._tradeBuilder = tradeBuilder; this._volumeTradeBuilder = volumeTradeBuilder; _botConfig = _tradeBuilder.GetBotConfig(); }
public CoinBotManager(IBollingerBandTradeBuilder bollingerBuilder, IVolumeTradeBuilderOG volumeBuilderOG, IOrderBookTradeBuilder orderBookTradeBuilder, ITradeBuilder tradeBuilder) { this._bollingerBuilder = bollingerBuilder; this._volumeBuilderOG = volumeBuilderOG; this._orderBookTradeBuilder = orderBookTradeBuilder; this._tradeBuilder = tradeBuilder; _botConfig = _tradeBuilder.GetBotConfig(); }
/// <summary> /// Constructor /// </summary> /// <param name="repo">Repository interface</param> public VolumeTradeBuilder(ITradeBuilder trader , BotSettings settings, decimal lastBuy = 0, decimal lastSell = 0, TradeType tradeType = TradeType.BUY) { _trader = trader; SetBotSettings(settings); if (lastBuy != 0) { _lastBuy = lastBuy; } if (lastSell != 0) { _lastSell = lastSell; } _tradeType = tradeType; }
/// <summary> /// Constructor /// </summary> /// <param name="repo">Repository interface</param> public OrderBookTradeBuilder(ITradeBuilder trader , BotSettings settings, decimal lastBuy = 0, decimal lastSell = 0, TradeType tradeType = TradeType.BUY) { _trader = trader; _fileRepo = new FileRepository(); SetBotSettings(settings); if (lastBuy != 0) { _lastBuy = lastBuy; } if (lastSell != 0) { _lastSell = lastSell; } _tradeType = tradeType; }
public void BuyCrypto_Success_Test() { // Arrange var orderPrice = 0.101M; _exchangeBldr.Setup(b => b.PlaceTrade(It.IsAny <TradeParams>())).Returns(_testObjects.GetTradeResponse()); _exchangeBldr.Setup(b => b.GetOrderDetail(It.IsAny <TradeResponse>(), It.IsAny <string>())).Returns(_testObjects.GetOrderResponse()); _exchangeBldr.Setup(b => b.PlaceTrade(It.IsAny <TradeParams>())).Returns(_testObjects.GetTradeResponse()); _exchangeBldr.Setup(b => b.GetBalance(It.IsAny <string>(), It.IsAny <string>())).Returns(_testObjects.GetBalanceList()); _fileRepo.Setup(f => f.LogTransaction(It.IsAny <TradeInformation>(), It.IsAny <bool>())).Returns(true); _fileRepo.Setup(f => f.GetSettings()).Returns(_testObjects.GetBotSettings()); _tradeBuilder = new TradeBuilder(_fileRepo.Object, _exchangeBldr.Object, _testObjects.GetBotBalanceList()); // Act var response = _tradeBuilder.BuyCrypto(orderPrice, TradeType.BUY); // Assert Assert.True(response); }
private void SetupBuilder() { _trader = new TradeBuilder(); _lastTrade = TradeType.NONE; SetBotSettings(_trader.GetBotSettings()); }
/// <summary> /// Constructor /// </summary> /// <param name="repo">Repository interface</param> public OrderBookTradeBuilder(ITradeBuilder trader) { _trader = trader; _fileRepo = new FileRepository(); SetupBuilder(); }
/// <summary> /// Constructor /// </summary> /// <param name="repo">Repository interface</param> public OrderBookTradeBuilder() { _trader = new TradeBuilder(); _fileRepo = new FileRepository(); SetupBuilder(); }
/// <summary> /// <see cref = "TradeBuilderPythonWrapper"/> constructor. /// Wraps the <see cref = "ITradeBuilder"/> object. /// </summary> /// <param name="tradeBuilder"><see cref = "ITradeBuilder"/> object to be wrapped</param> public TradeBuilderPythonWrapper(ITradeBuilder tradeBuilder) { _tradeBuilder = tradeBuilder; }
/// <summary> /// Constructor /// </summary> /// <param name="repo">Repository interface</param> public VolumeTradeBuilder(ITradeBuilder trader) { _trader = trader; SetupBuilder(); }
/// <summary> /// Constructor /// </summary> /// <param name="repo">Repository interface</param> public VolumeTradeBuilder() { _trader = new TradeBuilder(); SetupBuilder(); }