Bybit Futures Trading System
Complete trading infrastructure for Bybit USDT perpetual futures contracts.
Quick Start
- 1. Install dependencies: INLINECODE0
- Copy
scripts/config_template.py → config.py, fill in API keys - Run paper trading: INLINECODE3
- When validated, switch to live: INLINECODE4
Architecture
CODEBLOCK0
Risk Management
All trades enforced by risk_manager.py:
- - Max position: configurable % of capital per trade (default 20%)
- Max leverage: configurable (default 5x)
- Stop loss: automatic per-trade (default 3%)
- Take profit: automatic per-trade (default 6%, 2:1 R/R)
- Daily loss limit: halt trading after X% daily drawdown (default 10%)
- Max concurrent positions: configurable (default 3)
Included Strategies
EMA Crossover (ETH)
- - EMA(12) crosses above EMA(26) → long
- EMA(12) crosses below EMA(26) → short
- Best on: ETH/USDT 1h timeframe
RSI Mean Reversion (SOL, HYPE, PEPE)
- - RSI(14) crosses up from below 30 → long
- RSI(14) crosses down from above 70 → short
- Best on: SOL, HYPE (73% WR), 1000PEPE (53% WR) 1h timeframe
- Backtested: HYPE +$339, PEPE +$210 on 90-day 1h data
Custom Strategy Template
See
references/custom_strategy.md for adding your own signals.
WebSocket Real-Time Engine
The paper/live trading engine uses Bybit's WebSocket v5 API:
- - Ticker subscription: millisecond-level price updates for SL/TP
- Kline subscription: signal calculation on candle close only
- Auto-reconnect: 5s retry on disconnect
- State persistence: saves every 5 minutes to JSON
Deployment
Recommended: systemd service on a VPS.
CODEBLOCK1
Telegram Notifications
Built-in Telegram push for all events:
- - Position opened/closed
- Stop loss / take profit hit
- 6-hourly summary reports
- Error alerts
Set TG_BOT_TOKEN and TG_CHAT_ID in config.
Files
- -
scripts/config_template.py — Configuration template - INLINECODE10 — Risk management engine
- INLINECODE11 — WebSocket paper trading bot
- INLINECODE12 — Live trading bot
- INLINECODE13 — Backtesting engine
- INLINECODE14 — Guide for adding custom strategies
- INLINECODE15 — Bybit API gotchas and tips
技能名称: bybit-futures
详细描述:
Bybit 永续合约交易系统
针对 Bybit USDT 本位永续合约的完整交易基础设施。
快速开始
- 1. 安装依赖:pip install ccxt websockets numpy requests
- 复制 scripts/configtemplate.py → config.py,填写 API 密钥
- 运行模拟交易:python scripts/papertradingws.py
- 验证通过后,切换至实盘:python scripts/livetrading.py
架构
config.py ← API 密钥 + 风险参数
risk_manager.py ← 仓位管理、每日亏损限额、最大持仓数
papertradingws.py ← WebSocket 实时模拟交易
live_trading.py ← 实盘执行(相同逻辑,真实订单)
backtest.py ← 历史回测引擎
风险管理
所有交易均由 risk_manager.py 强制执行:
- - 最大仓位:每笔交易占用资金的可配置百分比(默认 20%)
- 最大杠杆:可配置(默认 5 倍)
- 止损:每笔交易自动设置(默认 3%)
- 止盈:每笔交易自动设置(默认 6%,2:1 盈亏比)
- 每日亏损限额:当日回撤达 X% 后停止交易(默认 10%)
- 最大同时持仓数:可配置(默认 3 个)
内置策略
EMA 交叉策略(ETH)
- - EMA(12) 上穿 EMA(26) → 开多
- EMA(12) 下穿 EMA(26) → 开空
- 最佳适用:ETH/USDT 1 小时周期
RSI 均值回归策略(SOL、HYPE、PEPE)
- - RSI(14) 从 30 以下向上穿越 → 开多
- RSI(14) 从 70 以上向下穿越 → 开空
- 最佳适用:SOL、HYPE(胜率 73%)、1000PEPE(胜率 53%)1 小时周期
- 回测结果:基于 90 天 1 小时数据,HYPE 盈利 +$339,PEPE 盈利 +$210
自定义策略模板
参见 references/custom_strategy.md 了解如何添加自定义信号。
WebSocket 实时引擎
模拟/实盘交易引擎使用 Bybit WebSocket v5 API:
- - Ticker 订阅:毫秒级价格更新,用于止损/止盈
- K线订阅:仅在 K 线收盘时计算信号
- 自动重连:断开后 5 秒重试
- 状态持久化:每 5 分钟保存至 JSON 文件
部署
推荐:在 VPS 上以 systemd 服务运行。
bash
创建服务文件
sudo tee /etc/systemd/system/paper-trading.service << EOF
[Unit]
Description=模拟交易机器人(WebSocket)
After=network.target
[Service]
Type=simple
WorkingDirectory=/root/trading
ExecStart=/usr/bin/python3 papertradingws.py
Restart=always
RestartSec=10
[Install]
WantedBy=multi-user.target
EOF
sudo systemctl enable --now paper-trading
Telegram 通知
内置 Telegram 推送,覆盖所有事件:
- - 开仓/平仓
- 触发止损/止盈
- 每 6 小时汇总报告
- 错误警报
在配置文件中设置 TGBOTTOKEN 和 TGCHATID。
文件列表
- - scripts/configtemplate.py — 配置模板
- scripts/riskmanager.py — 风险管理引擎
- scripts/papertradingws.py — WebSocket 模拟交易机器人
- scripts/livetrading.py — 实盘交易机器人
- scripts/backtest.py — 回测引擎
- references/customstrategy.md — 添加自定义策略的指南
- references/bybitapinotes.md — Bybit API 注意事项与技巧