首先你得从mt4把数据导出为csv:mt4如何导出数据-CSDN博客
1、引入必要的库
import numpy as np
import pandas as pd
import matplotlib.pyplot as plt
2、然后通过pandas载入csv数据
raw = pd.read_csv("XAUUSDm1.csv", header=None, index_col=None, parse_dates=True, names=['data', 'time', 'open', 'hight', 'low', 'close', 'volume'])
3、截取最新收盘价作为坐标的y轴(在这里我导出的是10年数据)
y = raw['close'].iloc[-100:].to_numpy()
4、等矩平均分配x坐标(在这里,x轴没有任何意义)
x = np.linspace(-2, 2, len(y))
5、计算回归曲线并计算x坐标上对应y坐标
reg = np.polyfit(x, y, deg=5)
p = np.polyval(reg, x)
6、绘制变化曲线及收盘价格点
plt.figure(figsize=(10, 6))
plt.plot(x, y, 'ro', label='close price')
plt.plot(x, p, '--', label='p price')
7、效果如下: