static void Main(string[] args) { XmlConfigurator.Configure(new FileInfo("log4net.config")); ILog logger = LogManager.GetLogger("program"); logger.Info("---------------------- begin --------------------------------"); // 初始化 CoinUtils.Init(); var symbols = CoinUtils.GetAllCommonSymbols(); // 初始化kline KlineUtils.Begin(); // 不停的对每个币做操作 BuyOrSellUtils.Begin(); // 状态检查 TradeStateUtils.Begin(); while (true) { Console.ReadLine(); } }
/// <summary> /// 当购买或者出售时候,需要一个分析结果, 供判断是否做多,或者做空 /// </summary> /// <param name="symbol"></param> /// <param name="isBuy"></param> /// <returns></returns> public static AnalyzeResult GetAnalyzeResult(CommonSymbol symbol) { var now = DateTime.Now; var historyKlines = KlineUtils.ListKlines(symbol); if (historyKlines == null || historyKlines.Count < 100) { return(null); } var minute30Klines = historyKlines.FindAll(it => it.Id > Utils.GetIdByDate(DateTime.Now.AddMinutes(-30))); AnalyzeResult analyzeResult = new AnalyzeResult() { NowPrice = historyKlines[0].Close, MaxPrice = historyKlines.Max(it => it.Close), MinPrice = historyKlines.Min(it => it.Close), HistoryKlines = historyKlines, }; var milSecond = (DateTime.Now - now).TotalMilliseconds; if (milSecond > 1000) { Console.WriteLine($"GetAnalyzeResult: 花费时间:{milSecond}"); } return(analyzeResult); }
public static List <CommonSymbol> InitHtData() { // 准备好各种对 var htSymbols = CoinUtils.GetAllCommonSymbols("ht"); foreach (var symbol in htSymbols) { KlineUtils.CheckTableExistAndCreate(symbol); } return(htSymbols.ToList()); }