v10 · 阶段 D

搬到 Mac dry-run

研究机上站得住,再原样搬到自己电脑上用假钱跟着行情走。

dry_run userdir OKX · 币安 451

1一句话

研究机上站得住,再原样搬到自己电脑上用假钱跟着行情走。交易所用 OKX,因为币安会拒绝这台机器所在的网络。钥匙仍然不写进配置。

2生活类比

彩排。剧本(策略)不能改词。舞台换了(Mac),提词器路径要对上(userdir)。观众是假的(dry_run)。入场券(API key)放自己口袋,不钉在剧本上。

3搬到这版

假钱dry_run = true。这课只许假钱。
路径userdir 指到你 Mac 上的 ~/ft_userdata(或你们对齐的那棵目录)。
交易所exchange.name = okx。研究机访问币安会 451。
钥匙key / secret 留空。不进 git,不进对照站。
同一份dry-run 读的策略类名还是这份完全体,不是另一份抄近路的文件。

4每个新参数

dry_run = true

用假钱下单。彩排,不是公演。

它是什么
True:订单只记在本地钱包上。False:会走真交易所下单。
不管它会怎样
不管它、写成 false:可能动真钱,或没钥匙时启动失败。
拧大 / 拧小 / 拧反了
这课只许 true。拧成 false 不是「更真实的练习」,是换了一场有真钱的戏。
userdir = 要对上你改的那棵树

提词器指向哪本剧本。指错,机器人读的是另一份旧文件。

它是什么
策略、配置、数据所在的目录树。Docker 和本机默认路径经常不是同一处。
不管它会怎样
不管它:你改的文件机器人没在读,回测和 dry-run 变成两套逻辑。
拧大 / 拧小 / 拧反了
拧错路径:加载到旧策略或空壳。过关时要能指着日志说出它读的是哪一个 userdir、哪一个类名。
exchange 用 OKX = "okx"

这台机器所在的网络访问币安会收到 451,换一家能通的。

它是什么
拉行情、下假单用的交易所名字。研究机上用 OKX。
不管它会怎样
不管它、仍写 binance:下载数据和 dry-run 拉行情都会被拒。
拧大 / 拧小 / 拧反了
拧回 binance:在这台机器上挂。换所不等于换策略。钥匙仍然空着。
钥匙不进配置 = key / secret 留空

入场券放口袋,不钉在会流传的剧本上。

它是什么
API key 会进 git、会进对照站、会进别人的备份。配置里只留空字符串。
不管它会怎样
不管它、把真钥匙写进 config.json:文件一分享就漏。
拧大 / 拧小 / 拧反了
没有「拧大」。要放就放本机不提交的文件或环境变量。这课连放都不放,因为还在 dry-run。

5假懂

人们会说:「dry-run 能跑就说明实盘没问题」
更短的一句:dry-run 只证明逻辑和行情链路通。实盘还有余额、手续费、限价不成交。这课过关是:Mac 上跑的是同一份策略。

6你来讲

答得出来,这课才过关。讲的时候指着本机路径和配置,不要只背单词。

  1. dry-run 和回测差在哪?为什么策略文件必须是同一份?
  2. 为什么这课用 OKX 不用币安?
  3. 钥匙写进 config.json 会有什么后果?

7这版代码

只放搬家要看的几行。不要把任何真钥匙贴进页面或配置。

{
  "dry_run": true,
  "exchange": {
    "name": "okx",
    "key": "",
    "secret": ""
  }
}

# Mac 上对齐 userdir,例如:
# freqtrade trade --userdir ~/ft_userdata/user_data \
#   --config user_data/config_fair.json --strategy FirstSma

8过关

Mac 上能跑 dry-run,并能指出它读的 userdir 和策略类名。

配置里没有 API key。先不加实盘、杠杆、全市场、hyperopt。