MarketWithInfo RecordMarket(IMarketReader reader, string marketName, string baseSymbol, string altSymbol) { var pathResolver = new PathResolverWeb(baseSymbol, altSymbol, marketName, System.Web.HttpContext.Current); var settings = new MarketDataSettings { MarketReader = reader, SymbolBase = baseSymbol, SymbolAlt = altSymbol, MarketRecordProcessor = new TsvFileWriter(pathResolver) }; return new MarketInfoRecorder(settings).Process(marketName); }
private void ProcessMarket(List<MarketWithInfo> list, string @base, string alt, double thesholdPercent = 10) { var pathResolver = new PathResolverWeb(@base, alt, "diff", System.Web.HttpContext.Current); var cho = new Chochoo(list, new TsvFileWriter(pathResolver)); var diff = cho.Process(); if (diff != null) { var diferencePercent = (diff.Bid - diff.Ask) / diff.Ask * 100; if (diferencePercent >= thesholdPercent) { var body = new StringBuilder(diff.ToTsvLineReadable()); body.Append(" "); body.Append(diferencePercent + "%\n"); body.Append("BUY: " + diff.BuyMarket.TradeUrlGui + "\n"); body.Append("SELL: " + diff.SellMarket.TradeUrlGui + "\n"); SendEmail(@base, alt, body.ToString()); } } }