@page @model MarketAnalyzerModel @{ ViewData["Title"] = ""; } @section Styles { } @if (!Model.PTMagicConfiguration.GeneralSettings.Monitor.AnalyzerChart.Equals("")) { string TvSymbol = @Core.Helper.SystemHelper.GetMainCurrencySymbol(Model.Summary.MainMarket)+"USD";
} else {
@if (Model.Summary.MainMarket.Equals("USDT", StringComparison.InvariantCultureIgnoreCase) || Model.Summary.MainMarket.Equals("TUSD", StringComparison.InvariantCultureIgnoreCase) || Model.Summary.MainMarket.Equals("USDC", StringComparison.InvariantCultureIgnoreCase) || Model.Summary.MainMarket.Equals("PAX", StringComparison.InvariantCultureIgnoreCase) || Model.Summary.MainMarket.Equals("USD", StringComparison.InvariantCultureIgnoreCase)) { string TvSymbol = @Core.Helper.SystemHelper.GetMainCurrencySymbol(Model.Summary.MainMarket)+"USD";
} else { if (Model.PTMagicConfiguration.GeneralSettings.Application.Exchange.Equals("Binance", StringComparison.InvariantCultureIgnoreCase)) { string TvSymbol = "BINANCE:" + @Core.Helper.SystemHelper.GetMainCurrencySymbol(Model.Summary.MainMarket) + "USDT";
} else if (Model.PTMagicConfiguration.GeneralSettings.Application.Exchange.Equals("BinanceUS", StringComparison.InvariantCultureIgnoreCase)) { string TvSymbol = "BINANCE:" + @Core.Helper.SystemHelper.GetMainCurrencySymbol(Model.Summary.MainMarket) + "USD";
} else if (Model.PTMagicConfiguration.GeneralSettings.Application.Exchange.Equals("Bittrex", StringComparison.InvariantCultureIgnoreCase)) { string TvSymbol = "BITTREX:" + @Core.Helper.SystemHelper.GetMainCurrencySymbol(Model.Summary.MainMarket) + "USD";
} else { string TvSymbol = "Poloniex:" + @Core.Helper.SystemHelper.GetMainCurrencySymbol(Model.Summary.MainMarket) + "USDT";
} }
}

Market Trend Averages at @Model.PTMagicConfiguration.GeneralSettings.Application.Exchange

@foreach (Core.Main.DataObjects.PTMagicData.MarketTrend marketTrend in Model.MarketTrends.OrderBy(mt => mt.TrendMinutes)) { if (Model.Summary.MarketTrendChanges.ContainsKey(marketTrend.Name)) { double trendChange = Model.Summary.MarketTrendChanges[marketTrend.Name].OrderByDescending(mtc => mtc.TrendDateTime).First().TrendChange; string trendChangeOutput = trendChange.ToString("#,#0.00", new System.Globalization.CultureInfo("en-US")); int marketCount = marketTrend.MaxMarkets; string marketCountString = marketCount.ToString(); if (marketCount == 0) { marketCountString = "All"; } else if (marketCount > Model.Summary.MarketSummary.Keys.Count && marketTrend.Platform.Equals("Exchange", StringComparison.InvariantCultureIgnoreCase)) { marketCountString = Model.Summary.MarketSummary.Keys.Count.ToString(); } @if (marketTrend.TrendThreshold == 0) { } else { } } }
Name Markets Timeframe Threshold % Change
@Core.Helper.SystemHelper.SplitCamelCase(marketTrend.Name) @marketCountString @Core.Helper.SystemHelper.GetProperDurationTime(marketTrend.TrendMinutes * 60, false)--@marketTrend.TrendThreshold@trendChangeOutput%
@if (!Model.TrendChartDataJSON.Equals("")) {
} else {

Not able to load graph, no market trend data found.
If you still do not see a graph after more than hour, report an issue.

}

Trend Overview for @Model.Summary.MarketSummary.Keys.Count markets on @Model.PTMagicConfiguration.GeneralSettings.Application.Exchange

The absolute trend changes are the trend changes for each coin on its own for the specified timeframe without putting the change into any relation with the overall market.
The relative trend changes are the trend changes for each coin in relation (or compared) to the overall market trend for the specified timeframe.
@{ List marketTrends = Model.MarketTrends.FindAll(mt => mt.Platform.Equals("Exchange") && mt.DisplayOnMarketAnalyzerList); } @foreach (Core.Main.DataObjects.PTMagicData.MarketTrend marketTrend in marketTrends) { } @foreach (string market in Model.Summary.MarketSummary.Keys.OrderBy(m => m)) { if (market.EndsWith(Model.Summary.MainMarket)) { Core.Main.DataObjects.PTMagicData.MarketPairSummary mps = Model.Summary.MarketSummary[market]; int marketTrendsDisplayed = 0; @if (mps.ActiveSingleSettings == null || mps.ActiveSingleSettings.Count == 0) { } else { } @foreach (Core.Main.DataObjects.PTMagicData.MarketTrend marketTrend in marketTrends) { if (mps.MarketTrendChanges.ContainsKey(marketTrend.Name)) { marketTrendsDisplayed++; string trendChangeOutput = mps.MarketTrendChanges[marketTrend.Name].ToString("#,#0.00", new System.Globalization.CultureInfo("en-US")); if (marketTrend.TrendThreshold != 0 && Math.Abs(mps.MarketTrendChanges[marketTrend.Name]) > marketTrend.TrendThreshold) { } else { } } } @for (int i = 0; i < marketTrends.Count - marketTrendsDisplayed; i++) { } } } @foreach (Core.Main.DataObjects.PTMagicData.MarketTrend marketTrend in marketTrends) { } @foreach (string market in Model.Summary.MarketSummary.Keys.OrderBy(m => m)) { Core.Main.DataObjects.PTMagicData.MarketPairSummary mps = Model.Summary.MarketSummary[market]; int marketTrendsDisplayed = 0; @if (mps.ActiveSingleSettings == null || mps.ActiveSingleSettings.Count == 0) { } else { } @foreach (Core.Main.DataObjects.PTMagicData.MarketTrend marketTrend in marketTrends) { if (mps.MarketTrendChanges.ContainsKey(marketTrend.Name)) { marketTrendsDisplayed++; double relativeTrend = Model.Summary.MarketSummary[market].MarketTrendChanges[marketTrend.Name] - Model.Summary.MarketTrendChanges[marketTrend.Name].OrderByDescending(mtc => mtc.TrendDateTime).First().TrendChange; string trendChangeOutput = relativeTrend.ToString("#,#0.00", new System.Globalization.CultureInfo("en-US")); } } @for (int i = 0; i < marketTrends.Count - marketTrendsDisplayed; i++) { } }
@section Scripts { }