实现全面的白名单管理系统,支持策略自动启动: - 添加 WhitelistManager 类用于持久化白名单配置存储 - 将白名单功能集成到 StrategyManager 核心模块 - 添加用于白名单 CRUD 操作的 REST API 端点 - 通过 start.py 创建用于白名单管理的 CLI 命令 - 更新前端 UI,添加白名单状态指示器和批量操作功能 - 实现每日 08:58 的自动启动调度 - 为白名单操作添加配置验证和日志记录 同时添加项目文档: - 代码格式规则(缩进、行长度、导入、命名) - 文件、变量、常量、函数、类的命名规范 - 受限制文件和目录的保护规则
2.4 KiB
2.4 KiB
代码格式规则 (Formatting Rules)
本项目遵循以下代码格式规范:
1. Python 代码规范
1.1 缩进
- 使用 4个空格 进行缩进
- 不使用 Tab 键
1.2 行长度
- 每行代码最大长度:100 字符
- 文档字符串最大长度:80 字符
1.3 空行
- 类定义之间:2个空行
- 方法定义之间:1个空行
- 函数定义之间:2个空行
- 逻辑段落之间:1个空行
1.4 导入顺序
# 标准库导入
import os
import sys
from datetime import datetime
# 第三方库导入
import numpy as np
import pandas as pd
# 本地项目导入
from src.backtest_engine import BacktestEngine
from src.data_manager import DataManager
1.5 空格使用
- 在逗号后添加空格:
func(a, b, c) - 在运算符两侧添加空格:
a + b - 不要在括号内添加空格:
func(a)而不是func( a ) - 函数参数列表内不要有多余空格
2. 命名规范
2.1 变量命名
- 使用 小写字母 + 下划线:
trade_volume,stop_loss_points - 私有变量使用前缀下划线:
_internal_cache
2.2 常量命名
- 使用 全大写 + 下划线:
MAX_POSITION,DEFAULT_STOP_LOSS
2.3 函数命名
- 使用 小写字母 + 下划线:
calculate_metrics(),get_bar_history()
2.4 类命名
- 使用 大驼峰命名法 (PascalCase):
SimpleLimitBuyStrategy,BacktestEngine
3. 文档字符串规范
3.1 所有公共类和方法必须有文档字符串
class SimpleLimitBuyStrategy(Strategy):
"""
一个基于当前K线Open、前1根和前7根K线Range计算优势价格进行限价买入的策略。
具备以下特点:
- 每根K线开始时取消上一根K线未成交的订单
- 最多只能有一个开仓挂单和一个持仓
- 包含简单的止损和止盈逻辑
Args:
context: 模拟器实例
symbol: 交易合约代码
trade_volume: 单笔交易量
"""
3.2 复杂逻辑必须添加注释说明
4. 类型提示规范
- 推荐为函数参数和返回值添加类型提示
- 使用
from typing导入类型 - 循环导入时使用
TYPE_CHECKING:
from typing import Dict, Any, Optional, TYPE_CHECKING
if TYPE_CHECKING:
from src.backtest_engine import BacktestContext
5. Git 提交规范
- 提交信息使用中文或英文
- 格式:
[类型] 描述 - 类型:feat, fix, docs, style, refactor, test, chore