現物bot s4
- Python 99.4%
- Shell 0.6%
- BB:XLM/JPY (1行) → BB:5m\nXLM/JPY (2行) に変更 - fontsize 120→60pt - linespacing 1.6で間隔調整 - alpha 0.15維持 |
||
|---|---|---|
| .planning | ||
| config | ||
| deploy | ||
| docs | ||
| scripts | ||
| src | ||
| tests | ||
| .env.example | ||
| .gitignore | ||
| AGENTS.md | ||
| pyproject.toml | ||
| README.md | ||
| test_chart_no_BB.png | ||
| test_chart_with_BB.png | ||
s4 — bitbank.cc 現物取引bot(SMA+MACD戦略)
bitbank.cc APIを利用した暗号資産現物取引の自動売買bot。 ¥1,000から運用可能。全指値(maker注文)で手数料-0.02%(還元)。
特徴
| 機能 | 説明 |
|---|---|
| SMA+MACD戦略 | SMAゴールデンクロス + MACD下反転検出で買いエントリー |
| 全指値取引 | 買い=bok、売り=ask、maker手数料-0.02%獲得 |
| 塩漬けOK | 現物の優位性: entry以上でしか売らない(ロスカット不要) |
| スパイク利確 | SMA3から急騰(+15%)検出時に即利確 |
| Mattermost連携 | チャート表示、ステータス確認、レポート出力 |
| 全状態DB永続化 | SQLite3 WALモード、サーバー再起動に完全耐性 |
| hjson設定 | コメント付き設定ファイル、編集→git push→reload |
クイックスタート
1. インストール
git clone ssh://git@git.cyberius.biz/joe/s4.git
cd s4
python3.12 -m venv venv
source venv/bin/activate
pip install -r requirements.txt
2. 環境設定
cp .env.example .env
.env を編集:
BITBANK_API_KEY=your_key
BITBANK_API_SECRET=your_secret
TRADING_PAIRS=xlm_jpy
MM_BOT=mattermost_bot_token
MM_URL=https://mattermost.example.com
ENVIRONMENT=production
3. 戦略設定
config/strategy.hjson でパラメータ調整:
{
strategy: sma_crossover
params: {
sma_short: 5
sma_long: 30
take_profit_pct: 0.005
spike_tp_pct: 0.15
}
}
4. 起動
python -m src
運用
本番環境: Proxmox LXC(1020-main)systemd管理
# 状態確認
systemctl status bitbank-bot
# 再起動
systemctl restart bitbank-bot
# ログ確認
journalctl -u bitbank-bot -f
デプロイフロー
# ローカルで編集 → git push
git push origin master
# サーバーで反映
cd /opt/bitbank-bot && bash deploy/reload.sh
Mattermost コマンド
| コマンド | 説明 |
|---|---|
chart |
価格チャート(ローソク足 + エントリー/TPライン) |
status |
bot状態 + エクイティチャート |
report |
本日の取引サマリー |
ls |
ポジション一覧 |
log |
直近ログ出力 |
start |
bot起動 |
stop |
bot停止 |
※ ! プレフィックス任意(chart / !chart 両方可)
チャート仕様
!chart で生成:
- ローソク足: 陽線=緑#26A69A、陰線=赤#EF5350、ヒゲ=灰
- SMAライン: Fast(橙#FFB74D)、Slow(紫#CE93D8)
- 背景色: entry以下=赤#FF5252(損失ゾーン)、entry〜TP=青#448AFF(利益ゾーン)
- 壁紙: 斜め透かし「BB:5m / XLM/JPY」
- エントリーライン: 橙色破線(¥32.812)
- TPライン: 緑色一点鎖線(¥32.976)
ドキュメント
| ドキュメント | 説明 |
|---|---|
| アーキテクチャ | システム構成とコンポーネント |
| Mattermostコマンド | コマンド一覧と仕様 |
| 運用ガイド | セットアップと運用方法 |
プロジェクト構造
src/
├── __main__.py # エントリーポイント
├── api/
│ ├── client.py # bitbank REST API
│ └── websocket.py # WebSocket(socket.io)
├── engine/
│ ├── runner.py # メインループ(戦略実行)
│ └── state/
│ ├── db.py # TradeStateDB(SQLite3)
│ ├── funds.py # 資金管理
│ └── positions.py # ポジション管理
├── strategy/ # 戦略プロトコル
│ ├── protocol.py # StrategyMeta, MarketContext, Signal
│ ├── base.py # PriceHistory, calculate_sma
│ ├── registry.py # 戦略レジストリ
│ └── implementations/
│ ├── sma_crossover.py # ★現行戦略 SMA+MACD
│ └── ... # その他7戦略
├── notifications/
│ ├── mattermost.py # MM通知・ファイル送信
│ ├── commands.py # Mattermostコマンド処理
│ └── charts.py # チャート画像生成
├── providers/ # Provider pattern
│ └── data/ # データプロバイダー
├── config/
│ └── strategy.hjson # 戦略設定(コメント可)
├── deploy/
│ ├── bitbank-bot.service # systemd Unit
│ └── reload.sh # デプロイスクリプト
└── data/
└── bot_state.db # SQLite3 DB(WALモード)
ライセンス
MIT