diff --git a/README.md b/README.md index 391b8c58..4504b08a 100644 --- a/README.md +++ b/README.md @@ -23,6 +23,7 @@ pip install --upgrade mplfinance - **[Customizing the Appearance of Plots](https://github.com/matplotlib/mplfinance/blob/master/markdown/customization_and_styles.md)** - **[Adding Your Own Technical Studies to Plots](https://github.com/matplotlib/mplfinance/blob/master/examples/addplot.ipynb)** - **[Subplots: Multiple Plots on a Single Figure](https://github.com/matplotlib/mplfinance/blob/master/markdown/subplots.md)** + - **[Implementing Indicators ](https://github.com/matplotlib/mplfinance/blob/master/markdown/Indicator.md)** - **[Fill Between: Filling Plots with Color](https://github.com/matplotlib/mplfinance/blob/master/examples/fill_between.ipynb)** - **[Price-Movement Plots (Renko, P&F, etc)](https://github.com/matplotlib/mplfinance/blob/master/examples/price-movement_plots.ipynb)** - **[Trends, Support, Resistance, and Trading Lines](https://github.com/matplotlib/mplfinance/blob/master/examples/using_lines.ipynb)** @@ -57,7 +58,7 @@ where `data` is a `Pandas DataFrame` object containing Open, High, Low and Close Details on how to call the new API can be found below under **[Basic Usage](https://github.com/matplotlib/mplfinance#usage)**, as well as in the jupyter notebooks in the **[examples](https://github.com/matplotlib/mplfinance/blob/master/examples/)** folder. -I am very interested to hear from you regarding what you think of the new `mplfinance`, plus any suggestions you may have for improvement. You can reach me at **dgoldfarb.github@gmail.com** or, if you prefer, provide feedback or a ask question on our **[issues page.](https://github.com/matplotlib/mplfinance/issues/new/choose)** +I am very interested to hear from you regarding what you think of the new `mplfinance`, plus any suggestions you may have for improvement. You can reach me at **dgoldfarb.github@gmail.com** or, if you prefer, provide feedback or ask a question on our **[issues page.](https://github.com/matplotlib/mplfinance/issues/new/choose)** --- diff --git a/TODO.md b/TODO.md index 0d0b5bb2..1d95874b 100644 --- a/TODO.md +++ b/TODO.md @@ -5,7 +5,7 @@ - how use configuration file - auto-pull updates for config file. possible? - collect anonymous data on feature usage -- wrappers for technical studies. +- wrappers for technical studies(Under Development..... Please Suggest a Wishlist of Technical Studies Required as enhancement ). - documentation (replace old `https://matplotlib.org/api/finance_api.html`) - make code more efficient (ex: tlines reconstructing data frame). - **daily plot slower than intraday ???** diff --git a/markdown/Indicator.md b/markdown/Indicator.md new file mode 100644 index 00000000..ab956aa1 --- /dev/null +++ b/markdown/Indicator.md @@ -0,0 +1,59 @@ +--- + +# Indicators in mplfinance +#### "Indicators" In the world of investing is a vital tool, indicators typically refer to technical chart patterns deriving from the price, volume, or open interest of a given security. + +--- + +## There are two ways to build indicators in mplfinance: +- Building a indicator with **`mpf.addplot()`** method +- Inbuilt Indicator Method (Upcoming Feature) +#### Below is a brief description of each method, with links to tutorials on how to use each method: + +--- +### [Addplot Method](https://github.com/matplotlib/mplfinance/blob/master/examples/addplot.ipynb) +* The `mpf.addplot()` Method ***is easy to use and requires little or no knowledge of matplotlib***, and no need to import matplotlib. +* The `mpf.addplot()` with `mpf.make_addplot` handles 95% of the most common types of indicators and market studies. +* The `mpf.make_addplot` method attains its simplicity, in part, by having certain limitations.
These limitations are: + - Large code required for complex indicators. + - Larger calculation required. + - Legend box support Limited. +* The Inbuilt method is adequate for any kind of complex indicator: + - Complex indicators can be handled. + - Legend box fully supported + - With one or more studies/indicators, such as: + - Ichimoku Cloud, MACD, DMI, RSI, Bollinger, Accumulation/Distribution Oscillator, Commodity Channel Index, Etc. +* [**See here for a tutorial and details on implementing the mplfinance for addplot method.**](https://github.com/matplotlib/mplfinance/blob/master/examples/addplot.ipynb) + + +### [Following Example of Indicators](https://github.com/matplotlib/mplfinance/blob/master/examples/external_axes.ipynb) +* [**The Alphatrend Indicator**](https://github.com/matplotlib/mplfinance/blob/master/examples/indicators/alphatrend.ipynb) + - For Building Alphatrend Indicator with `make_addplot`. This method helps plot two lines, named k1 and k2. The area between two lines is filled with `fill_between` method. For color conditional formatting we use the `where`. + - Details on how to implement Alphatrend Indicator Over are described below.
  (code examples can be found in the [**examples/indicators/**](https://github.com/matplotlib/mplfinance/blob/master/examples/indicators/alphatrend.ipynb)) +* [**Awesome Oscillator**](https://github.com/matplotlib/mplfinance/blob/master/examples/indicators/awesome_oscillator.ipynb) + - Use method `make_addplot` method Awesome Oscillator Build as Histogram Bar type of plot `bar` in a new panel with `panel` method + - Details on how to implement Awesome Oscillator is described below.
  (code examples can be found in the [**examples/indicators/**](https://github.com/matplotlib/mplfinance/blob/master/examples/indicators/awesome_oscillator.ipynb)) +* [**Dochian Channel**](https://github.com/matplotlib/mplfinance/blob/master/examples/indicators/donchian_channel.ipynb) + - For Building Dochian Channel with `make_addplot`. This method helps plot three lines in this indicator, named upper, middle, and lower bands. The area between the upper and lower band is filled with `fill_between` method. + - Details on how to implement Dochian Channel Over are described below.
  (code examples can be found in the [**examples/indicators/**](https://github.com/matplotlib/mplfinance/blob/master/examples/indicators/donchian_channel.ipynb)) +* [**Golden Cross Over**](https://github.com/matplotlib/mplfinance/blob/master/examples/indicators/golden_cross.ipynb) + - For Building Golden Cross with `make_addplot` we use two moving averages named short-term moving averages and long-term moving averages. When One Line Cross another that point is marked with `marker` with type `scatter`. while to change the color of the long-term moving average we use a custom function. + - Details on how to implement Golden Cross Over are described below.
  (code examples can be found in the [**examples/indicators/**](https://github.com/matplotlib/mplfinance/blob/master/examples/indicators/golden_cross.ipynb)) +* [**Ichimoku Cloud**](https://github.com/matplotlib/mplfinance/blob/master/examples/indicators/ichimoku_cloud.ipynb) + - For Building Ichimoku Cloud with `make_addplot`. The following method helps to plot Five lines used in this indicator, named Tenkan-sen, Kijun-sen, Senkou_Span_A, Senkou_Span_B, Chikou_Span. The area between the Senkou_Span_A and Senkou_Span_B is filled with `fill_between` method. + - Details on how to implement Ichimoku Cloud are described below.
  (code examples can be found in the [**examples/indicators/**](https://github.com/matplotlib/mplfinance/blob/master/examples/indicators/ichimoku_cloud.ipynb)) +* [**MACD**](https://github.com/matplotlib/mplfinance/blob/master/examples/indicators/macd.py) + - Use method `make_addplot` MACD is built as Histogram Bar type of plot `bar` in a new panel with `panel` method + - Details on how to implement MACD are described below.
  (code examples can be found in the [**examples/indicators/**](https://github.com/matplotlib/mplfinance/blob/master/examples/indicators/macd.py)) +* [**MACD Histogram**](https://github.com/matplotlib/mplfinance/blob/master/examples/indicators/macd_histogram_gradient.ipynb) + - Use method `make_addplot` MACD with Histogram is built as Histogram Bar type of plot `bar` in a new panel with `panel` method. For Generating a color list for the histogram we use the custom function. + - Details on how to implement MACD Histogram are described below.
  (code examples can be found in the [**examples/indicators/**](https://github.com/matplotlib/mplfinance/blob/master/examples/indicators/macd_histogram_gradient.ipynb)) +* [**Relative Strength Index**](https://github.com/matplotlib/mplfinance/blob/master/examples/indicators/mpf_rsi_demo.py) + - Use methods `make_addplot` and `panel` were used to plot rsi + - Details on how to implement Relative Strength Index are described below.
  (code examples can be found in the [**examples/indicators/**](https://github.com/matplotlib/mplfinance/blob/master/examples/indicators/parabolic_sar.ipynb)) +* [**Parabolic SAR**](https://github.com/matplotlib/mplfinance/blob/master/examples/indicators/mpf_rsi_demo.py) + - For Building Parabolic SAR with `make_addplot`. This method helps plot two lines in this indicator, named upper and lower bands. The custom function is used to segregate uptrend and down-trending areas. Which later plot with type `scatter` + - Details on how to implement Parabolic SAR are described below.
  (code examples can be found in the [**examples/indicators/**](https://github.com/matplotlib/mplfinance/blob/master/examples/indicators/parabolic_sar.ipynb)) +* [**Supertrend**](https://github.com/matplotlib/mplfinance/blob/master/examples/indicators/supertrend.ipynb) + - For Building Supertrend with `make_addplot`. This method helps plot three lines in this indicator, named upper, trendline, and lower bands. when the price is above the trendline area marked uptrend and downtrend with a custom function, The area between the upper band and high of the candle is filled with `fill_between` method. + - Details on how to implement Supertrend described below.
  (code examples can be found in the [**examples/indicators/**](https://github.com/matplotlib/mplfinance/blob/master/examples/indicators/supertrend.ipynb)) diff --git a/src/mplfinance/_version.py b/src/mplfinance/_version.py index 9929be97..bc874c3c 100644 --- a/src/mplfinance/_version.py +++ b/src/mplfinance/_version.py @@ -1,4 +1,4 @@ -version_info = (0, 12, 9, 'beta', 8) +version_info = (0, 12, 9, 'beta', 9) _specifier_ = {'alpha': 'a','beta': 'b','candidate': 'rc','final': ''}