更改 mplfinance 中的支撑和阻力线颜色

问题描述

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_resistancecolors,它们最终的长度相同。

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...