{
  "config_version": 4,
  "workspace_mode": "managed",
  "interval_seconds": 60,
  "client": {
    "bootstrap_enabled": false,
    "bootstrap_url": "https://quantelse.trade/v1/client/bootstrap",
    "telemetry": "off",
    "heartbeat_seconds": 21600
  },
  "bots": [
    {
      "local_id": "xyz100-regime-swing-paper-v1",
      "owner_id": "local",
      "exchange": "paper",
      "signal_source": "paper",
      "signal_connector": "quantelse.connector.paper",
      "execution_connector": "quantelse.connector.paper",
      "start_immediately": true,
      "strategy": {
        "id": "xyz100-regime-swing",
        "version": "0.3.0",
        "kind": "trend",
        "framework_id": "technical-indicators",
        "framework_version": "0.1.0",
        "strategy_plugin": "quantelse.strategy.trend",
        "name": "XYZ100 趋势-摆动双状态",
        "symbol": "xyz:XYZ100",
        "timeframe": "4h",
        "risk_level": "medium",
        "capital": 1000,
        "signal_definition": {
          "type": "builtin",
          "strategy_kind": "trend"
        },
        "parameters": {
          "fast_period": 20,
          "slow_period": 50,
          "signal_connector": "quantelse.connector.hyperliquid-public",
          "default_execution_route": {
            "mode": "paper",
            "exchange": "hyperliquid",
            "market": "linear_perpetual",
            "connector_id": "quantelse.connector.paper",
            "account_ref": null,
            "settlement_asset": "USDC",
            "margin_mode": "isolated",
            "position_mode": "one_way",
            "leverage": 1
          },
          "default_position_policy": {
            "allow_short": true,
            "reduce_only_on_exit": true
          },
          "composition": {
            "schema_version": 1,
            "combination_mode": "priority_fallback",
            "signal_threshold": 0.05,
            "quorum_ratio": 0.5,
            "deadband": 0.05,
            "children": [
              {
                "child_id": "bollinger-swing-1",
                "source_type": "system",
                "role": "alpha",
                "name": "布林带摆动回归",
                "summary": "价格离开布林带并进入 RSI 极端区域时观察反向摆动。",
                "catalog_slug": null,
                "catalog_version": null,
                "system_template_id": "system-bollinger-swing",
                "kind": "mean_reversion",
                "signal_definition": null,
                "symbol": "xyz:XYZ100",
                "timeframe": "1h",
                "weight": 1.0,
                "parameters": {
                  "period": 30,
                  "width": 2.2,
                  "rsi_period": 14,
                  "rsi_low": 30,
                  "rsi_high": 70
                },
                "parameter_schema": [
                  {
                    "id": "period",
                    "label": "布林周期",
                    "description": "价格中枢与波动窗口。",
                    "value_type": "integer",
                    "default": 20,
                    "minimum": 5.0,
                    "maximum": 500.0,
                    "step": 1.0,
                    "options": []
                  },
                  {
                    "id": "width",
                    "label": "标准差倍数",
                    "description": "布林带宽度。",
                    "value_type": "number",
                    "default": 2,
                    "minimum": 0.5,
                    "maximum": 5.0,
                    "step": 0.1,
                    "options": []
                  },
                  {
                    "id": "rsi_period",
                    "label": "RSI 周期",
                    "description": "极端区域确认周期。",
                    "value_type": "integer",
                    "default": 14,
                    "minimum": 2.0,
                    "maximum": 200.0,
                    "step": 1.0,
                    "options": []
                  },
                  {
                    "id": "rsi_low",
                    "label": "RSI 下限",
                    "description": "低于此值确认超卖。",
                    "value_type": "number",
                    "default": 30,
                    "minimum": 1.0,
                    "maximum": 49.0,
                    "step": 1.0,
                    "options": []
                  },
                  {
                    "id": "rsi_high",
                    "label": "RSI 上限",
                    "description": "高于此值确认超买。",
                    "value_type": "number",
                    "default": 70,
                    "minimum": 51.0,
                    "maximum": 99.0,
                    "step": 1.0,
                    "options": []
                  }
                ],
                "origin_slug": "xyz100-regime-swing",
                "origin_version": "0.3.0",
                "system_default": false
              },
              {
                "child_id": "vwma-trend-2",
                "source_type": "system",
                "role": "alpha",
                "name": "VWMA 量价趋势",
                "summary": "使用成交量加权均线区分多空趋势，减少无量波动影响。",
                "catalog_slug": null,
                "catalog_version": null,
                "system_template_id": "system-vwma-trend",
                "kind": "trend",
                "signal_definition": null,
                "symbol": "xyz:XYZ100",
                "timeframe": "4h",
                "weight": 0.6,
                "parameters": {
                  "fast_period": 24,
                  "slow_period": 96
                },
                "parameter_schema": [
                  {
                    "id": "fast_period",
                    "label": "快速 EMA",
                    "description": "用于捕捉较快价格方向。",
                    "value_type": "integer",
                    "default": 20,
                    "minimum": 2.0,
                    "maximum": 500.0,
                    "step": 1.0,
                    "options": []
                  },
                  {
                    "id": "slow_period",
                    "label": "慢速 EMA",
                    "description": "用于确认较慢市场趋势。",
                    "value_type": "integer",
                    "default": 50,
                    "minimum": 3.0,
                    "maximum": 1000.0,
                    "step": 1.0,
                    "options": []
                  }
                ],
                "origin_slug": "xyz100-regime-swing",
                "origin_version": "0.3.0",
                "system_default": false
              },
              {
                "child_id": "volatility-veto-3",
                "source_type": "system",
                "role": "veto",
                "name": "异常波动否决",
                "summary": "ATR 占价格比例过高时输出否决，令母策略暂时归零。",
                "catalog_slug": null,
                "catalog_version": null,
                "system_template_id": "system-volatility-veto",
                "kind": "trend",
                "signal_definition": null,
                "symbol": "xyz:XYZ100",
                "timeframe": "1h",
                "weight": 1.0,
                "parameters": {
                  "atr_period": 20,
                  "max_atr_pct": 0.045
                },
                "parameter_schema": [
                  {
                    "id": "atr_period",
                    "label": "ATR 周期",
                    "description": "波动率观察窗口。",
                    "value_type": "integer",
                    "default": 14,
                    "minimum": 2.0,
                    "maximum": 200.0,
                    "step": 1.0,
                    "options": []
                  },
                  {
                    "id": "max_atr_pct",
                    "label": "最大 ATR 比例",
                    "description": "超过此比例时否决交易。",
                    "value_type": "number",
                    "default": 0.06,
                    "minimum": 0.001,
                    "maximum": 0.5,
                    "step": 0.001,
                    "options": []
                  }
                ],
                "origin_slug": "xyz100-regime-swing",
                "origin_version": "0.3.0",
                "system_default": false
              }
            ]
          }
        },
        "enabled": true,
        "execution_mode": "paper"
      }
    }
  ]
}