Channel Breakout Bot for bitflyer-FX (by Connie-Wild氏)読解メモ37
の続きです。
題材は https://github.com/Connie-Wild/ChannelBreakoutBot です。
plotメソッドの続きから。
ax.autoscale_view()
ax.grid()
ax.set_ylabel("Price(JPY)")
# シグナル線
ymin = min(df["low"]) - 200
ymax = max(df["high"]) + 200
ax.vlines([df.index.get_loc(s) for s in buy_entry_signals],
ymin, ymax, "blue", linestyles='dashed', linewidth=1)
autoscale_view でグラフのサイズを最適にします。
参考: https://matplotlib.org/api/_as_gen/matplotlib.axes.Axes.autoscale_view.html
grid でグリッドを表示します。
set_ylabelでy軸のラベルを設定します。
ローソク足の安値の最小値から200を引いた値をyminに入れます。
ローソク足の高値の最大値に200を加算した値をymaxに入れます。
vlinesで縦の補助線を引きます。
定義は
Axes.vlines(x, ymin, ymax, colors='k', linetyles='solid', label='', *, data=None, **kwargs)
です。
参考: https://matplotlib.org/api/_as_gen/matplotlib.axes.Axes.vlines.html
by_entry_signals配列にはindexが入っています。
df.index.get_loc(s) でそのindexの値を取得します。
x軸はそのindexの値たちとなります。
yminには先程出したyminを、
ymaxには先程出したymaxを入れます。
colorsはblueで青い線が引かれます。
linestyleはdashedです。
参考: https://matplotlib.org/gallery/lines_bars_and_markers/linestyles.html
linewidthに1を指定します。
1pxの線を引けます。
参考: http://programming.blogo.jp/python/matplotlib/line_width
15分経ったので今日はここまで。
↓次
この記事が気に入ったらサポートをしてみませんか?