def plotRSI(p, df, plotwidth=800, upcolor='green',
downcolor='red', yloc='right', limits=(30, 70)):
# create y axis for rsi
p.extra_y_ranges = {"rsi": Range1d(start=0, end=100)}
p.add_layout(LinearAxis(y_range_name="rsi"), yloc)
p.add_layout(Span(location=limits[0],
dimension='width',
line_color=upcolor,
line_dash='dashed',
line_width=2,
y_range_name="rsi"))
p.add_layout(Span(location=limits[1],
dimension='width',
line_color=downcolor,
line_dash='dashed',
line_width=2,
y_range_name="rsi"))
candleWidth = (df.iloc[2]['date'].timestamp() -
df.iloc[1]['date'].timestamp()) * plotwidth
# plot green bars
inc = df.rsi >= 50
p.vbar(x=df.date[inc],
width=candleWidth,
top=df.rsi[inc],
bottom=50,
fill_color=upcolor,
line_color=upcolor,
alpha=0.5,
y_range_name="rsi")
# Plot red bars
dec = df.rsi <= 50
p.vbar(x=df.date[dec],
width=candleWidth,
top=50,
bottom=df.rsi[dec],
fill_color=downcolor,
line_color=downcolor,
alpha=0.5,
y_range_name="rsi")
评论列表
文章目录