private static void GetStableCoin() { var stableCoinClient = new StableCointClient(Config.AccessKey, Config.SecretKey); _logger.Start(); var result = stableCoinClient.GetStableCoinAsync("tusd", "1000", "sell").Result; _logger.StopAndLog(); if (result != null) { switch (result.status) { case "ok": { var d = result.data; AppLogger.Info($"Get stable coin successfully, quoteId: {d.quoteId}, currency: {d.currency}, amount: {d.amount}, fee: {d.exchangeFee}"); break; } case "error": { AppLogger.Info($"Get stable coin fail, error code: {result.errorCode}, error message: {result.errorMessage}"); break; } } } }
public void CalculateMetricsTest() { var count = 100; var logger = new PerformanceLogger(); logger.Start(); for (int i = 0; i < count; ++i) { logger.Start("Fast"); logger.Stop("Fast"); logger.Start("Slow"); System.Threading.Thread.Sleep(1); logger.Stop("Slow"); } logger.Stop(); var metrics = logger.CalculateMetrics(); Assert.AreEqual(2, metrics.Count); foreach (var m in metrics) { Assert.AreEqual(count, m.Value.Count); Assert.IsTrue(m.Value.PercentTotal >= 0); Assert.IsTrue(m.Value.PercentTotal <= 100); } }
private static void GetStableCoin() { var stableCoinClient = new StableCointClient(Config.AccessKey, Config.SecretKey); _logger.Start(); var response = stableCoinClient.GetStableCoinAsync("usdt", "10", "sell").Result; _logger.StopAndLog(); if (response != null) { switch (response.status) { case "ok": { AppLogger.Info($"Get stable coin successfully"); break; } case "error": { AppLogger.Info($"Get stable coin fail, error code: {response.errorCode}, error message: {response.errorMessage}"); break; } } } }
private static void PlaceOrder() { var tradeClient = new AlgoOrderClient(Config.AccessKey, Config.SecretKey); _logger.Start(); var request = new PlaceOrderRequest { accountId = 11136102, orderSide = "buy", orderType = "limit", symbol = "htusdt", orderSize = "5", orderPrice = "2.1", stopPrice = "2", clientOrderId = "0922T1753" }; var response = tradeClient.PlaceOrderAsync(request).Result; _logger.StopAndLog(); if (response.code == (int)ResponseCode.Success) { AppLogger.Info($"Place algo order successfully, client order id: {response.data.clientOrderId}"); } else { AppLogger.Info($"Place algo order fail, error code: {response.code}, error message: {response.message}"); } }
/// <summary> /// 获取用户出入金记录 /// </summary> private static void GetDepositWithdraw() { _logger.Start(); var data = _walletClient.GetDepositWithdrawAsync(1, 10).Result; _logger.StopAndLog(); AppLogger.Info($"get deposit withdraw record, data:{JsonConvert.SerializeObject(data)}"); }
/// <summary> /// 获取成交量 /// </summary> private static void GetIndexStatistics() { _logger.Start(); var data = _homeClient.GetIndexStatisticsAsync().Result; _logger.StopAndLog(); AppLogger.Info($"get index statistics, data:{JsonConvert.SerializeObject(data)}"); }
/// <summary> /// 获取K线 /// </summary> private static void GetKline() { _logger.Start(); var data = _marketClient.GetKlineAsync("BTCUSDT", DateTimeUtil.GetTimestamps_seconds(DateTime.Now), DateTimeUtil.GetTimestamps_seconds(DateTime.Now.AddDays(-1)), CandlestickInterval.HOUR1).Result; _logger.StopAndLog(); AppLogger.Info($"get kline, data:{JsonConvert.SerializeObject(data)}"); }
private static void GetSystemStatus() { var client = new CommonClient(); _logger.Start(); string result = client.GetSystemStatus().Result; _logger.StopAndLog(); AppLogger.Info($"Get system status: {result}"); }
public void EfficientFrontierPerformanceTest() { // Create new portfolio var portf = new Portfolio("TestPortfolio"); // Create instruments from data var instruments = from k in cov.Keys select new Instrument(k, mean[k], cov[k]); portf.AddRange(instruments); // Add portfolio constraints portf.AddAllInvestedConstraint(); portf.AddLongOnlyConstraint(); double rf = 0.05; int runs = 100; for (int c = 0; c < runs; c++) { PerformanceLogger.Start("EfficientFrontierTests", "EfficientFrontierPerformanceTest", "Optimization.CalcEfficientFrontier"); var res = PortfolioOptimizer.CalcEfficientFrontier(portf, rf, 50); Console.WriteLine(c); PerformanceLogger.Stop("EfficientFrontierTests", "EfficientFrontierPerformanceTest", "Optimization.CalcEfficientFrontier"); } PerformanceLogger.WriteToCSV("performancedata.csv"); }
private static void TransferIn() { var marginClient = new IsolatedMarginClient(Config.AccessKey, Config.SecretKey); _logger.Start(); var response = marginClient.TransferInAsync("eosht", "eos", "0.01").Result; _logger.StopAndLog(); if (response != null) { switch (response.status) { case "ok": { AppLogger.Info($"Transfer successfully, transfer id: {response.data}"); break; } case "error": { AppLogger.Info($"Transfer fail, error code: {response.errorCode}, error message: {response.errorMessage}"); break; } } } }
/// <summary> /// 获取用户信息 /// </summary> private static void GetUserInfo() { _logger.Start(); var data = _accountClient.GetUserInfoAsync().Result; _logger.StopAndLog(); AppLogger.Info($"get user info, data:{JsonConvert.SerializeObject(data)}"); }
private static void GetETFInfo() { var etfClient = new ETFClient(Config.AccessKey, Config.SecretKey); _logger.Start(); var response = etfClient.GetETFInfoAsync().Result; _logger.StopAndLog(); if (response != null && response.data != null) { AppLogger.Info($"ETF name: {response.data.etfName}, purchase min amount: {response.data.purchaseMinAmount}"); if (response.data.unitPrice != null) { foreach (var p in response.data.unitPrice) { AppLogger.Info($"Currency: {p.currency}, amount: {p.amount}"); } } } }
private static void GetAccountInfo() { var accountClient = new AccountClient(Config.AccessKey, Config.SecretKey); _logger.Start(); var result = accountClient.GetAccountInfoAsync().Result; _logger.StopAndLog(); if (result != null && result.data != null) { AppLogger.Info($"Get account info, count={result.data.Length}"); foreach (var a in result.data) { AppLogger.Info($"account id: {a.id}, type: {a.type}, state: {a.state}"); } } }
private List <LineSpanChunk> GetLineSpans(IList <LineInfo[]> chunkInfo, CancellationToken cancel) { #if PERFORMANCE object cookie = null; try { PerformanceLogger.Start(ref cookie); return(GetLineSpans_Performance(chunkInfo, cancel)); } catch (OperationCanceledException) { PerformanceLogger.Mark("Cancel"); throw; } finally { PerformanceLogger.End(cookie); } }
private static HashSet <LineSpan> LinkedLinesInternal(LineSpan line, CancellationToken cancel) { #if PERFORMANCE object cookie = null; try { PerformanceLogger.Start(ref cookie); return(LinkedLinesInternal_Performance(line, cancel)); } catch (OperationCanceledException) { PerformanceLogger.Mark("Cancel"); throw; } finally { PerformanceLogger.End(cookie); } }
private void FindLongestLine( ITextSnapshot snapshot, CancellationToken cancel ) { #if PERFORMANCE object cookie = null; try { PerformanceLogger.Start(ref cookie); FindLongestLine_Performance(snapshot, cancel); } catch (OperationCanceledException) { PerformanceLogger.Mark("Cancel"); throw; } finally { PerformanceLogger.End(cookie); } }
private static void LockSubUser() { var accountClient = new SubUserClient(Config.AccessKey, Config.SecretKey); _logger.Start(); var result = accountClient.LockSubUserAsync(Config.SubUserId).Result; _logger.StopAndLog(); if (result != null) { if (result.code == (int)ResponseCode.Success && result.data != null) { AppLogger.Info($"Lock sub user {result.data.subUid} result: {result.data.userState}"); } else { AppLogger.Info($"Lock sub user error: {result.code}"); } } }
private void SetLineInfo( LineInfo[] lineInfo, ITextSnapshot snapshot, int firstLine, int lastLine, CancellationToken cancel ) { #if PERFORMANCE object cookie = null; try { PerformanceLogger.Start(ref cookie); SetLineInfo_Performance(lineInfo, snapshot, firstLine, lastLine, cancel); } catch (OperationCanceledException) { PerformanceLogger.Mark("Cancel"); throw; } finally { PerformanceLogger.End(cookie); } }
private static void GetDepoistAddress() { var walletClient = new WalletClient(Config.AccessKey, Config.SecretKey); _logger.Start(); var request = new GetRequest() .AddParam("currency", "btc"); var result = walletClient.GetDepositAddressAsync(request).Result; _logger.StopAndLog(); if (result != null && result.data != null) { AppLogger.Info($"Get deposit address, id={result.data.Length}"); foreach (var a in result.data) { AppLogger.Info($"currency: {a.currency}, addr: {a.address}, chain: {a.chain}"); } } }
public void CanLoadTileDynamically() { // ARRANGE var logger = new PerformanceLogger(); logger.Start(); var componentRoot = TestHelper.GetGameRunner(_container); // ACT componentRoot.RunGame(TestHelper.BerlinTestFilePoint); logger.Stop(); // ASSERT var tileLoader = _container.Resolve <ITileController>() as TileController; Assert.IsNotNull(tileLoader); Assert.AreEqual(1, GetSceneTileCount(tileLoader)); Assert.Less(logger.Seconds, 3, "Loading took too long"); // NOTE Actual value should be close to expected consumption for test data Assert.Less(logger.Memory, 100, "Memory consumption is too high!"); }
private static void GetCandlestick() { var marketClient = new MarketClient(); _logger.Start(); var request = new GetRequest() .AddParam("symbol", "btcusdt") .AddParam("period", "1min") .AddParam("size", "10"); var result = marketClient.GetCandlestickAsync(request).Result; _logger.StopAndLog(); if (result != null && result.data != null) { foreach (var c in result.data) { AppLogger.Info($"local time: {Timestamp.SToLocal(c.id)}, count: {c.count}, amount: {c.amount}, volume: {c.vol}"); } AppLogger.Info($"there are total {result.data.Length} candlesticks"); } }
private static void PlaceOrder() { var tradeClient = new OrderClient(Config.AccessKey, Config.SecretKey); _logger.Start(); var request = new PlaceOrderRequest { AccountId = Config.AccountId, type = "buy-limit", symbol = "btcusdt", source = "spot-api", amount = "1", price = "1.1" }; var response = tradeClient.PlaceOrderAsync(request).Result; _logger.StopAndLog(); switch (response.status) { case "ok": { AppLogger.Info($"Place order successfully, order id: {response.data}"); break; } case "error": { AppLogger.Info($"Place order fail, error code: {response.errorCode}, error message: {response.errorMessage}"); break; } } }
/// <summary> /// 获取活跃委托 /// </summary> /// <param name="contractCode"></param> private static void GetOpenOrders(string contractCode) { _logger.Start(); var data = _tradeClient.GetOpenOrdersAsync(contractCode).Result; _logger.StopAndLog(); AppLogger.Info($"get open orders, data:{JsonConvert.SerializeObject(data)}"); }
private static void Main() { //Starts monitoring PerformanceLogger.Start(); }
void UpdateAdornmentsWorker() { //var analysisLines = Analysis.Lines; //if (Analysis.Snapshot != View.TextSnapshot) { // var task = Analysis.Update(); // if (task != null) { // UpdateAdornments(task); // } // return; //} else if (analysisLines == null) { // UpdateAdornments(Analysis.Reset()); // return; //} if (!GlobalVisible) { Canvas.Visibility = Visibility.Collapsed; return; } Canvas.Visibility = Visibility.Visible; var snapshot = View.TextSnapshot; var viewModel = View.TextViewModel; if (snapshot == null || viewModel == null) { return; } var firstVisibleLine = View.TextViewLines.FirstOrDefault(line => line.IsFirstTextViewLineForSnapshotLine); if (firstVisibleLine == null) { return; } var lastVisibleLine = View.TextViewLines.LastOrDefault(line => line.IsLastTextViewLineForSnapshotLine); if (lastVisibleLine == null) { return; } var analysisLines = Analysis.GetLines( firstVisibleLine.Start.GetContainingLine().LineNumber, lastVisibleLine.Start.GetContainingLine().LineNumber ); if (!analysisLines.Any()) { return; } #if PERFORMANCE object cookie = null; try { PerformanceLogger.Start(ref cookie); UpdateAdornments_Performance( snapshot, viewModel, firstVisibleLine, analysisLines ); } catch (OperationCanceledException) { PerformanceLogger.Mark("Cancel"); throw; } finally { PerformanceLogger.End(cookie); } }
void UpdateAdornments_Performance( ITextSnapshot snapshot, ITextViewModel viewModel, ITextViewLine firstVisibleLine, IEnumerable <LineSpan> analysisLines ) { #endif double spaceWidth = firstVisibleLine.VirtualSpaceWidth; if (spaceWidth <= 0.0) { return; } double horizontalOffset = firstVisibleLine.TextLeft; var unusedLines = new HashSet <LineSpan>(Lines.Keys); var caret = CaretHandlerBase.FromName(Theme.CaretHandler, View.Caret.Position.VirtualBufferPosition, Analysis.TabSize); object perfCookie = null; PerformanceLogger.Start(ref perfCookie); #if DEBUG var initialCount = Lines.Count; #endif foreach (var line in analysisLines.Concat(GetPageWidthLines())) { double top = View.ViewportTop; double bottom = View.ViewportBottom; double left = line.Indent * spaceWidth + horizontalOffset; Line adornment; unusedLines.Remove(line); if (line.Type == LineSpanType.PageWidthMarker) { line.Highlight = (Analysis.LongestLine > line.Indent); if (!Lines.TryGetValue(line, out adornment)) { Lines[line] = adornment = CreateGuide(Canvas); } UpdateGuide(line, adornment, left, top, bottom); continue; } if (Lines.TryGetValue(line, out adornment)) { adornment.Visibility = Visibility.Hidden; } caret.AddLine(line, willUpdateImmediately: true); if (line.FirstLine >= 0 && line.LastLine < int.MaxValue) { var firstLineNumber = line.FirstLine; var lastLineNumber = line.LastLine; ITextSnapshotLine firstLine, lastLine; try { firstLine = snapshot.GetLineFromLineNumber(firstLineNumber); lastLine = snapshot.GetLineFromLineNumber(lastLineNumber); } catch (Exception ex) { Trace.TraceError("In GetLineFromLineNumber:\n{0}", ex); continue; } if (firstLine.Start > View.TextViewLines.LastVisibleLine.Start || lastLine.Start < View.TextViewLines.FirstVisibleLine.Start) { continue; } while ( !viewModel.IsPointInVisualBuffer(firstLine.Start, PositionAffinity.Successor) && ++firstLineNumber < lastLineNumber ) { try { firstLine = snapshot.GetLineFromLineNumber(firstLineNumber); } catch (Exception ex) { Trace.TraceError("In GetLineFromLineNumber:\n{0}", ex); firstLine = null; break; } } while ( !viewModel.IsPointInVisualBuffer(lastLine.Start, PositionAffinity.Predecessor) && --lastLineNumber > firstLineNumber ) { try { lastLine = snapshot.GetLineFromLineNumber(lastLineNumber); } catch (Exception ex) { Trace.TraceError("In GetLineFromLineNumber:\n{0}", ex); lastLine = null; break; } } if (firstLine == null || lastLine == null || firstLineNumber > lastLineNumber) { continue; } IWpfTextViewLine firstView, lastView; try { firstView = View.GetTextViewLineContainingBufferPosition(firstLine.Start); lastView = View.GetTextViewLineContainingBufferPosition(lastLine.End); } catch (Exception ex) { Trace.TraceError("UpdateAdornments GetTextViewLineContainingBufferPosition failed\n{0}", ex); continue; } string extentText; if (!string.IsNullOrWhiteSpace((extentText = firstView.Extent.GetText())) && line.Indent > extentText.LeadingWhitespace(Analysis.TabSize) ) { continue; } if (firstView.VisibilityState != VisibilityState.Unattached) { top = firstView.Top; } if (lastView.VisibilityState != VisibilityState.Unattached) { bottom = lastView.Bottom; } } if (!Lines.TryGetValue(line, out adornment)) { Lines[line] = adornment = CreateGuide(Canvas); } UpdateGuide(line, adornment, left, top, bottom); } PerformanceLogger.End(perfCookie); #if DEBUG Debug.WriteLine("Added {0} guides", Lines.Count - initialCount); Debug.WriteLine("Removed {0} guides", unusedLines.Count); Debug.WriteLine("{0} guides active", Lines.Count - unusedLines.Count); Debug.WriteLine(""); #endif foreach (var line in unusedLines) { Line adornment; if (Lines.TryGetValue(line, out adornment)) { Canvas.Children.Remove(adornment); Lines.Remove(line); } } foreach (var line in caret.GetModified()) { Line adornment; if (Lines.TryGetValue(line, out adornment)) { UpdateGuide(line, adornment); } } }