- HOME >
- Yodaka
Yodaka
yodaka(よだか)です。2021年から仮想通貨を触っています。Bot開発もしています。
前回の記事に引き続き、今回も仮想通貨botの開発状況をまとめていきます。 「備忘録がてら、ほぼリアルタイムで格闘した内容をまとめました。これから 自作ボットをいじる人の参考になれば嬉しいです。」 本日のゴール 約定 DB (trades) とログを自動でマージして可視化するスクリプトを完成させる mainnet/testnet を .env 切替と Docker プロファイルで即座に起動できるよう構成を整理する 結果から言うと ❶ は達成、❷ は 9 割完了(testnet の自動切替は次回) でした。 ...
前回の記事に引き続き、今回も仮想通貨botの開発状況をまとめていきます。 倒れても倒れても立ち上がるゾンビbotになっていた。損失極大化する前に通知で気づいたから良かったけど、怖すぎ。— よだか(夜鷹/yodaka) (@yodakablog) May 14, 2025 §0. はじめに この記事は、ひとことで言えば、**「DDガードを実装したのにBotが止まらなかった話」**です。 自分でも、最初は信じられませんでした。Botは異常を検知して exit() していた。SlackにはDDガード ...
― 再起動できるBotは、いつでも進化できる 📌9.1 本構成の意義を振り返る ここまで構築してきたのは、単なる「仮想通貨Bot」ではありません。それは “再現性があり、安全に育てられ、壊れても立ち直れるBot基盤” です。 🔧 技術的に得られたもの 項目内容開発効率ホットスワップによって .py を編集 → 即反映の高速ループ安全性entrypoint.sh によるテンプレチェックと自動終了ロジック柔軟性.env.prod によるパラメータ集中管理+testnet/mainnet切り替え運用性Slack ...
― Botを動かす/直す/止めるための「手元マニュアル」 ここでは、MMBotの開発・運用で最も頻繁に触れるファイル・CLIコマンド・チェックポイントを一覧化しました。トラブル時・改修時・メンテ時にすぐ参照できるようにすることで、再起動忘れや設定ミスなどを未然に防げます。 📁8.1 触るファイルとその役割 ファイル / ディレクトリ役割変更時の注意点.env.prodBotの全パラメータ(APIキー/シンボル/リスク条件など)変更後は 必ず再ビルド:down && up -d --buil ...
― Botが「生きて」「死んで」「また蘇る」仕組み 前回のセクションで「外部インターフェースと情報の流れ」について解説しました。しかし、Botは一度起動すれば永久に走り続けるわけではありません。実際には、一定のサイクルで停止・再起動されたり、異常検出で自動的に落ちたり、手動で再ビルドされたりします。 このセクションでは、その**“生と死”を管理するライフサイクル設計**を図解とともに解説します。 🧩7.1 全体のライフサイクルフロー まずは「Botのライフサイクル全体像」を俯瞰しましょう。 🧭【図解】MM ...
― Botが外の世界とやり取りする「入口」と「出口」 これまでのセクションでは、Botの内部処理(起動・初期化・取引ループ)を順に見てきました。しかしBotは、ひとりで完結しているわけではありません。 このセクションでは、以下のような**外部インターフェース(I/F)**が、どのようにBotと関わっているかを整理していきます。 🧩6.1 主なインターフェース一覧 種別向き説明Bybit REST API v5Outポジション確認、注文送信・取消、取引履歴取得などBybit WebSocket v5In板情 ...
― Botが市場と向き合い続ける「戦場のメインルーチン」 前回の記事までで、Botがどのように起動し、設定を読み込み、環境を整えてスタートラインに立つかを見てきました。いよいよ今回は、Botが実際に市場で注文を出し、監視し、ポジションを検出し、損益を通知し、危険時には撤退するという一連のロジック――その「本番ループ」の中身を読み解いていきます。 🚀5.1 run_loop() とは? run_loop() は、Botが稼働中に何度も繰り返し実行している「取引サイクルの心臓部」です。 この中でBotは以下の ...
― Botが「生き物として目を覚ます」瞬間を解き明かす 前回は、Botの起動時に entrypoint.sh がテンプレートを整え、設定の検証まで行っていることを見てきました。今回は、いよいよその後に呼び出される**Pythonモジュール本体 core.py**の初期化処理について解説していきます。 🚀4.1 core.py とは何か? core.py は、仮想通貨Botのメインロジックが詰まった心臓部です。 具体的には: APIキーなどの設定を読み込み ログの初期化 データベースの準備 WebSocke ...
―「Botが動き出す前」に必ず通るチェックポイント 前回は Dockerfile でBotの中身を作り上げる工程を見てきました。ですが、イメージができただけではBotは動きません。 Botが本当に動き出すのは、entrypoint.shが起動してからです。 このシェルスクリプトは、Bot起動時に最初に実行される“スタートボタン”。かつ、設定ミスや危険な値がある場合は**即時にストップさせる“関所”**の役割も担っています。 📜3.1 entrypoint.sh って何? Dockerfile の最後でこん ...
―「Botの仮想的な中身」をどう設計しているのか 前回は、Mac上(ホスト)で何が行われているかを解説しました。今回はその先――**Dockerの中でBotがどんな部品で構成され、どのように動き出すのか?**を見ていきます。 🔧2.1 そもそもDockerfileとは?(初心者向け解説) Dockerfileは、Botが動くために必要な仮想環境の設計図です。 📦「このBotはどんなOSで、どんなPythonのバージョンで、どんなライブラリが入っていて、起動したときに何を実行するか?」 この全てを記述するの ...