Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Read me update #633

Open
wants to merge 9 commits into
base: master
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
3 changes: 2 additions & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -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)**
Expand Down Expand Up @@ -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 **[email protected]** 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 **[email protected]** or, if you prefer, provide feedback or ask a question on our **[issues page.](https://github.com/matplotlib/mplfinance/issues/new/choose)**

---

Expand Down
2 changes: 1 addition & 1 deletion TODO.md
Original file line number Diff line number Diff line change
Expand Up @@ -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 ???**
Expand Down
59 changes: 59 additions & 0 deletions markdown/Indicator.md
Original file line number Diff line number Diff line change
@@ -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.<br>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.<br>&nbsp;&nbsp;(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.<br>&nbsp;&nbsp;(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.<br>&nbsp;&nbsp;(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.<br>&nbsp;&nbsp;(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.<br>&nbsp;&nbsp;(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.<br>&nbsp;&nbsp;(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.<br>&nbsp;&nbsp;(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.<br>&nbsp;&nbsp;(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.<br>&nbsp;&nbsp;(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.<br>&nbsp;&nbsp;(code examples can be found in the [**examples/indicators/**](https://github.com/matplotlib/mplfinance/blob/master/examples/indicators/supertrend.ipynb))
2 changes: 1 addition & 1 deletion src/mplfinance/_version.py
Original file line number Diff line number Diff line change
@@ -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': ''}

Expand Down