通过docker-compose创建自动化测试环境
前提:
- docker 支持ipv6
完全启用 IPv6,但让拉镜像强制 IPv4
sudo vi /etc/docker/daemon.json
{
"ipv6": true,
"fixed-cidr-v6": "fd00:dead:beef::/48",
"registry-mirrors": [
"https://docker.m.daocloud.io"
]
}
- docker-compose.yml
version: "3.3"
services:
tester-a:
build: ./sse-tester
environment:
SSE_URL: "http://test.ddns.edux.dev:8182/sse?user=A"
tester-b:
build: ./sse-tester
environment:
SSE_URL: "http://test.ddns.edux.dev:8182/sse?user=B"
dart-client:
build: ./dart-sse-client
environment:
SSE_URL: "http://test.ddns.edux.dev:8182/sse?user=Dart"
load-tester:
image: alpine/bombardier
command: ["-c", "200", "-d", "30s", "http://test.ddns.edux.dev:8182/sse?user=load"]
修改docker源码后需要重建否则会用之前的镜像
sudo docker-compose down --rmi all ##删除所有镜像
sudo docker-compose up --build ##强制重建镜像
哲学
交易哲学:
市场不是奖励方向正确的人,
而是奖励在对的时间,站在对的那一侧的人。
而在永续合约中,真正的“时间”是市场所处的结构阶段。
永续市场的四个结构阶段(极其重要)
- 多头被吸引期(建笼)
- 多头被锁定期(喂养)
- 多头被强制平仓期(收割)
- 多头被清洗后的真趋势期
*** “对的时间” = 从 2 → 3 的切换瞬间,或 3 → 4 的切换瞬间 ***
三、如何判断:你现在站在哪一侧?
我们不用情绪词,只用客观、可验证的结构信号。
系统架构
- 无论 Python 还是 Rust,必须严格分 4 层:
Data → Structure → StateMachine → Decision
MarketState(市场结构状态)
- Neutral
- LongCrowding
- LongLocked
- LongLiquidation
- PostLongLiquidation
- ShortCrowding
- ShortLocked
- ShortLiquidation
- PostShortLiquidation
SystemRule
- 状态 ≠ 仓位
- 状态变化 ≠ 必须交易
- 大部分状态 禁止交易
