Files
QuanTAlib/docs/comparing trends.ipynb
T
2022-11-22 18:32:58 -08:00

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