見出し画像

【46日目】チャートに表示する足の数の制限

今日の画像のイメージは「制限」です。
それではさっそく、チャートに表示する足の数を制限する機能を追加していきたいと思います。

1.何本を表示させるか?

これを決める上で、参考にするためにほかの業者のグラフに表示されている本数を数えてみました。

自分が見やすいなって思ったチャートの本数は約150本でした。

2.変数の導入

chart/forms.pyに変数を新たに定義します。

choice_period = forms.IntegerField(label='period',initial=150)

3.必要な足の数を計算するロジックの定義

足の種類によって取得する必要があるデータ数が変わるので、それぞれに対して、どれだけのデータをとってこればよいか計算する関数を作成します。

def calc_num_candlestick(choice_period,choice_timeframe):
   num_candlestick_jisyo = {"1T":1,"5T":5,"10T":10,"15T":15,"30T":30,"1H":60,"4H":240,"1D":24*60,"1W":24*60*7}
   num_candlestick = choice_period*num_candlestick_jisyo[choice_timeframe]
   return num_candlestick

4.データの引き渡し

取得するデータの数がちゃんと反映されるように変数にします。

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]

今日はこんなところで…


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