2

我在 mplfinance 图上打印移动平均线,正如预期的那样存在差距。

在大多数图表软件上,例如 TradingView 等,它们在移动平均线上没有缺口 - 并且假定它们正在从先前的 -n 元素中提取数据(即使它们接受不连续的跳跃)。

请问我有两个问题:

  1. 我怎样才能在没有间隙的情况下运行移动平均线(理解它会在不连续的 n 个元素内倾斜)......即在前一天拉入并将其用于移动平均线计算但不显示当天(以便移动平均值已经在图的左侧运行 - 因为低于 12 月 21 日开始)?

  2. 如果我想在 mplfinance 内部函数之外计算这个移动平均线(或更改为指数移动平均线等),我将如何将它作为单独的图添加到烛台之上?

我的代码如下:

import mplfinance as mpf
import pandas as pd
from polygon import RESTClient
import yfinance as yf
import datetime

start = datetime.date(2021,12,21)
end = datetime.date(2021,12,23)
yfResults = yf.download("AAPL", start=start, end=end, period='1d', interval='5m')
mpf.plot(yfResults, type='candlestick', xrotation=0, style='yahoo', tight_layout=True, volume=True, mav=(9, 20), figratio=(48,24))

阴谋

4

1 回答 1

1
  1. 正如您所暗示的那样,那些在移动平均线开始时没有显示间隙的系统是通过使用在作为移动平均线计算的一部分显示的数据之前的数据来实现的。xlim=(min,max)您可以通过在调用中设置 kwarg 来完成同样的事情,方法mpf.plot()是设置min等于比最大移动平均线小一,并且max=len(data)......例如,给定上面的代码,请执行以下操作:
mpf.plot( yfResults, type='candlestick', xrotation=0, style='yahoo',
         tight_layout=True, volume=True, mav=(9, 20), figratio=(48,24),
         xlim=(19,len(yfResults)) )
  1. mpf.make_addplot()您可以使用api 和addplotkwarg计算和绘制任何其他数据。有关更多详细信息,请参阅https://github.com/matplotlib/mplfinance/blob/master/examples/addplot.ipynb
于 2021-12-27T17:28:40.867 回答