cTrader Commander

📈 cTrader 本地化交易代理,零凭证调用

通过本地代理安全连接cTrader,无需传递凭证即可执行交易、查看持仓、获取实时行情与历史K线数据

收藏
3.1k
安装
955
版本
1.0.0
CLS 安全扫描中
预计需要 3 分钟...

使用说明

核心用法

cTrader Commander 是一个将 cTrader OpenAPI Protobuf 协议封装为 REST API 的本地代理工具,运行在 localhost:9009。用户无需在每次调用时传递凭证,账号信息由服务器端 .env 文件管理,降低了凭证泄露风险。

主要功能

| 功能 | 端点 | 说明 |
|------|------|------|
| 市价/限价/止损订单 | `POST /api/market-order` | 支持 BUY/SELL,volume 以 units 计(1000 = 0.01 lot) |
| 获取K线数据 | `POST /api/trendbars` | 支持 M1 到 MN1 多周期 |
| 实时报价 | `POST /api/live-quote` | BID/ASK 快照数据 |
| 持仓与订单查询 | `GET /get-data?command=ProtoOAReconcileReq` | 返回当前 positions 和 pending orders |
| 平仓/撤单 | `GET /get-data?command=ClosePosition/CancelOrder` | 按 positionId/orderId 操作 |
| 账户信息 | `GET /get-data?command=ProtoOATraderReq` | 余额、净值、杠杆等 |

使用前必须步骤

1. 克隆并启动代理:cd ~/ctrader-openapi-proxy && make run
2. 查询 symbol ID(券商特定):ProtoOASymbolsListReq

显著优点

  • 凭证隔离:交易凭证仅存于服务器 .env,调用方零接触
  • 零配置调用:HTTP + JSON 接口,无需处理 Protobuf 复杂性
  • 多周期数据:内置 OHLC 历史数据与实时 tick 数据
  • 轻量部署:单一代码库,Makefile 一键启动

潜在缺点与局限性

  • 本地依赖:必须预先部署并维护代理进程,进程宕机则全部中断
  • 无内置重连:网络波动可能导致连接中断需手动重启
  • Symbol ID 碎片化:同一品种在不同券商/账户间 ID 不同,需动态查询
  • volume 单位易混淆:使用 units 而非标准 lots,新手易下错单量
  • 无内置风控:止损止盈仅支持相对点数,无保证金检查或爆仓预警

适合人群

  • 已有 cTrader 账户,希望用脚本/自动化工具管理交易的量化交易者
  • 需要历史数据回测或实时数据接入的开发者
  • 熟悉 Docker/本地服务部署的技术用户

常规风险

  • 代理单点故障:本地进程 crash 会导致交易指令丢失或状态不一致
  • 误操作风险:市价单立即成交,volume 单位错误可能导致超量开仓
  • 网络延迟:本地代理到 cTrader 服务器的延迟仍受网络环境影响
  • 无审计日志:需自行在代理层或应用层实现交易记录持久化
  • 券商限制:频繁 API 调用可能触发券商 rate limit 或风控规则

cTrader Commander 内容

手动下载zip · 6.2 kB
endpoints.mdtext/markdown
请选择文件