チャットアプリ

自動売買ボットからの通知を受け取り、稼働状況を確認したり、相場についてAIに質問したりできる、自分専用のチャットアプリです。

チャットアプリの画面

実際の画面です。取引した銘柄や損益が分かる部分には、ぼかしを入れています。

作ったきっかけ

最初は、ボットからの通知をDiscordで受け取っていました。 ただ、スマホでは起動や表示に時間がかかることがあり、自分の用途には機能も多すぎました。

必要な通知をすぐに確認できて、そのままボットの状態を調べたり、AIに質問したりできるものが欲しくて、自分で作ることにしました。

できること

  • 通知を受け取る … 注文の約定、ボットの異常、毎朝の稼働状況などを、PC・スマホ・タブレットへのプッシュ通知で確認できます。
  • 定時レポートを読む … 寄り付き前と大引け後に、相場の動きをまとめたレポートが届きます。値上がり・値下がりした業種や、主な銘柄の動きを文章で確認できます。
  • 稼働状況と建玉を確認する … /statusでシステムの稼働状況を、/positionsで保有中の建玉と損益を確認できます。
  • 手動で決済する … /closeで、ボットが保有する建玉の決済を指示できます。誤操作を防ぐため、確認コードを入力してから実行する仕組みにしています。
  • AIに質問する … コマンド以外のメッセージには、PC上で動くローカルAI(Qwen)が応答します。ニュースや決算情報、株価・指数を調べながら答えてくれます。

工夫したところ

  • ブラウザーで使える … Webアプリ(PWA)として作り、PCでもスマホでも同じ画面を使えるようにしました。ホーム画面に追加すると、アプリのように開けます。通知の受信には、端末側での設定も必要です。
  • チャットと売買処理を分ける … チャットからの指示は、ファイルを介してボットに渡します。チャット側の不具合が売買処理に影響しにくい構成を目指しました。

アクセスを制限する仕組み

このアプリからは、実際の取引に関わる操作ができます。 そのため、使いやすさだけでなく、自分の端末から利用できるようにアクセスを制限することも重視しました。

Tailscaleで自分の端末をつなぐ

チャットアプリは、Tailscaleによるプライベートネットワーク内で利用しています。

  • 自宅のPC、スマホ、タブレットを接続し、暗号化された通信で利用します。
  • 自宅のルーターでポートを開放せずに使えるため、チャットアプリをインターネットに一般公開する必要がありません。
  • 端末を紛失した場合は、Tailscaleの管理画面からその端末の接続を解除できます。

外出先のスマホからも操作できるようにしながら、アクセスできる端末を管理する構成にしました。

使ってみて

取引時間中に「この建玉を早めに決済したい」と思ったとき、スマホから/closeで指示できたのが、特に便利でした。 証券会社のアプリを開き直さずに操作でき、決済の結果もボットの記録に残せます。