public SwitcheoTraderManager(IOrderBookTradeBuilder orderBookTradeBuilder, ITradeBuilder tradeBuilder, IVolumeTradeBuilder volumeTradeBuilder) { this._orderBookTradeBuilder = orderBookTradeBuilder; this._tradeBuilder = tradeBuilder; this._volumeTradeBuilder = volumeTradeBuilder; _botConfig = _tradeBuilder.GetBotConfig(); }
public void BuyPercentReached_False_Current_GT_LastSell_Test() { decimal price = 0.00002M; _bldr = new VolumeTradeBuilder(_tradeBldr.Object, _settings, 0.00001M, 0.000015M); var result = _bldr.BuyPercentReached(price); Assert.False(result); }
public void BuyPercentReached_True_PercentLow_Test() { decimal price = 0.00001M; _bldr = new VolumeTradeBuilder(_tradeBldr.Object, _settings, 0.00001M, 0.000015M); var result = _bldr.BuyPercentReached(price); Assert.True(result); }
public void SellPercentReached_False_Equal_Test() { decimal price = 0.00001M; _bldr = new VolumeTradeBuilder(_tradeBldr.Object, _settings, price, price); var result = _bldr.SellPercentReached(price); Assert.False(result); }
public void MooningAndTankingCheck_Tanking_Test() { var interval = Interval.OneM; _settings.chartInterval = interval; _settings.mooningTankingTime = 1; decimal lastPrice = 0.00001M; var tankingList = _testObjs.GetTankingList(); var candlestickList = _testObjs.GetBotSticks(); var csI = new BotStick[1] { tankingList[0] }; var csII = new BotStick[1] { tankingList[1] }; var csIII = new BotStick[1] { tankingList[2] }; var csIV = new BotStick[1] { tankingList[3] }; var csV = new BotStick[1] { tankingList[4] }; var csVI = new BotStick[1] { tankingList[5] }; var csVII = new BotStick[1] { tankingList[6] }; _tradeBldr.SetupSequence(f => f.GetCandlesticks(It.IsAny <string>(), It.IsAny <Interval>(), It.IsAny <int>())) .Returns(csI) .Returns(csII) .Returns(csIII) .Returns(csIV) .Returns(csV) .Returns(csVI) .Returns(csVII); _bldr = new VolumeTradeBuilder(_tradeBldr.Object, _settings, lastPrice, lastPrice, TradeType.SELL); var result = _bldr.MooningAndTankingCheck(candlestickList[0], candlestickList[1], TradeType.SELL); Assert.True(result == TradeType.SELL); }
public void RunBot_3Cycles_Test() { var interval = Interval.OneM; var candlestickArray = _testObjs.GetBotSticks().ToArray(); _settings.chartInterval = interval; _tradeBldr.Setup(f => f.SetupRepository()).Returns(true); var csOne = new BotStick[1] { candlestickArray[0] }; var csTwo = new BotStick[1] { candlestickArray[1] }; var csThree = new BotStick[1] { candlestickArray[2] }; _tradeBldr.SetupSequence(f => f.GetCandlesticks(It.IsAny <string>(), It.IsAny <Interval>(), It.IsAny <int>())) .Returns(csOne) .Returns(csTwo) .Returns(csThree); _tradeBldr.SetupSequence(t => t.StoppedOutCheck(It.IsAny <decimal>())) .Returns(null) .Returns(null) .Returns(null); _tradeBldr.SetupSequence(f => f.BuyCrypto(It.IsAny <decimal>(), It.IsAny <TradeType>(), It.IsAny <bool>(), It.IsAny <bool>())) .Returns(true) .Returns(true); _tradeBldr.Setup(f => f.SellCrypto(It.IsAny <decimal>(), It.IsAny <TradeType>(), It.IsAny <bool>())) .Equals(true); _bldr = new VolumeTradeBuilder(_tradeBldr.Object, _settings); //_bldr.SetBotSettings(_settings); var result = _bldr.RunBot(interval, 3, true); Assert.True(result); }