Superalgos / 信号网络
Superalgos 信号网络:跟单与交易信号在这套平台里怎么落地
很多人搜「superalgos copy trading」,指的是平台替你撮合跟单——实际不是这样。Superalgos 的信号走的是自建 P2P 网络:发信号的人要跑一个网络节点和一个 SERVER,把信号文件写进自己的 GitHub 仓库;收信号的人只需要能连上网络,不必自己搭 SERVER。整条链路你都看得见、也能自己搭,但前提条件收发双方并不对称。
信号在这套平台里是什么形态
先纠正一个常见预期:这里没有「平台托管跟单」的服务,只有一条由你自己搭起来的去中心化分发链路。
| 你以为的跟单 | Superalgos 的实际做法 | 对你的影响 | 依据 |
|---|---|---|---|
| 平台托管、一键跟随某个大 V | 由发信号方自建网络节点与任务服务器,信号经 P2P 网络分发 | 没有现成的「跟随按钮」,要按文档配置引用与网络 | README_Signals、Network README |
| 信号存在平台服务器上 | 发信号方的信号文件存放在他自己的 GitHub 仓库(GitHub Storage Container),文件会被加密 | 存储与账号都由参与者自己维护 | README_Signals |
| 收信号要注册平台账号 | 需要一个已并入治理系统的 User Profile,用于在 P2P 网络里标识身份 | 身份来自治理仓库,而不是平台注册 | README_Signals、Network README |
| 信号能直接当买卖开关 | 信号需要写成条件表达式参与判断,且必须同时挂上对应的交易系统信号,否则 K 线不会同步 | 要自己做一层条件封装,不能只丢一个信号节点 | README_Signals |
| 随时改随时生效 | User Profile 改动要经治理仓库签名、自动合并,之后约 10 分钟才被网络节点读取 | 配置完别立刻判定失败,先等这个窗口 | README_Signals、Network README |
| 谁都能开网络节点 | 网络节点是公开的互联网接入点,需要放行 websocket 端口(默认 18042) | 端口不通时节点等于没上线 | Network README |
发信号与收信号有什么区别:前置条件并不对称
这是整套机制里最容易搞错的一点——「发」比「收」重得多。下表按官方文档逐项对照。
| 前置项 | 发信号方(Sender) | 收信号方(Receiver) | 说明与注意点 |
|---|---|---|---|
| User Profile | 必需 | 必需 | 用于在 P2P 网络里识别身份:发方可以只发给指定用户,收方也能确认信号来源 |
| P2P 网络节点 | 必需 | 不需要 | 官方写明网络的强制要求只对发信号方成立 |
| 正在运行的 SERVER | 必需 | 不需要 | 同样是官方明确的非对称要求 |
| Task Server / Social Trading Server | 需要(User Apps > Server Apps 下) | 需要 Task Server 引用 | 任务要引用一个空闲的 Task Server,否则跑不起来 |
| 可用信号节点 | Available Signals 下要加 Trading System Signals、Trading Strategy Signals | Available Signals 下加 Incoming Signals | 发出与接收的信号要在两侧分别登记 |
| 存储 | 需要 Available Storage 与 Github Storage Container | 不需要 | 信号文件落在发方自己的 GitHub 仓库里,且是加密的 |
| 网络服务 | P2P 网络节点下加 Network Services > Trading Signals | 不使用该服务 | 并要引用目标网络(mainnet / testnet 或自建 permissioned 网络) |
| 运行命令 | node network(或 node network-node-2 等) | 不需要跑网络节点 | 节点号要与 User Profile 里的节点配置对应 |
网络节点:怎么配、卡在哪
官方把网络节点的用途列为两类:让软件模块协作测试机器学习模型,以及分发交易信号。配置步骤不多,但每一步都有硬要求。
| 步骤 | 官方做法 | 硬要求 / 易错点 | 核对方式 |
|---|---|---|---|
| 创建节点 | User Profile 下 Add Child > Add P2P Network Nodes > Add P2P Network Node | 会连带生成 Network Interfaces、Network Services、P2P Network Reference 等子节点 | 节点树里能看到这三类子节点 |
| 补网络接口 | 在 Network Interfaces 下加 Websockets Network Interface 与 HTTP Network Interface | 官方点名需要补这两个 | 两个接口节点都在 |
| 补网络服务 | 按用途在 Network Services 下加服务(例如机器学习) | 发信号还要加 Trading Signals | 服务节点与本页用途一致 |
| 改配置 | 打开 P2P Network Node 配置,codeName 可用默认值,host 填运行节点的机器 IP | 官方示例里直接填写公网 IP | 配置里 host 不是 localhost |
| 放行端口 | 网络节点的 websocket 端口默认 18042,必须在外网可达 | 官方特别强调端口不开就要去防火墙放行 | 从外部机器测试该端口是否可达 |
| 生成签名账户 | Governance 项目里建 Profile Constructor → 引用你的 User Profile → 菜单里 Install Signing Accounts | 会在 My-Secrets 目录生成签名账户文件 | 节点下出现签名账户节点,My-Secrets 有对应文件 |
| 提交并等待 | 保存 User Profile 扩展、提交、确认被治理仓库合并 | 改动后约 10 分钟才会被运行中的网络节点读取 | 等够时间再验证连接 |
信号存哪、凭据怎么放
这一节只讲官方给出的位置与格式,不讲任何绕过安全机制的做法。
| 项目 | 官方要求 | 为什么重要 | 注意点 |
|---|---|---|---|
| 存储容器 | User Storage > Github Storage > Github Storage Container | 信号文件就存放在这个 GitHub 仓库里 | 官方说明这些文件是加密的 |
| 容器配置项 | codeName 用唯一标识、githubUserName 填你的账号、repositoryName 填存放信号的仓库 | 决定信号写到哪个仓库的哪个标识下 | codeName 要与凭据文件里的写法完全一致 |
| 凭据文件 | 在 Superalgos/My-Secrets 下建 ApisSecrets.json,按 {"secrets":[{"nodeCodeName":"...","apiToken":"..."}]} 格式填入 | 用令牌把信号写入你的仓库 | 多个存储容器就写多条;这个文件不要提交、不要截图外发 |
| 社交交易应用额外配置 | 社交交易应用需要 Open Storage Container 配置(storageProvider / storageContainer)与社交身份相关节点 | 对应社交交易与 Open Storage 这组功能 | 该部分文档自述仍在开发中 |
| 网络类型对齐 | Environment.js 里的网络类型与代号要与 User Profile 里的网络配置一致 | 不一致就连不上目标网络 | permissioned 网络需要自己跑节点 |
| 令牌权限 | 按最小必要授予,仅用于写入你指定的仓库 | 令牌泄露等于别人能往你的仓库写东西 | 不要复用个人主令牌;本页不提供任何凭据代填服务 |
配置与运行分步
下面按「先身份、再网络、后信号」的顺序排列,每一步都给出可核对的预期结果。
准备并贡献 User Profile
在治理系统里建好用户档案,补齐 Server Apps(Task Server、Social Trading Server)与 Available Signals 等节点。预期:档案保存为该扩展并提交,治理仓库合并后约 10 分钟被网络节点读取。这一步不做完,后面的引用都会指向空。
按角色补齐网络与存储节点
发信号方补 P2P 网络节点(含两种网络接口、Trading Signals 服务、签名账户)与 Github Storage Container;收信号方只补 Incoming Signals 与 Task Server 引用。预期:节点树结构与官方文档描述一致。
对齐网络配置并放行端口
在 Environment.js 里把社交交易与任务服务器的目标网络类型、代号改成与档案一致;发信号方确认 websocket 端口(默认 18042)对外可达。预期:节点能被网络里的其他参与者连上。
在 Trading System 里登记收发信号
把 Trading System 的 outgoing signal 引用到 Social Trading Bot 下的对应信号,并逐条把信号引用到 Trading Strategy Signals;收集信号的一侧把信号加到 Incoming Signals。预期:设计空间里每个信号都有明确的两端引用,没有悬空节点。
给任务挂上服务器与机器人引用
在任务节点上加 Task Server Reference(指向档案里一个空闲的 Task Server)与 Social Trading Bot Reference(指向负责收发的那个机器人)。预期:任务可以启动,不报「找不到可用服务器」。
先跑测试性任务,再上生产任务
官方把任务分成测试性任务与生产性任务两类。先用测试性任务验证信号能不能正常收发与同步,再切到生产任务。预期:收信号侧能看到信号进入,且 K 线按加上的交易系统信号正常同步。
if (signals !== undefined && signals.length > 0) { true } else { false });同时必须把对应的交易系统信号一起加上,否则 K 线不会同步。具体写法以应用内文档与实际版本为准。信号网络报错怎么排查:常见现象与处理方向
下表场景来自官方 README_Signals 的排错段与 Network README 的说明,按「先看现象再看核对方式」排列。
| 现象 | 可能原因 | 核对方法 | 处理方向 |
|---|---|---|---|
报 The Network Client Identity does not match any node at User Profiles Plugins | 本地签名账户与治理扩展仓库里的账户不一致 | 比对本地档案的签名账户与已合并扩展里的账户 | 用「Add specified User Profile」把正确档案导入工作区,补全节点、引用与签名账户,保存并推送后等约 10 分钟 |
| 刚改完档案就报连不上 | 改动的合并与读取本身有约 10 分钟延迟 | 确认治理仓库里 PR 是否已被合并 | 等够窗口再重试,不要立刻改第二次 |
| 节点起不来、外部连不上 | websocket 端口(默认 18042)未放行或被防火墙拦截 | 从外部机器测端口连通性 | 按官方说明在防火墙放行该端口,并把配置里的 host 填成正确的机器 IP |
| 任务启动时报找不到服务器 | Task Server Reference 未挂或指向的服务器不空闲 | 看任务节点上的 Task Server Reference 指向 | 改指向档案里一个空闲的 Task Server |
| 收到信号但 K 线不同步 | 只加了 incoming signal,没加对应的交易系统信号 | 检查 Incoming Signals 与交易系统信号的引用是否成对 | 按官方说明补上交易系统信号 |
| 用测试网时机器学习任务互相干扰 | 官方已知问题:当前测试网与机器学习项目存在冲突 | 看是否同时跑了两类任务 | 官方表述为「本不该发生、看起来是个 bug」;换网络或错开任务来规避 |
| permissioned 网络连不上 | 该网络需要自建节点,而当前没有可用节点在跑 | 确认目标网络是否有人运行节点 | 自建并运行网络节点(node network 等) |
| 社交交易界面功能缺失 | 该应用部分模块官方文档自述仍在开发中 | 对照官方文档标注的开发状态 | 以官方文档与当前版本为准,不要按完整成品预期 |
信号网络常见问题
配置细节以官方 README_Signals、Network README 与应用内文档为准;本站未实机跑通信号收发。
Superalgos 支持跟单交易吗?
它的机制是「分发交易信号」而不是平台托管的跟单:发信号的人自己跑网络节点与任务服务器,把信号写进自己的 GitHub 仓库(加密),收信号的人通过 P2P 网络接收并把信号接入自己的交易系统。没有「点一下就跟随某个人」的官方托管服务,具体以官方文档为准。
我只想接收别人的信号,需要做什么?
比发信号轻很多:你需要一个已并入治理系统的 User Profile(用于确认信号来源)、在 Available Signals 下加 Incoming Signals、给任务挂上 Task Server 与社交交易机器人引用。官方文档明确不需要自己搭 SERVER,也不需要自己跑网络节点。
信号存在哪里?会不会泄露?
按官方文档,发信号方的信号文件存放在他自己指定的 GitHub 仓库(Github Storage Container)里,并且这些文件是加密的;访问所需的令牌写在本地 Superalgos/My-Secrets/ApisSecrets.json。也就是说存储与凭据都在参与者自己手里。请务必不要把该凭据文件提交到公开仓库或截图外发。
为什么改完配置要等 10 分钟?
因为 User Profile 的改动不是本地生效,而是要走治理仓库:保存扩展、提交、由合并机器人自动合并,之后运行中的网络节点才会读取到新档案。官方在信号与网络两份文档里都提示了这个约 10 分钟的窗口。等够时间再判断是否失败,能少走很多弯路。
报 Network Client Identity 错误怎么办?
这条错误说明本地签名账户与治理扩展仓库里的账户对不上。官方的处理方式是:用 Plugins 下的「Add specified User Profile」把正确的档案导入当前工作区,按文档补全节点、引用与签名账户,保存扩展并推送,然后等待约 10 分钟让改动生效。
能靠这些信号赚钱吗?
本站不做任何这类判断,官方文档也没有收益承诺。信号链路的可靠性取决于参与者自己的配置、网络可达性与行情条件;即使信号正常送达,实盘结果仍受滑点、费率、延迟与市场风险影响。所有内容仅供研究,不构成投资建议。
这和 EasyClaw 技能路线有什么关系?
没有已证实集成,而且能力层级不同:本机已核验的技能可以取行情、算指标、出图与做研究方法论,但没有任何技能支持 P2P 网络节点、信号分发或跟单,也不具备下单能力。两条路线是并列的:这边要自己搭网络与存储,那边是一句话提问拿研究结论。