edux server 开发和测试

通过docker-compose创建自动化测试环境

前提:

  1. 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"
  ]
}
  1. 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

    • 状态 ≠ 仓位
    • 状态变化 ≠ 必须交易
    • 大部分状态 禁止交易