Files
QuanTAlib/docs/crossovers.ipynb
T

150 lines
32 KiB
Plaintext
Raw Normal View History

2022-11-14 11:06:00 -08:00
{
"cells": [
{
"cell_type": "code",
"execution_count": 11,
"metadata": {
"dotnet_interactive": {
"language": "csharp"
},
"vscode": {
"languageId": "dotnet-interactive.csharp"
}
},
"outputs": [
{
"data": {
"text/html": [
"<div><div></div><div></div><div></div></div>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"#r \"nuget: QuanTAlib;\"\n",
"#r \"nuget: Plotly.NET;\"\n",
"#r \"nuget: Plotly.NET.Interactive;\"\n",
"\n",
"using QuanTAlib;\n",
"using Plotly.NET;\n",
"using Plotly.NET.LayoutObjects;\n"
]
},
{
"cell_type": "code",
"execution_count": 12,
"metadata": {
"dotnet_interactive": {
"language": "csharp"
},
"vscode": {
"languageId": "dotnet-interactive.csharp"
}
},
"outputs": [],
"source": [
"String Sym = \"IBM\";\n",
"Alphavantage_Feed data = new(Symbol: Sym);\n",
"ZLEMA_Series calc1 = new(data.OHLC4,20);\n",
"HMA_Series calc2 = new(data.OHLC4,20);\n",
"HEMA_Series calc3 = new(data.OHLC4,20);"
]
},
{
"cell_type": "code",
"execution_count": 17,
"metadata": {
"dotnet_interactive": {
"language": "csharp"
},
"vscode": {
"languageId": "dotnet-interactive.csharp"
}
},
"outputs": [
{
"data": {
"text/html": [
"\n",
"<div>\n",
" <div id=\"9d18e089-f1c1-4acd-8009-21b4458a77d6\"><!-- Plotly chart will be drawn inside this DIV --></div>\r\n",
"<script type=\"text/javascript\">\r\n",
"\r\n",
" var renderPlotly_9d18e089f1c14acd800921b4458a77d6 = function() {\r\n",
" var fsharpPlotlyRequire = requirejs.config({context:'fsharp-plotly',paths:{plotly:'https://cdn.plot.ly/plotly-2.6.3.min'}}) || require;\r\n",
" fsharpPlotlyRequire(['plotly'], function(Plotly) {\r\n",
"\r\n",
" var data = [{\"type\":\"candlestick\",\"name\":\"\",\"x\":[\"2022-11-11T00:00:00\",\"2022-11-10T00:00:00\",\"2022-11-09T00:00:00\",\"2022-11-08T00:00:00\",\"2022-11-07T00:00:00\",\"2022-11-04T00:00:00\",\"2022-11-03T00:00:00\",\"2022-11-02T00:00:00\",\"2022-11-01T00:00:00\",\"2022-10-31T00:00:00\",\"2022-10-28T00:00:00\",\"2022-10-27T00:00:00\",\"2022-10-26T00:00:00\",\"2022-10-25T00:00:00\",\"2022-10-24T00:00:00\",\"2022-10-21T00:00:00\",\"2022-10-20T00:00:00\",\"2022-10-19T00:00:00\",\"2022-10-18T00:00:00\",\"2022-10-17T00:00:00\",\"2022-10-14T00:00:00\",\"2022-10-13T00:00:00\",\"2022-10-12T00:00:00\",\"2022-10-11T00:00:00\",\"2022-10-10T00:00:00\",\"2022-10-07T00:00:00\",\"2022-10-06T00:00:00\",\"2022-10-05T00:00:00\",\"2022-10-04T00:00:00\",\"2022-10-03T00:00:00\",\"2022-09-30T00:00:00\",\"2022-09-29T00:00:00\",\"2022-09-28T00:00:00\",\"2022-09-27T00:00:00\",\"2022-09-26T00:00:00\",\"2022-09-23T00:00:00\",\"2022-09-22T00:00:00\",\"2022-09-21T00:00:00\",\"2022-09-20T00:00:00\",\"2022-09-19T00:00:00\",\"2022-09-16T00:00:00\",\"2022-09-15T00:00:00\",\"2022-09-14T00:00:00\",\"2022-09-13T00:00:00\",\"2022-09-12T00:00:00\",\"2022-09-09T00:00:00\",\"2022-09-08T00:00:00\",\"2022-09-07T00:00:00\",\"2022-09-06T00:00:00\",\"2022-09-02T00:00:00\",\"2022-09-01T00:00:00\",\"2022-08-31T00:00:00\",\"2022-08-30T00:00:00\",\"2022-08-29T00:00:00\",\"2022-08-26T00:00:00\",\"2022-08-25T00:00:00\",\"2022-08-24T00:00:00\",\"2022-08-23T00:00:00\",\"2022-08-22T00:00:00\",\"2022-08-19T00:00:00\",\"2022-08-18T00:00:00\",\"2022-08-17T00:00:00\",\"2022-08-16T00:00:00\",\"2022-08-15T00:00:00\",\"2022-08-12T00:00:00\",\"2022-08-11T00:00:00\",\"2022-08-10T00:00:00\",\"2022-08-09T00:00:00\",\"2022-08-08T00:00:00\",\"2022-08-05T00:00:00\",\"2022-08-04T00:00:00\",\"2022-08-03T00:00:00\",\"2022-08-02T00:00:00\",\"2022-08-01T00:00:00\",\"2022-07-29T00:00:00\",\"2022-07-28T00:00:00\",\"2022-07-27T00:00:00\",\"2022-07-26T00:00:00\",\"2022-07-25T00:00:00\",\"2022-07-22T00:00:00\",\"2022-07-21T00:00:00\",\"2022-07-20T00:00:00\",\"2022-07-19T00:00:00\",\"2022-07-18T00:00:00\",\"2022-07-15T00:00:00\",\"2022-07-14T00:00:00\",\"2022-07-13T00:00:00\",\"2022-07-12T00:00:00\",\"2022-07-11T00:00:00\",\"2022-07-08T00:00:00\",\"2022-07-07T00:00:00\",\"2022-07-06T00:00:00\",\"2022-07-05T00:00:00\",\"2022-07-01T00:00:00\",\"2022-06-30T00:00:00\",\"2022-06-29T00:00:00\",\"2022-06-28T00:00:00\",\"2022-06-27T00:00:00\",\"2022-06-24T00:00:00\",\"2022-06-23T00:00:00\"],\"close\":[143.17,141.23,137.39,140.04,138.34,136.96,134.47,136.83,138.2,138.29,138.51,134.77,135.01,132.93,132.69,129.9,128.3,122.51,122.94,121.52,120.04,121.79,117.57,117.8,117.75,118.82,122.23,125.74,125.5,121.51,118.81,121.63,122.76,121.74,122.01,122.71,125.31,124.93,126.3,127.73,127.27,125.49,127.69,127.25,130.66,129.19,128.47,127.71,126.72,127.79,129.66,128.45,129.58,130.31,130.38,133.98,133.23,134.74,135.55,138.37,139.07,137.79,136.56,134.93,134.01,132.54,131.5,129.47,132.61,132.48,131.64,132.34,131.81,132.04,130.79,129.22,129.12,128.08,128.54,128.25,127.15,129.18,130.88,138.13,139.92,139.06,137.18,139.18,141.0,140.47,140.83,138.08,137.62,141.12,141.19,140.71,141.86,142.8,142.06,138.44],\"open\":[141.5,140.26,137.95,139.0,136.64,135.65,136.42,137.75,138.25,138.06,135.56,135.55,133.72,132.0,130.9,128.39,126.25,122.36,123.0,121.8,121.8,116.1,118.0,117.46,119.79,121.5,124.88,124.71,122.8,120.16,121.66,121.85,121.65,122.6,122.3,124.53,124.76,126.89,126.9,126.49,124.36,127.39,127.5,129.14,130.33,128.9,127.2,126.69,127.8,130.3,128.4,129.92,130.56,129.99,134.1,133.65,134.89,135.37,137.65,138.75,137.79,136.46,134.6,132.96,132.62,132.36,130.75,129.92,133.1,131.25,132.15,131.82,132.2,130.75,129.52,128.75,127.97,128.26,128.44,127.03,128.75,130.7,131.58,140.15,140.68,135.6,137.18,140.84,140.62,140.76,138.91,138.0,139.97,141.0,139.58,142.74,142.92,142.26,139.2,137.14],\"high\":[144.13,141.37,138.9,140.93,138.7,137.73,136.48,140.17,138.65,138.7699,138.8615,136.4,135.863,133.3,133.11,130.845,128.96,123.94,123.94,122.875,122.54,122.15,118.81,119.23,119.96,121.8016,125.3,126.46,125.65,122.21,122.43
" var layout = {\"width\":1200,\"height\":600,\"template\":{\"layout\":{\"title\":{\"x\":0.05},\"font\":{\"color\":\"rgba(42, 63, 95, 1.0)\"},\"paper_bgcolor\":\"rgba(255, 255, 255, 1.0)\",\"plot_bgcolor\":\"rgba(229, 236, 246, 1.0)\",\"autotypenumbers\":\"strict\",\"colorscale\":{\"diverging\":[[0.0,\"#8e0152\"],[0.1,\"#c51b7d\"],[0.2,\"#de77ae\"],[0.3,\"#f1b6da\"],[0.4,\"#fde0ef\"],[0.5,\"#f7f7f7\"],[0.6,\"#e6f5d0\"],[0.7,\"#b8e186\"],[0.8,\"#7fbc41\"],[0.9,\"#4d9221\"],[1.0,\"#276419\"]],\"sequential\":[[0.0,\"#0d0887\"],[0.1111111111111111,\"#46039f\"],[0.2222222222222222,\"#7201a8\"],[0.3333333333333333,\"#9c179e\"],[0.4444444444444444,\"#bd3786\"],[0.5555555555555556,\"#d8576b\"],[0.6666666666666666,\"#ed7953\"],[0.7777777777777778,\"#fb9f3a\"],[0.8888888888888888,\"#fdca26\"],[1.0,\"#f0f921\"]],\"sequentialminus\":[[0.0,\"#0d0887\"],[0.1111111111111111,\"#46039f\"],[0.2222222222222222,\"#7201a8\"],[0.3333333333333333,\"#9c179e\"],[0.4444444444444444,\"#bd3786\"],[0.5555555555555556,\"#d8576b\"],[0.6666666666666666,\"#ed7953\"],[0.7777777777777778,\"#fb9f3a\"],[0.8888888888888888,\"#fdca26\"],[1.0,\"#f0f921\"]]},\"hovermode\":\"closest\",\"hoverlabel\":{\"align\":\"left\"},\"coloraxis\":{\"colorbar\":{\"outlinewidth\":0.0,\"ticks\":\"\"}},\"geo\":{\"showland\":true,\"landcolor\":\"rgba(229, 236, 246, 1.0)\",\"showlakes\":true,\"lakecolor\":\"rgba(255, 255, 255, 1.0)\",\"subunitcolor\":\"rgba(255, 255, 255, 1.0)\",\"bgcolor\":\"rgba(255, 255, 255, 1.0)\"},\"mapbox\":{\"style\":\"light\"},\"polar\":{\"bgcolor\":\"rgba(229, 236, 246, 1.0)\",\"radialaxis\":{\"linecolor\":\"rgba(255, 255, 255, 1.0)\",\"gridcolor\":\"rgba(255, 255, 255, 1.0)\",\"ticks\":\"\"},\"angularaxis\":{\"linecolor\":\"rgba(255, 255, 255, 1.0)\",\"gridcolor\":\"rgba(255, 255, 255, 1.0)\",\"ticks\":\"\"}},\"scene\":{\"xaxis\":{\"ticks\":\"\",\"linecolor\":\"rgba(255, 255, 255, 1.0)\",\"gridcolor\":\"rgba(255, 255, 255, 1.0)\",\"gridwidth\":2.0,\"zerolinecolor\":\"rgba(255, 255, 255, 1.0)\",\"backgroundcolor\":\"rgba(229, 236, 246, 1.0)\",\"showbackground\":true},\"yaxis\":{\"ticks\":\"\",\"linecolor\":\"rgba(255, 255, 255, 1.0)\",\"gridcolor\":\"rgba(255, 255, 255, 1.0)\",\"gridwidth\":2.0,\"zerolinecolor\":\"rgba(255, 255, 255, 1.0)\",\"backgroundcolor\":\"rgba(229, 236, 246, 1.0)\",\"showbackground\":true},\"zaxis\":{\"ticks\":\"\",\"linecolor\":\"rgba(255, 255, 255, 1.0)\",\"gridcolor\":\"rgba(255, 255, 255, 1.0)\",\"gridwidth\":2.0,\"zerolinecolor\":\"rgba(255, 255, 255, 1.0)\",\"backgroundcolor\":\"rgba(229, 236, 246, 1.0)\",\"showbackground\":true}},\"ternary\":{\"aaxis\":{\"ticks\":\"\",\"linecolor\":\"rgba(255, 255, 255, 1.0)\",\"gridcolor\":\"rgba(255, 255, 255, 1.0)\"},\"baxis\":{\"ticks\":\"\",\"linecolor\":\"rgba(255, 255, 255, 1.0)\",\"gridcolor\":\"rgba(255, 255, 255, 1.0)\"},\"caxis\":{\"ticks\":\"\",\"linecolor\":\"rgba(255, 255, 255, 1.0)\",\"gridcolor\":\"rgba(255, 255, 255, 1.0)\"},\"bgcolor\":\"rgba(229, 236, 246, 1.0)\"},\"xaxis\":{\"title\":{\"standoff\":15},\"ticks\":\"\",\"automargin\":true,\"linecolor\":\"rgba(255, 255, 255, 1.0)\",\"gridcolor\":\"rgba(255, 255, 255, 1.0)\",\"zerolinecolor\":\"rgba(255, 255, 255, 1.0)\",\"zerolinewidth\":2.0},\"yaxis\":{\"title\":{\"standoff\":15},\"ticks\":\"\",\"automargin\":true,\"linecolor\":\"rgba(255, 255, 255, 1.0)\",\"gridcolor\":\"rgba(255, 255, 255, 1.0)\",\"zerolinecolor\":\"rgba(255, 255, 255, 1.0)\",\"zerolinewidth\":2.0},\"annotationdefaults\":{\"arrowcolor\":\"#2a3f5f\",\"arrowhead\":0,\"arrowwidth\":1},\"shapedefaults\":{\"line\":{\"color\":\"rgba(42, 63, 95, 1.0)\"}},\"colorway\":[\"rgba(99, 110, 250, 1.0)\",\"rgba(239, 85, 59, 1.0)\",\"rgba(0, 204, 150, 1.0)\",\"rgba(171, 99, 250, 1.0)\",\"rgba(255, 161, 90, 1.0)\",\"rgba(25, 211, 243, 1.0)\",\"rgba(255, 102, 146, 1.0)\",\"rgba(182, 232, 128, 1.0)\",\"rgba(255, 151, 255, 1.0)\",\"rgba(254, 203, 82, 1.0)\"]},\"data\":{\"bar\":[{\"marker\":{\"line\":{\"color\":\"rgba(229, 236, 246, 1.0)\",\"width\":0.5},\"pattern\":{\"fillmode\":\"overlay\",\"size\":10,\"solidity\":0.2}},\"error_x\":{\"color\":\"rgba(42, 63
" var config = {\"responsive\":true};\r\n",
" Plotly.newPlot('9d18e089-f1c1-4acd-8009-21b4458a77d6', data, layout, config);\r\n",
"});\r\n",
" };\r\n",
" if ((typeof(requirejs) !== typeof(Function)) || (typeof(requirejs.config) !== typeof(Function))) {\r\n",
" var script = document.createElement(\"script\");\r\n",
" script.setAttribute(\"src\", \"https://cdnjs.cloudflare.com/ajax/libs/require.js/2.3.6/require.min.js\");\r\n",
" script.onload = function(){\r\n",
" renderPlotly_9d18e089f1c14acd800921b4458a77d6();\r\n",
" };\r\n",
" document.getElementsByTagName(\"head\")[0].appendChild(script);\r\n",
" }\r\n",
" else {\r\n",
" renderPlotly_9d18e089f1c14acd800921b4458a77d6();\r\n",
" }\r\n",
"</script>\r\n",
"\n",
" \n",
"</div> \n"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"var layout = Layout.init<IConvertible>( \n",
" PlotBGColor : Color.fromString(\"#1e1e1e\"),\n",
" PaperBGColor : Color.fromString(\"#1e1e1e\"),\n",
" Font:Font.init(Size:10, Color: Color.fromString(\"#ffffff\")));\n",
"\n",
"var yAxis = LinearAxis.init<IConvertible, IConvertible, IConvertible, IConvertible, IConvertible, IConvertible>(\n",
" GridColor:Color.fromString(\"#252525\")); \n",
"\n",
"var candles = Chart2D.Chart.Candlestick<double, double, double, double, DateTime, string>(data.Open.v, data.High.v, data.Low.v, data.Close.v, data.Open.t, \"\");\n",
"var line1 = Chart2D.Chart.Line<DateTime,double,bool>(calc1.t, calc1.v, false, calc1.GetType().Name).WithLineStyle(Width: 2, Color: Color.fromString(\"yellow\"));\n",
"var line2 = Chart2D.Chart.Line<DateTime,double,bool>(calc2.t, calc2.v, false, calc2.GetType().Name).WithLineStyle(Width: 3, Color: Color.fromString(\"red\"));\n",
"var line3 = Chart2D.Chart.Line<DateTime,double,bool>(calc3.t, calc3.v, false, calc3.GetType().Name).WithLineStyle(Width: 2, Color: Color.fromString(\"blue\"));\n",
"var chart = Chart.Combine(new []{candles, line1, line2, line3})\n",
" .WithSize(1200,600)\n",
" .WithMargin(Margin.init<int, int, int, int, int, bool>(30,10,40,30,1,false))\n",
" .WithXAxisRangeSlider(RangeSlider.init(Visible:false))\n",
" .WithYAxis(yAxis)\n",
" .WithXAxis(yAxis)\n",
" .WithTitle(Sym)\n",
" .WithLayout(layout);\n",
"\n",
"chart"
]
}
],
"metadata": {
"kernelspec": {
"display_name": ".NET (C#)",
"language": "C#",
"name": ".net-csharp"
},
"language_info": {
"file_extension": ".cs",
"mimetype": "text/x-csharp",
"name": "C#",
"pygments_lexer": "csharp",
"version": "9.0"
},
"orig_nbformat": 4
},
"nbformat": 4,
"nbformat_minor": 2
}