見出し画像

【49日目】SMAを描いている:失敗【Plotly&Django】

今日の画像のイメージは「失敗」です。

1.お手本を参考に実践

実際にSMAを組み込みんで表示するためにプログラムを書いてみたよ。

from plotly import graph_objs as g_o

def post(self,request):
    choice_symbol = request.POST["choice_symbol"]
    choice_timeframe = request.POST["choice_timeframe"] 
    choice_period = int(request.POST["choice_period"])
    num_candlestick = calc_num_candlestick(choice_period,choice_timeframe)
    data = Rate.objects.all().values("timestamp","open_rate", "high_rate", "low_rate", "close_rate").order_by('-timestamp')[:num_candlestick]
    df_row = convert2df(data,choice_timeframe)
    df = check_ohlc(df_row)
    sma10 = df["close_rate"].rolling(window=10).mean()
    fig = ff.create_candlestick(df["open_rate"], df["high_rate"], df["low_rate"], df["close_rate"], dates=df.index)
    sma_fig = g_o.Scatter(x=sma10.index, y=sma10.values, mode='lines', name='sma10')
    fig.data.append(sma_fig)
    plot_chart = plot(fig, output_type='div', include_plotlyjs=False)
    self.params['msg']="条件:"+ choice_symbol + " , "+ choice_timeframe
    self.params['form'] = ChartForm(request.POST)
    self.params['plot_chart'] = plot_chart
    return render(request,'chart/index.html', self.params)

なんだか、エラーが出る。

fig.data.append(sma_fig)

としているが、fig.dataはタプルのため、appendできないらしい…

2.どこに問題がありそうか確認

参考にしてた記事とどこが違ってるのか確かめる。
まずはfigの属性の確認から。

<お手本>

<class 'plotly.graph_objs.graph_objs.Figure'>

<自分>

class 'plotly.graph_objs._figure.Figure

既に何か違うんですけど…

3.他の記事を参考にする

以下の記事だとdictにしてから追加してる?


あなたによって僕は生かされている。 私もあなたを生かせられますように。