Log
LogProfitReset()
重置收益统计,支持清空所有数据或保留最近N条记录。
语法
python
LogProfitReset() # 清空所有收益数据
LogProfitReset(keep_count) # 保留最近 keep_count 条数据参数
| 参数名 | 类型 | 必填 | 说明 |
|---|---|---|---|
| keep_count | int | 否 | 保留最近N条收益数据,默认 0 表示清空所有数据 |
返回值
无
说明
LogProfitReset() 用于重置收益统计,支持两种模式:
- 清空模式 (
keep_count=0,默认):删除所有收益历史数据,重新开始统计 - 保留模式 (
keep_count>0):只保留最近 N 条收益记录,删除更早的数据
重置操作会记录到数据库,并在日志中显示相应信息。
示例
基本用法 - 清空所有数据
python
def init():
# 策略启动时重置收益,清空所有历史数据
LogProfitReset()
Log("✅ 收益统计已重置(清空所有数据)")保留最近数据
python
def init():
# 只保留最近 100 条收益记录
LogProfitReset(100)
Log("✅ 收益统计已重置(保留最近100条)")
# 只保留最近 10 条收益记录
LogProfitReset(10)
Log("✅ 收益统计已重置(保留最近10条)")定期清理旧数据
python
def main():
last_cleanup_time = time.time()
while True:
# 每7天清理一次旧数据,只保留最近500条
if time.time() - last_cleanup_time > 7 * 86400:
LogProfitReset(500)
Log("🧹 已清理旧收益数据,保留最近500条")
last_cleanup_time = time.time()
# 交易逻辑...
profit = do_trade()
LogProfit(profit)
Sleep(60000)参数调整后重置
python
def main():
current_params = get_params()
while True:
new_params = get_params()
# 参数变化时完全重置收益
if new_params != current_params:
LogProfitReset() # 清空所有数据
Log("⚙️ 参数已调整,重置收益统计")
current_params = new_params
# 交易逻辑...
Sleep(60000)数据库空间管理
python
def main():
trade_count = 0
while True:
# 执行交易...
profit = do_trade()
LogProfit(profit)
trade_count += 1
# 每1000笔交易后,只保留最近300条记录
if trade_count % 1000 == 0:
LogProfitReset(300)
Log(f"📊 已完成 {trade_count} 笔交易,保留最近300条记录")
Sleep(1000)使用建议
何时使用清空模式 (keep_count=0)
- ✅ 策略参数发生重大调整
- ✅ 切换交易币种或市场
- ✅ 重新开始回测或实盘
- ✅ 收益曲线异常需要重置
何时使用保留模式 (keep_count>0)
- ✅ 定期清理旧数据节省存储空间
- ✅ 保持收益曲线连续性,只删除过早数据
- ✅ 数据库文件过大需要瘦身
- ✅ 只关注最近一段时间的收益表现
推荐的 keep_count 值
| 策略类型 | 推荐值 | 说明 |
|---|---|---|
| 高频策略 | 500-1000 | 保留最近几小时的数据 |
| 日内策略 | 200-500 | 保留最近几天的数据 |
| 中长期策略 | 100-300 | 保留最近几周的数据 |
| 网格策略 | 300-500 | 保留最近的网格交易记录 |
注意事项
⚠️ 数据删除不可恢复:重置操作会永久删除收益数据,请谨慎使用
⚠️ 影响收益曲线:删除数据后收益曲线会从删除点重新开始
💡 性能考虑:删除大量数据时可能需要几秒钟,建议在非交易时段执行
💡 备份建议:重要数据删除前建议先备份数据库文件
相关函数
- LogProfit() - 记录收益信息