问题描述
mplfinance.plot(df,type = 'candlestick',style = 'binance',hlines=dict(hlines= support_resistance,linestyle='-',linewidths = (1,1)),volume = True)
目前,我正在使用此代码并获得如下结果: picture here
现在如何将 hlines 更改为红色(如果是阻力位)和蓝色(如果是支撑位)?
解决方法
根据 Daniel 的建议,我制作了一个颜色列表,如下所示,效果很好。此处 support_resistance 变量由支撑位和阻力位组成。
colors = []
for lvl in support_resistance:
if lvl > df['Close'][-1]:
colors.append('r')
else:
colors.append('b')
,
hlines=dict(hlines= support_resistance,linestyle='-',linewidths = (1,1),colors=('b','r')
参见本教程中的示例单元格“In [6]
”:https://github.com/matplotlib/mplfinance/blob/master/examples/using_lines.ipynb
您可能需要包含与 support_resistance
行一样多的颜色。例如,可能类似于:colors=['b','r','b','r']
关于动态处理支撑阻力颜色(根据您的评论),mplfinance 不适合提供确定支撑或阻力的算法,只提供工具使您更容易将它们可视化。 此外,每个用户可能有自己的特定方式来确定支撑或阻力。
大概在您构建 support_resistance
列表时,在代码中将特定价格添加到该列表时,您可能知道该价格代表支撑位还是阻力位。在代码的同一点,您应该向颜色列表添加颜色('b' 或 'r')。这样您就可以动态构建两个列表:support_resistance
和 colors
,它们最终的长度相同。