v3 · 阶段 A

能回测出数字

让回测能跑完,并读懂四个数。数字你自己跑,这页不填。

stoploss=-0.12 startup_candle_count stake / max_open_trades timerange

1一句话

这版让回测能跑完,并教你读四个数:赚了多少、亏到多深、赢了几成、平均拿多久。数字你自己跑,这页不填。

2生活类比

空壳是执照,金叉是菜单。这版是装上灭火器和开业前热锅。没有灭火器(止损),店开不了;锅没热(暖机),前几道菜是生的。

3搬到这版

止损把占位 -0.99 改成 -0.12。历史金叉文件里已经是这个数。
暖机startup_candle_count 至少要够算出 50 均线。历史文件写的是 60。
公平配置用 config_fair.json 回测。它不写 ROI / 止损,让策略自己说了算。
对照尺子同一段日子、同一个钱包起点,旁边放 BuyHold(买了就拿着)。
四个数收益、回撤、胜率、持仓。FirstSma 的数你跑完再填,这页不代填。

4每个新参数

stoploss = -0.12

灭火器。浮亏碰到这条线,先砍再解释。

它是什么
价格相对入场价跌了 12%,就强制平仓。这是三扇门里最先的那扇。
不管它会怎样
仍用 -0.99:单笔能把账户打穿。不写:策略加载失败。
拧大 / 拧小 / 拧反了
拧到 -0.25:更能扛波动,单笔也亏得更深。拧到 -0.03:很容易被震出去。写成正数:加载失败。
startup_candle_count = 60

开业前先空烧炉子。均线要吃够历史,才能算热。

它是什么
回测开头先空转多少根 K,专门用来把指标算出来。
不管它会怎样
写太小(比如 10):50 均线在前几根是空的或用过短窗口,假金叉。
拧大 / 拧小 / 拧反了
至少 ≥ 最慢均线 50。拧得更大:开头有效样本变少,只是少一段日子,不是更准。
stake / max_open_trades = 先认公平配置

每桌坐多少人、店里最多几桌。不齐,就没法和「两个币都拿着」比。

它是什么
stake 是每笔用多少钱。max_open_trades 是最多同时几笔。公平对照要两个币都能同时在。
不管它会怎样
不管它:可能一次只做一个币,现金在睡觉,和满仓持有比不了。
拧大 / 拧小 / 拧反了
stake 固定 1000,钱包大部分闲着。max_open_trades = 1,永远轮流做。= 2 才能 BTC 和 ETH 同时在。v9 再讲 unlimited。
timerange = 和对照页同一段

考试从哪一页考到哪一页。换页,分数就不能比。

它是什么
回测哪一段日子。对照页用的公平窗口是 2023-12-23 到 2026-08-16。
不管它会怎样
不写:用全部已下载数据,不同人数字对不上。
拧大 / 拧小 / 拧反了
拧短:样本不够。只圈牛市:什么策略都好看。换一段就要重跑,不要拿两段的数横比。
config_fair

同一张考卷。策略说了算,配置不再偷偷改出门规则。

它是什么
一份不写 minimal_roi / stoploss / timeframe 的配置,专门用来公平回测。
不管它会怎样
误用带 ROI 的 config.json:时间止盈会先剪掉死叉还没来的单,数字不是这版策略的。
拧大 / 拧小 / 拧反了
不要在 fair 里再塞 ROI。钥匙、账号也不要写进这份文件。
四个数 · 你跑完再填

这页不代填 FirstSma 的收益、回撤、胜率、持仓。

收益
期末钱包相对起点多了还是少了。对照页起点是 10000 USDT。
回撤
中途从高点掉下来最深的那一截。赚得多但回撤很深,外人听了会先问这个。
胜率
赚钱笔数 / 总笔数。趋势策略胜率低也可以赚,因为赢的那笔够大。
持仓
平均拿多久。4h 中长线如果均持只有几小时,规则和周期在打架。

5假懂

人们会说:「回测收益高就是好策略」
更短的一句:先问回撤、胜率、持仓、这段行情是牛是熊。四个数一起读。FirstSma 的数你跑完再填。

6你来讲

用你自己跑出来的数讲。没有数,就先去跑,不要背这页的空话。

  1. -0.12 是跌到入场价的多少?和 -0.99 差在哪?
  2. startup 写成 10,50 均线在前几根会怎样?
  3. 收益很好但回撤 40%,你怎么跟外人解释这四个数?

7这版代码

只改让回测能跑完的三行。命令用 fair 配置。区间写成对照页同一段,或你自己记下的一段。

stoploss = -0.12
minimal_roi = {"0": 10}
startup_candle_count = 60

# 回测(区间你自己填,不要抄别人另一段的数)
# freqtrade backtesting \
#   --userdir /workspace/ft_userdata/user_data \
#   --config user_data/config_fair.json \
#   --strategy FirstSma \
#   --timerange 20231223-20260816

8过关

跑完 FirstSma,口头解释自己的收益、回撤、胜率、持仓。数空着就去跑,不要编。

会用 config_fair.json,并说得出它和带 ROI 的 config.json 差在哪。