public MainWindow() { InitializeComponent(); if (LicenseManager.UsageMode == LicenseUsageMode.Designtime) { return; } //Load data. var json = File.ReadAllText("testdata.json"); var chart = JsonConvert.DeserializeObject <TradingViewChart>(json); var ctx = new TradingViewContext() { Title = "MyTitle", Chart = chart }; var lastCandle = chart.Ohlcv.Last(); _currentOhlcvTime = (long)lastCandle.DateTime.ToUniversalDateTime(); var prevCandleTime = (long)chart.Ohlcv[chart.Ohlcv.Count - 2].DateTime.ToUniversalDateTime(); _step = _currentOhlcvTime - prevCandleTime; var o = JsonConvert.SerializeObject(lastCandle.Open); var h = JsonConvert.SerializeObject(lastCandle.High); var l = JsonConvert.SerializeObject(lastCandle.Low); var c = JsonConvert.SerializeObject(lastCandle.Close); var v = JsonConvert.SerializeObject(lastCandle.Volume); TextBox1.Text = $"[{o}, {h}, {l}, {c}, {v}]"; TradingView = TradingViewCtr.TradingView; TradingView.TypedContext = ctx; }
public MainForm() { InitializeComponent(); if (LicenseManager.UsageMode == LicenseUsageMode.Designtime) { return; } //Load data. var json = File.ReadAllText("testdata.json"); var chart = JsonConvert.DeserializeObject <TradingViewChart>(json); var lastCandle = chart.Ohlcv.Last(); //Add trade marker. var tradeOverlayItem = new TradeOverlayItem() { DateTime = lastCandle.DateTime, Price = lastCandle.Close, Type = TradeMarkerType.Sell, Label = "My trade" }; var tradesChartOverlay = new ChartOverlay() { Name = "Maked trades", Type = "Trades", Data = new List <object> { tradeOverlayItem }, Settings = new Dictionary <string, object>() }; tradesChartOverlay.Settings["z-index"] = 1; chart.OnChart.Add(tradesChartOverlay); var ctx = new TradingViewContext() { Title = "MyTitle", Chart = chart }; var tv = tradingViewControl1.TradingView; tv.TypedContext = ctx; tv.TimeRangeChanged += async(s, e) => { Debug.WriteLine($"StartTime: {e.StartTime}, EndTime: {e.EndTime}"); }; Task.Run(async() => { await Task.Delay(3000); Debug.WriteLine(JsonConvert.SerializeObject(await tv.GetTimeRange())); }); }