在蜡烛图上添加信号

问题描述

我想在我的图表上绘制信号有没有办法在烛台上做到这一点? 我做了以下事情并被卡住了:(

!pip install yfinance
!pip install mplfinance
import yfinance as yf
import mplfinance as mpf
import numpy as np 
import pandas as pd 

df=yf.download('BTC-USD',start='2008-01-04',end='2021-06-3',interval='1d')

buy=np.where((df['Close'] > df['Open']) & (df['Close'].shift(1) < df['Open'].shift(1),1,0)

fig = plt.figure(figsize = (20,10))
mpf.plot(df,figsize=(20,12),type ='candle',volume=True);

# any idea how to add the signal?

解决方法

import yfinance as yf
import mplfinance as mpf
import numpy as np 

df = yf.download('BTC-USD',start='2008-01-04',end='2021-06-3',interval='1d').tail(50)

buy = np.where((df['Close'] > df['Open']) & (df['Close'].shift(1) < df['Open'].shift(1)),1,np.nan) * 0.95 * df['Low']

apd = [mpf.make_addplot(buy,scatter=True,markersize=100,marker=r'$\Uparrow$',color='green')]

mpf.plot(df,type='candle',volume=True,addplot=apd)

我刚刚添加了 .tail() 以获得更好的可视化效果。

输出:

enter image description here

,

您使用“制作附加图”api:mpf.make_addplot(data,**kwargs) 在图上放置信号。您传递给 make_addplot 的数据必须与原始烛台数据帧的长度相同(以便 mplfinance 可以将其与烛台适当地对齐)。如果您不想在每个位置绘制信号,您只需用 nan 值填充数据,除非您想要绘制信号。 >

然后使用 ap = mpf.make_addplot() kwarg 将 mpf.plot(df,addplot=ap) 的返回值传递给 addplot

您可以在 this tutorial on adding your own technical studies to plots 中看到许多示例。

花点时间(大概 10 分钟左右)仔细阅读整个教程。这将是值得的。

相关问答

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