mirror of
https://github.com/mihakralj/QuanTAlib.git
synced 2026-08-16 17:48:05 +00:00
21 KiB
21 KiB
In [1]:
//#r "nuget: QuanTAlib;"
#r "nuget: Plotly.NET;"
#r "nuget: Plotly.NET.Interactive;"
#r "..\Source\bin\Debug\net6.0\QuanTAlib.dll"
using QuanTAlib;
using Plotly.NET;
using Plotly.NET.LayoutObjects;Loading extensions from `C:\Users\miha\.nuget\packages\plotly.net.interactive\3.0.2\interactive-extensions\dotnet\Plotly.NET.Interactive.dll`
In [10]:
int period = 25;
GBM_Feed feed = new(50, Volatility: 1);
TSeries data = feed.OHLC4;
//List<double> raw = new() { 0, 1, 1 ,1 ,1, 1, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0};
//TSeries data = new();
//for (int i=0; i<raw.Count; i++) { data.Add((DateTime.Today.AddDays(i-raw.Count)),raw[i]); }
EMA_Series calc1 = new(data,period);
EMA_Series calc2 = new(data,period, useSMA: false);
var line0 = Chart2D.Chart.Line<DateTime,double,bool>(data.t, data.v, false, data.GetType().Name).WithLineStyle(Width: 4, Color: Color.fromString("red"));
var line1 = Chart2D.Chart.Line<DateTime,double,bool>(calc1.t, calc1.v, false, "EMA_SMA").WithLineStyle(Width: 2, Color: Color.fromString("purple"));
var line2 = Chart2D.Chart.Line<DateTime,double,bool>(calc2.t, calc2.v, false, "True EMA").WithLineStyle(Width: 2, Color: Color.fromString("blue"));
var chart = Chart.Combine(new []{line0, line1, line2})
.WithSize(1200,600)
.WithMargin(Margin.init<int, int, int, int, int, bool>(30,10,40,30,1,false))
.WithXAxisRangeSlider(RangeSlider.init(Visible:false));
chart