Files
OpenBB/assets/js/0504da9a.bf4236d8.js
github-actions[bot] 23f5632bc3 deploy: 70633e37a0
2024-01-05 23:39:32 +00:00

1 line
25 KiB
JavaScript

"use strict";(self.webpackChunkdocs=self.webpackChunkdocs||[]).push([[93118],{3905:(e,t,a)=>{a.d(t,{Zo:()=>d,kt:()=>g});var n=a(67294);function r(e,t,a){return t in e?Object.defineProperty(e,t,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[t]=a,e}function i(e,t){var a=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),a.push.apply(a,n)}return a}function l(e){for(var t=1;t<arguments.length;t++){var a=null!=arguments[t]?arguments[t]:{};t%2?i(Object(a),!0).forEach((function(t){r(e,t,a[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(a)):i(Object(a)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(a,t))}))}return e}function o(e,t){if(null==e)return{};var a,n,r=function(e,t){if(null==e)return{};var a,n,r={},i=Object.keys(e);for(n=0;n<i.length;n++)a=i[n],t.indexOf(a)>=0||(r[a]=e[a]);return r}(e,t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(n=0;n<i.length;n++)a=i[n],t.indexOf(a)>=0||Object.prototype.propertyIsEnumerable.call(e,a)&&(r[a]=e[a])}return r}var s=n.createContext({}),m=function(e){var t=n.useContext(s),a=t;return e&&(a="function"==typeof e?e(t):l(l({},t),e)),a},d=function(e){var t=m(e.components);return n.createElement(s.Provider,{value:t},e.children)},p="mdxType",c={inlineCode:"code",wrapper:function(e){var t=e.children;return n.createElement(n.Fragment,{},t)}},u=n.forwardRef((function(e,t){var a=e.components,r=e.mdxType,i=e.originalType,s=e.parentName,d=o(e,["components","mdxType","originalType","parentName"]),p=m(a),u=r,g=p["".concat(s,".").concat(u)]||p[u]||c[u]||i;return a?n.createElement(g,l(l({ref:t},d),{},{components:a})):n.createElement(g,l({ref:t},d))}));function g(e,t){var a=arguments,r=t&&t.mdxType;if("string"==typeof e||r){var i=a.length,l=new Array(i);l[0]=u;var o={};for(var s in t)hasOwnProperty.call(t,s)&&(o[s]=t[s]);o.originalType=e,o[p]="string"==typeof e?e:r,l[1]=o;for(var m=2;m<i;m++)l[m]=a[m];return n.createElement.apply(null,l)}return n.createElement.apply(null,a)}u.displayName="MDXCreateElement"},88828:(e,t,a)=>{a.d(t,{Z:()=>i});var n=a(67294),r=a(35742);function i(e){let{title:t}=e;return n.createElement(r.Z,null,n.createElement("title",null,t))}},2521:(e,t,a)=>{a.r(t),a.d(t,{assets:()=>m,contentTitle:()=>o,default:()=>u,frontMatter:()=>l,metadata:()=>s,toc:()=>d});var n=a(87462),r=(a(67294),a(3905)),i=a(88828);const l={title:"Technical Analysis",description:"Learn how to use our comprehensive technical analysis tools to understand the trend patterns and market sentiment of various assets. Get insights on moving averages, oscillating signals, directional strength, price band volatility, volume analysis and even use custom indicators. Make better trading decisions with our analysis dashboard!",keywords:["technical analysis","moving averages","oscillating signals","directional strength","volatility","volume analysis","custom indicators","trading","asset analysis","market trends","financial trading tools","crypto analysis","stock analysis","forex analysis","ETF analysis","financial dashboard"]},o=void 0,s={unversionedId:"terminal/menus/common/ta",id:"terminal/menus/common/ta",title:"Technical Analysis",description:"Learn how to use our comprehensive technical analysis tools to understand the trend patterns and market sentiment of various assets. Get insights on moving averages, oscillating signals, directional strength, price band volatility, volume analysis and even use custom indicators. Make better trading decisions with our analysis dashboard!",source:"@site/content/terminal/menus/common/ta.md",sourceDirName:"terminal/menus/common",slug:"/terminal/menus/common/ta",permalink:"/terminal/menus/common/ta",draft:!1,editUrl:"https://github.com/OpenBB-finance/OpenBBTerminal/edit/main/website/content/terminal/menus/common/ta.md",tags:[],version:"current",lastUpdatedBy:"Danglewood",lastUpdatedAt:1704496662,formattedLastUpdatedAt:"Jan 5, 2024",frontMatter:{title:"Technical Analysis",description:"Learn how to use our comprehensive technical analysis tools to understand the trend patterns and market sentiment of various assets. Get insights on moving averages, oscillating signals, directional strength, price band volatility, volume analysis and even use custom indicators. Make better trading decisions with our analysis dashboard!",keywords:["technical analysis","moving averages","oscillating signals","directional strength","volatility","volume analysis","custom indicators","trading","asset analysis","market trends","financial trading tools","crypto analysis","stock analysis","forex analysis","ETF analysis","financial dashboard"]},sidebar:"tutorialSidebar",previous:{title:"Quantitative Analysis",permalink:"/terminal/menus/common/qa"},next:{title:"Alternative",permalink:"/terminal/menus/alternative"}},m={},d=[{value:"How to Use",id:"how-to-use",level:3},{value:"Examples",id:"examples",level:2},{value:"Moving Averages",id:"moving-averages",level:3},{value:"Single MA Type",id:"single-ma-type",level:4},{value:"Multiple MA Types",id:"multiple-ma-types",level:4},{value:"multi",id:"multi",level:3},{value:"macd",id:"macd",level:3},{value:"obv",id:"obv",level:3},{value:"Indicators Dashboard",id:"indicators-dashboard",level:2}],p={toc:d},c="wrapper";function u(e){let{components:t,...a}=e;return(0,r.kt)(c,(0,n.Z)({},p,a,{components:t,mdxType:"MDXLayout"}),(0,r.kt)(i.Z,{title:"Technical Analysis - Common - Data Available | OpenBB Terminal Docs",mdxType:"HeadTitle"}),(0,r.kt)("p",null,"The Technical Analysis menu offers the user a suite of tools for analyzing the technical components of an asset's trading history. The menu can be found in most wings of the Terminal:"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("a",{parentName:"li",href:"/terminal/menus/crypto/introduction"},"Crypto")),(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("a",{parentName:"li",href:"/terminal/menus/stocks/introduction"},"Stocks")),(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("a",{parentName:"li",href:"/terminal/menus/etf"},"ETF")),(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("a",{parentName:"li",href:"/terminal/menus/forex"},"Forex"))),(0,r.kt)("p",null,"The commands are divided by categories that define their purpose for general-use:"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"Overlap - Moving averages"),(0,r.kt)("li",{parentName:"ul"},"Momentum - Oscillating signals"),(0,r.kt)("li",{parentName:"ul"},"Trend - Directional strength"),(0,r.kt)("li",{parentName:"ul"},"Volatility - Width of the price bands"),(0,r.kt)("li",{parentName:"ul"},"Volume - Singling out volume"),(0,r.kt)("li",{parentName:"ul"},"Custom - Multiple indicators and Fibonacci retracements")),(0,r.kt)("p",null,"All commands in this menu will rely on the interval and window chosen when loading an asset for analysis. Refer to the directory tree on the left side of the page, ",(0,r.kt)("a",{parentName:"p",href:"/terminal/reference"},"here"),", for information on individual commands. To get a better understanding of what these features are, and the formulas behind them, a number of sources should be consulted; but, a good starting point is ",(0,r.kt)("a",{parentName:"p",href:"https://www.investopedia.com/terms/t/technicalanalysis.asp"},"Investopedia"),". The menu employs the ",(0,r.kt)("a",{parentName:"p",href:"https://github.com/twopirllc/pandas-ta"},"Pandas-TA Library"),". Submit a ",(0,r.kt)("a",{parentName:"p",href:"https://openbb.co/request-a-feature"},"feature request")," to let us know which indicators we should add next!"),(0,r.kt)("h3",{id:"how-to-use"},"How to Use"),(0,r.kt)("p",null,"To begin, enter the menu from one of the menus listed above by entering ",(0,r.kt)("inlineCode",{parentName:"p"},"ta"),". For demonstration purposes, we will use ",(0,r.kt)("inlineCode",{parentName:"p"},"QQQ")," as the ticker. Let's grab some data!"),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-console"},"/stocks/load QQQ/ta\n")),(0,r.kt)("p",null,"The block above loads daily QQQ historical prices and volume, then enters the Technical Analysis menu. The table below lists all the available analysis functions."),(0,r.kt)("table",null,(0,r.kt)("thead",{parentName:"table"},(0,r.kt)("tr",{parentName:"thead"},(0,r.kt)("th",{parentName:"tr",align:"left"},"Function Key"),(0,r.kt)("th",{parentName:"tr",align:"left"},"Type"),(0,r.kt)("th",{parentName:"tr",align:"right"},"Description"))),(0,r.kt)("tbody",{parentName:"table"},(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:"left"},"load"),(0,r.kt)("td",{parentName:"tr",align:"left"},"-"),(0,r.kt)("td",{parentName:"tr",align:"right"},"Load a new ticker for analysis.")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:"left"},"ema"),(0,r.kt)("td",{parentName:"tr",align:"left"},"Overlap"),(0,r.kt)("td",{parentName:"tr",align:"right"},"Exponential Moving Average.")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:"left"},"hma"),(0,r.kt)("td",{parentName:"tr",align:"left"},"Overlap"),(0,r.kt)("td",{parentName:"tr",align:"right"},"Hull Moving Average.")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:"left"},"sma"),(0,r.kt)("td",{parentName:"tr",align:"left"},"Overlap"),(0,r.kt)("td",{parentName:"tr",align:"right"},"Simple Moving Average.")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:"left"},"wma"),(0,r.kt)("td",{parentName:"tr",align:"left"},"Overlap"),(0,r.kt)("td",{parentName:"tr",align:"right"},"Weighted Moving Average.")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:"left"},"vwap"),(0,r.kt)("td",{parentName:"tr",align:"left"},"Overlap"),(0,r.kt)("td",{parentName:"tr",align:"right"},"Volume Weighted Average Price.")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:"left"},"zlma"),(0,r.kt)("td",{parentName:"tr",align:"left"},"Overlap"),(0,r.kt)("td",{parentName:"tr",align:"right"},"Zero-Lag Moving Average.")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:"left"},"cci"),(0,r.kt)("td",{parentName:"tr",align:"left"},"Momentum"),(0,r.kt)("td",{parentName:"tr",align:"right"},"Commodity Channel Index.")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:"left"},"cg"),(0,r.kt)("td",{parentName:"tr",align:"left"},"Momentum"),(0,r.kt)("td",{parentName:"tr",align:"right"},"Center of Gravity.")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:"left"},"clenow"),(0,r.kt)("td",{parentName:"tr",align:"left"},"Momentum"),(0,r.kt)("td",{parentName:"tr",align:"right"},"Clenow Volatility Adjusted Momentum.")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:"left"},"demark"),(0,r.kt)("td",{parentName:"tr",align:"left"},"Momentum"),(0,r.kt)("td",{parentName:"tr",align:"right"},"Tom Demark's Sequential Indicator.")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:"left"},"macd"),(0,r.kt)("td",{parentName:"tr",align:"left"},"Momentum"),(0,r.kt)("td",{parentName:"tr",align:"right"},"Moving Average Convergence/Divergence.")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:"left"},"fisher"),(0,r.kt)("td",{parentName:"tr",align:"left"},"Momentum"),(0,r.kt)("td",{parentName:"tr",align:"right"},"Fisher Transform.")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:"left"},"rsi"),(0,r.kt)("td",{parentName:"tr",align:"left"},"Momentum"),(0,r.kt)("td",{parentName:"tr",align:"right"},"Relative Strength Index.")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:"left"},"stoch"),(0,r.kt)("td",{parentName:"tr",align:"left"},"Momentum"),(0,r.kt)("td",{parentName:"tr",align:"right"},"Stochastic Oscillator.")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:"left"},"adx"),(0,r.kt)("td",{parentName:"tr",align:"left"},"Trend"),(0,r.kt)("td",{parentName:"tr",align:"right"},"Average Directional Movement Index.")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:"left"},"aroon"),(0,r.kt)("td",{parentName:"tr",align:"left"},"Trend"),(0,r.kt)("td",{parentName:"tr",align:"right"},"Aroon Indicator.")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:"left"},"atr"),(0,r.kt)("td",{parentName:"tr",align:"left"},"Volatility"),(0,r.kt)("td",{parentName:"tr",align:"right"},"Average True Range.")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:"left"},"bbands"),(0,r.kt)("td",{parentName:"tr",align:"left"},"Volatility"),(0,r.kt)("td",{parentName:"tr",align:"right"},"Bollinger Bands.")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:"left"},"cones"),(0,r.kt)("td",{parentName:"tr",align:"left"},"Volatility"),(0,r.kt)("td",{parentName:"tr",align:"right"},"Realized Volatility Cones.")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:"left"},"donchian"),(0,r.kt)("td",{parentName:"tr",align:"left"},"Volatility"),(0,r.kt)("td",{parentName:"tr",align:"right"},"Donchian Channels.")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:"left"},"kc"),(0,r.kt)("td",{parentName:"tr",align:"left"},"Volatility"),(0,r.kt)("td",{parentName:"tr",align:"right"},"Keltner Channels.")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:"left"},"ad"),(0,r.kt)("td",{parentName:"tr",align:"left"},"Volume"),(0,r.kt)("td",{parentName:"tr",align:"right"},"Accumulation/Distribution Line.")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:"left"},"adosc"),(0,r.kt)("td",{parentName:"tr",align:"left"},"Volume"),(0,r.kt)("td",{parentName:"tr",align:"right"},"Chaikin Oscillator.")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:"left"},"obv"),(0,r.kt)("td",{parentName:"tr",align:"left"},"Volume"),(0,r.kt)("td",{parentName:"tr",align:"right"},"On-Balance Volume.")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:"left"},"fib"),(0,r.kt)("td",{parentName:"tr",align:"left"},"Custom"),(0,r.kt)("td",{parentName:"tr",align:"right"},"Fibonacci Retracement.")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:"left"},"multi"),(0,r.kt)("td",{parentName:"tr",align:"left"},"Custom"),(0,r.kt)("td",{parentName:"tr",align:"right"},"Plot multiple indicators on the same chart.")))),(0,r.kt)("admonition",{type:"note"},(0,r.kt)("p",{parentName:"admonition"},'Some functions will not be compatible with intraday data and some may be designed specifically for a daily window. Interval labels on charts may still be described as "days" when the time series interval is intraday. Consult the help dialogue, by attaching ',(0,r.kt)("inlineCode",{parentName:"p"},"-h")," to a command, for a reminder of the adjustable parameters.")),(0,r.kt)("p",null,"With some daily data now loaded, let's look at some charts!"),(0,r.kt)("h2",{id:"examples"},"Examples"),(0,r.kt)("h3",{id:"moving-averages"},"Moving Averages"),(0,r.kt)("p",null,"There are five types of moving averages available, they are grouped into the ",(0,r.kt)("inlineCode",{parentName:"p"},"Overlay")," category. It is possible to overlay multiple windows of time for each one, and it is also possible to overlay multiple versions of moving average."),(0,r.kt)("h4",{id:"single-ma-type"},"Single MA Type"),(0,r.kt)("p",null,"The help dialogue will explain the differences. For example, Zero-Lag Moving Average."),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-console"},"zlma -h\n")),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-console"},"usage: zlma [-l N_LENGTH] [-o N_OFFSET] [-h] [--export EXPORT] [--sheet-name SHEET_NAME [SHEET_NAME ...]]\n\nThe zero lag exponential moving average (ZLEMA) indicator was created by John Ehlers and Ric Way. The idea is do a regular exponential moving average (EMA) calculation but\non a de-lagged data instead of doing it on the regular data. Data is de-lagged by removing the data from \"lag\" days ago thus removing (or attempting to) the cumulative\neffect of the moving average.\n\noptions:\n -l N_LENGTH, --length N_LENGTH\n Window lengths. Multiple values indicated as comma separated values. (default: [20])\n -o N_OFFSET, --offset N_OFFSET\n offset (default: 0)\n -h, --help show this help message (default: False)\n --export EXPORT Export raw data into csv, json, xlsx and figure into png, jpg, pdf, svg (default: )\n --sheet-name SHEET_NAME [SHEET_NAME ...]\n Name of excel sheet to save data to. Only valid for .xlsx files. (default: None)\n\nFor more information and examples, use 'about zlma' to access the related guide.\n")),(0,r.kt)("p",null,"For moving averages, there are two parameters: the window length and offset. Let's examine the ZLMA at 50 and 200 days."),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-console"},"zlma -l 50,200\n")),(0,r.kt)("p",null,(0,r.kt)("img",{parentName:"p",src:"https://user-images.githubusercontent.com/85772166/233763992-157eb965-e5ca-48d6-b621-1e6596d4f784.png",alt:"ZLMA 50,200"})),(0,r.kt)("p",null,"Drawing a chart with the Simple Moving Average shows the overlaps occur at different points in time."),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-console"},"sma -l 50,200\n")),(0,r.kt)("p",null,(0,r.kt)("img",{parentName:"p",src:"https://user-images.githubusercontent.com/85772166/233764006-45f6e6db-aa8c-4404-8997-68f96fbbe29e.png",alt:"SMA 50,200"})),(0,r.kt)("h4",{id:"multiple-ma-types"},"Multiple MA Types"),(0,r.kt)("p",null,"Let's overlay the 200-day ZLMA with the 200-day SMA to see where they intersect. This is accomplished using the ",(0,r.kt)("inlineCode",{parentName:"p"},"multi")," function."),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-console"},"multi -i sma[200],zlma[200]\n")),(0,r.kt)("admonition",{type:"note"},(0,r.kt)("p",{parentName:"admonition"},"Make note of the difference in parameters syntax. With the ",(0,r.kt)("inlineCode",{parentName:"p"},"multi")," function, parameters for each indicator must be surrounded with square brackets ","[ ]",".")),(0,r.kt)("p",null,(0,r.kt)("img",{parentName:"p",src:"https://user-images.githubusercontent.com/85772166/233764023-26991e03-6a82-47b6-9a6b-b2013dbdfffc.png",alt:"SMA/ZLMA Overlay"})),(0,r.kt)("p",null,"Now let's see both 200 and 50-day moving averages."),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-console"},"multi -i sma[50,200],zlma[50,200]\n")),(0,r.kt)("p",null,(0,r.kt)("img",{parentName:"p",src:"https://user-images.githubusercontent.com/85772166/233764031-fd0375e9-f13f-43dd-b304-795168a0424b.png",alt:"SMA/ZLMA Overlay"})),(0,r.kt)("p",null,"The last crossover point provides some confirmation of the current trend. Intraday data might reveal more. Let's see the one-hour MAs!"),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-console"},"load qqq -i 60/multi -i sma[50,200],zlma[50,200]\n")),(0,r.kt)("p",null,(0,r.kt)("img",{parentName:"p",src:"https://user-images.githubusercontent.com/85772166/233764046-879252f8-3449-4f61-9098-6c538e130e47.png",alt:"SMA/ZLMA Hourly Overlay"})),(0,r.kt)("p",null,"The ZLMA 50 has crossed over the SMA50, potentially signalling that the trend is near its exhaustion point. Let's consult some other indicators using the hourly data now loaded."),(0,r.kt)("h3",{id:"multi"},"multi"),(0,r.kt)("p",null,"Load multiple indicators on the same chart with the ",(0,r.kt)("inlineCode",{parentName:"p"},"multi")," command."),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-console"},"load qqq -i 60 -s 2023-01-01/multi rsi,vwap,atr\n")),(0,r.kt)("p",null,(0,r.kt)("img",{parentName:"p",src:"https://user-images.githubusercontent.com/85772166/233764057-46b82e00-0e93-4f69-a253-c74f102a5827.png",alt:"multi rsi,vwap,atr"})),(0,r.kt)("p",null,"The help dialogue for this function provides some guidance for setting the optional arguments for each indicator."),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-console"},"multi -h\n")),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-console"},"usage: multi [-i INDICATORS] [-h] [--export EXPORT] [--sheet-name SHEET_NAME [SHEET_NAME ...]]\n\nPlot multiple indicators on the same chart separated by a comma.\n\noptions:\n -i INDICATORS, --indicators INDICATORS\n Indicators with optional arguments in the form of \"macd[12,26,9],rsi,sma[20]\" (default: None)\n -h, --help show this help message (default: False)\n --export EXPORT Export raw data into csv, json, xlsx and figure into png, jpg, pdf, svg (default: )\n --sheet-name SHEET_NAME [SHEET_NAME ...]\n Name of excel sheet to save data to. Only valid for .xlsx files. (default: None)\n\nFor more information and examples, use 'about multi' to access the related guide.\n")),(0,r.kt)("p",null,"Making adjustments with this function requires knowing the parameters for each individual indicator. They will have sensible default values but, where there are multiple parameters, it may not be obvious which order the numbers need to be entered. Sometimes they are not even numbers, like MACD."),(0,r.kt)("h3",{id:"macd"},"macd"),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-console"},"macd --help\n\n(\ud83e\udd8b) /stocks/ta/ $ macd --help\n\nusage: macd [--fast N_FAST] [--slow N_SLOW] [--signal N_SIGNAL] [-h] [--export EXPORT] [--sheet-name SHEET_NAME [SHEET_NAME ...]]\n\nThe Moving Average Convergence Divergence (MACD) is the difference between two Exponential Moving Averages. The Signal line is an Exponential Moving\nAverage of the MACD. The MACD signals trend changes and indicates the start of new trend direction. High values indicate overbought conditions, low\nvalues indicate oversold conditions. Divergence with the price indicates an end to the current trend, especially if the MACD is at extreme high or low\nvalues. When the MACD line crosses above the signal line a buy signal is generated. When the MACD crosses below the signal line a sell signal is\ngenerated. To confirm the signal, the MACD should be above zero for a buy, and below zero for a sell.\n\noptions:\n --fast N_FAST The short period. (default: 12)\n --slow N_SLOW The long period. (default: 26)\n --signal N_SIGNAL The signal period. (default: 9)\n -h, --help show this help message (default: False)\n --export EXPORT Export raw data into csv, json, xlsx and figure into png, jpg, pdf, svg (default: )\n --sheet-name SHEET_NAME [SHEET_NAME ...]\n Name of excel sheet to save data to. Only valid for .xlsx files. (default: None)\n\nFor more information and examples, use 'about macd' to access the related guide.\n")),(0,r.kt)("p",null,"The one-hour MACD generated a downward signal trend two days ago."),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-console"},"load qqq -i 60 -s 2023-01-01/macd\n")),(0,r.kt)("p",null,(0,r.kt)("img",{parentName:"p",src:"https://user-images.githubusercontent.com/85772166/233764068-521b6218-2e4f-49d2-94b3-b4806b739a56.png",alt:"MACD Hourly"})),(0,r.kt)("admonition",{type:"note"},(0,r.kt)("p",{parentName:"admonition"},"Clicking and dragging the mouse near the corners at each axis allows the zooming to be locked to the X or Y axis only.")),(0,r.kt)("h3",{id:"obv"},"obv"),(0,r.kt)("p",null,"Looking at the one-minute on-balance volume of QQQ today (April 21, 2023) reveals that massive volume spike occurred at 11:04. The ceiling is now the floor."),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-console"},"load qqq -i 1 -s 2023-04-21/macd\n")),(0,r.kt)("p",null,(0,r.kt)("img",{parentName:"p",src:"https://user-images.githubusercontent.com/85772166/233764081-ade1d33f-7524-41d0-9885-911a6270a11c.png",alt:"On-Balance Volume"})),(0,r.kt)("p",null,"The Accumulation/Distribution Line at the same one-minute interval signals in advance of the upward drift reversal, beginning to sell into the Friday close just before 14:00."),(0,r.kt)("p",null,(0,r.kt)("img",{parentName:"p",src:"https://user-images.githubusercontent.com/85772166/233764089-531dad18-d3c1-4bbb-aa6c-3c2c182f8fd3.png",alt:"Accumulation Distribution"})),(0,r.kt)("h2",{id:"indicators-dashboard"},"Indicators Dashboard"),(0,r.kt)("p",null,"This menu is also available as an experimental Dashboard Streamlit App."),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-console"},"/dashboards/indicators\n")),(0,r.kt)("p",null,(0,r.kt)("img",{parentName:"p",src:"https://user-images.githubusercontent.com/85772166/233764105-85b944eb-6ff7-42c8-b2c7-f9cbdff51388.png",alt:"Dashboards Menu"})),(0,r.kt)("p",null,(0,r.kt)("img",{parentName:"p",src:"https://user-images.githubusercontent.com/85772166/233764115-7bfbbf8c-793e-4dbc-a8de-9f16007d68a9.png",alt:"Indicators Dashboard"})))}u.isMDXComponent=!0}}]);