public async Task Stats(CommandContext ctx, string id) { if (id.Length > 10) { var token = await TheGraph.GetTokenByID(id); var embed = DiscordEmbed.TokenStatsEmbed(token); await ctx.Channel.SendMessageAsync(embed : embed).ConfigureAwait(false); } else { var tokens = await TheGraph.GetTokensBySymbol(id); if (tokens.Count == 0) { return; } var embeds = DiscordEmbed.TokenStatsEmbeds(tokens); foreach (var embed in embeds) { await ctx.Channel.SendMessageAsync(embed : embed).ConfigureAwait(false); } } //if(SymbolIDPairs.pairs.ContainsKey(id.ToUpper())) // id = SymbolIDPairs.pairs[id.ToUpper()]; }
public MainWindow() { var parsedArguments = new ParsedArguments(new string[] { }); var server = new Server(parsedArguments); _server = server; server.TempAddSink(new GraphDataSink(this)); server.Run(); InitializeComponent(); var plt = TheGraph.plt; Random rand = new Random(0); int pointCount = (int)1e6; int lineCount = 5; plt.Title("Signal Plot Quickstart (5 million points)"); plt.YLabel("Vertical Units"); plt.XLabel("Horizontal Units"); plt.Resize(); TheGraph.Render(); }
public async Task AllStats(CommandContext ctx, string id = "x") { if (SymbolIDPairs.pairs.ContainsKey(id.ToUpper())) { id = SymbolIDPairs.pairs[id.ToUpper()]; } var token = await TheGraph.GetTokenByID(id); var embed = DiscordEmbed.TokenStatsAllEmbed(token); await ctx.Channel.SendMessageAsync(embed : embed).ConfigureAwait(false); }
protected override void ReadInFile(string inFile) { List <string> allLines = new List <string>(); try { allLines = File.ReadAllLines(inFile).ToList(); } catch (Exception e) { Logger.Log("Hunt-Fill Tracor:"); Logger.Log(e.ToString()); Logger.Log("Cannot read data from existing " + inFile); } // outputLine format: // sa teta clpsFlg slope slopRat dvrgFlg stage endTime nn int nn = 1; foreach (var line in allLines) { var lineList = line.Split(' ').ToList(); IdaPoint pnt = new IdaPoint(); var im = Convert.ToDouble(lineList[0]); pnt.Im = im; pnt.Edp = Convert.ToDouble(lineList[1]); pnt.CollapseFlag = Convert.ToBoolean(lineList[2]); pnt.Slope = Convert.ToDouble(lineList[3]); pnt.RelSlope = Convert.ToDouble(lineList[4]); pnt.DivergFlag = Convert.ToBoolean(lineList[5]); pnt.AnalysisEndTime = Convert.ToDouble(lineList[6]); TheGraph.Add(nn, pnt); if (pnt.CollapseFlag) { ImCollapse = pnt.Im; } else { ImStable = pnt.Im; EdpStable = pnt.Edp; if (CurStage == Stage.Hunt) { NLastStable = TheGraph.Count; //to support for file continuation } } CurStage = lineList[6] == "0" ? Stage.Hunt : (lineList[6] == "1" ? Stage.Bracket : Stage.Fill); if (nn >= MaxIdaPnts) { Continue = false; } nn++; } }
public override void UpdateStatus(ref IdaPoint pnt, SingleRunJob.Status theStatus) { //iterate through all points to find the order var im = pnt.Im; var edp = pnt.Edp; var dvrgFlg = pnt.DivergFlag; var nn = TheGraph.TakeWhile(kvp => kvp.Value.Im < im).Count(); StageChanged = false; var stage0 = CurStage; if (CurStage != Stage.Fill) { pnt.Slope = (pnt.Im - ImStable) / (edp - EdpStable); pnt.Slope = Math.Abs(pnt.Slope); if (nn == 1 && Math.Abs(InitSlope) < 1e-3) { InitSlope = pnt.Slope; } pnt.RelSlope = pnt.Slope / InitSlope; if (edp > TetaLimit || pnt.RelSlope < 0.2 || dvrgFlg) { pnt.CollapseFlag = true; CurStage = Stage.Bracket; if (pnt.Im < ImCollapse) { ImCollapse = pnt.Im; ImForNexts = ImStable + (ImCollapse - ImStable) / 3; StageChanged = true; } } else { if (pnt.Im > ImStable) { ImStable = pnt.Im; EdpStable = edp; } if (CurStage == Stage.Hunt) { NLastStable = nn; } } if (CurStage == Stage.Bracket) { var clpseRsln = (ImCollapse - ImStable) / ImStable; if (clpseRsln < MaxClpsRsltn) { CurStage = Stage.Fill; StageChanged = true; ImForNexts = (TheGraph[NLastStable].Im + TheGraph[NLastStable - 1].Im) / 2.0; NLastStable--; if (NLastStable < 1) { Continue = false; } } } } pnt.StringOut = string.Format("{0} {1}", CurStage, theStatus); pnt.Order = nn; EndStatusUpdate(pnt); }