システムトレードツール開発 (ver-3) トレンド判定:機能追加(ウィンドウにデフォルトで日付を追加)

投資日記

概要

前回の記事で紹介したシステムトレードツールに新たな機能を追加しました。具体的には、ウィンドウにグラフの表示期間を設定する機能と、デフォルトで日付を表示する機能を追加しました。また、グラフの下部に表示される日付の表記も変更しました。

変更詳細

ウィンドウにグラフの表示期間を設定する機能

ユーザーはウィンドウで表示期間を設定することができ、その期間のグラフを表示させることが可能になりました。具体的には、開始日と終了日を指定することで、その期間のグラフを表示します。

デフォルトで日付を表示する機能

ウィンドウにデフォルトで日付が表示されるようになりました。具体的には、現在の日付がデフォルト値として設定されています。ユーザーが日付の入力欄に何も入力しなかった場合、このデフォルトの日付が使用されます。

<前回の表示> 

<今回の表示>

グラフの下部に表示される日付の表記変更

グラフの下部に表示される日付の表記を変更しました。具体的な変更内容は以下の通りです。

<前回の表示>

<今回の表示>

プログラムの実装

以下に、追加したプログラムの一部を示します。

def on_click_execute():
    entered_code = entry_code.get()

    entered_start_date = entry_start_date.get()
    entered_start_date = datetime.strptime(entered_start_date, "%Y,%m,%d")

    # 日付のデフォルト値を現在の日付に設定
    entered_date = datetime.now().strftime("%Y,%m,%d")
    # 日付の入力欄が空でない場合は入力された値を使う
    if entry_date.get() != "":
        entered_date = entry_date.get()
    entered_date = datetime.strptime(entered_date, "%Y,%m,%d")

-----------
-----------

# ラベル
label_code = tk.Label(root, text="株価コード:")
label_code.grid(row=0, column=0)

label_date = tk.Label(root, text="いつから(YYYY,MM,DD):")
label_date.grid(row=1, column=0)

label_date = tk.Label(root, text="いつまで(YYYY,MM,DD):")
label_date.grid(row=2, column=0)

# ペースト機能を有効にするためにEntryウィジェットにバインディングを追加
entry_code = tk.Entry(root)
entry_code.grid(row=0, column=1)
entry_code.bind("<Button-3>", lambda e: paste_text(entry_code))  # 右クリックでペーストできるように設定

entry_date = tk.Entry(root)
entry_date.grid(row=1, column=1)
entry_date.bind("<Button-3>", lambda e: paste_text(entry_date))  # 右クリックでペーストできるように設定

entry_date = tk.Entry(root)
entry_date.grid(row=2, column=1)
entry_date.bind("<Button-3>", lambda e: paste_text(entry_date))  # 右クリックでペーストできるように設定

# 入力フィールド
entry_code = tk.Entry(root)
entry_code.grid(row=0, column=1)

entry_start_date = tk.Entry(root)
entry_start_date.grid(row=1, column=1)
entry_start_date.insert(0, "2020,01,01") # デフォルトで2020年1月1日からの日付を挿入

entry_date = tk.Entry(root)
entry_date.grid(row=2, column=1)
entry_date.insert(0, datetime.now().strftime("%Y,%m,%d"))  # 現在の日付を3番目の入力フィールドに挿入

# 実行ボタン
execute_button = tk.Button(root, text="実行", command=on_click_execute)
execute_button.grid(row=3, columnspan=3)

具体的なコードは、こちらのGitHubリポジトリをご覧ください。

ツールの使い方

ver-1と同様に、以下のリンクから詳細な使い方をご覧いただけます。 https://powerbalance-sp.com/?p=258

まとめ

今回のアップデートでは大きな機能追加はありませんでしたが、ユーザーがツールをより使いやすくするために、ウィンドウの入力箇所とグラフの表示方法を少し改善しました。

ご覧いただきありがとうございます。

コメント

タイトルとURLをコピーしました