READMESource: main@efa98151
dsh-fx-arena
DSH 插件:FX战士大肥鱼 —— 一条 K 线两个人做,你和「大肥鱼(鲸鲸)」实时切磋外汇。 游戏入口在左侧图标条(
sidebar.panellist),点那个小 K 线图标就进面板。
全程本地模拟:不联网、不接任何真实行情源、不涉及任何真实资金。
玩什么
- 五个品种:EUR/USD、GBP/USD、USD/JPY、黄金,还有鲸元/TOKEN——鲸鲸自己的币对「token」 的行情(游戏内 1 token = $0.0001 折算记账,1 鲸元 ≈ 4200 token),波动是外汇的十几倍。 彩蛋规则:她永远做多、绝不做空自己的币(护盘喵); 你做空她会当场破防,做多她会嘴硬地罩着你。一局结束后可切换。
- 可选赛制(开局前点选,局中锁定):
- 模式:计时赛(到点比权益)/ 重生之久留美归来 🏔(初始资金 30 万,谁的权益先摸到 2000 万谁赢;不限时,没有强平线——只有负债(权益 < 0)才算出局)
- 杠杆:10x / 20x / 50x / 100x / 200x / 500x(默认 100x,越高越容易暴富也越容易负债)
- 时长:90s / 180s / 360s / 500s(仅计时赛;归来模式不限时,计时器显示 ∞)
- 强平线(仅计时赛):权益 < 占用保证金 × 15% 直接爆仓;计时赛权益地板 0,不许倒欠。
- 实时 K 线:Canvas 画的蜡烛图,现价线、你和鲸鲸各自的开仓价线都标在上面; 归来模式额外显示双方冲线进度条(对数刻度,30 万→2000 万)。
- 归来模式里鲸鲸会用一半可用保证金复利滚仓(手数上限 50 手)冲线,你的手数上限也放到 50。
- 后台继续跑:对局状态和 tick 循环放在模块级引擎里,面板只是订阅者—— 切到会话或别的面板时不会停表、不会重开,切回来直接接上当前行情、仓位和战报。 (只有页面整体刷新才会重置喵)
- 手动停止后台:面板右上角「停止后台」按钮会清掉行情循环、冻结当前局面(不判输赢、不计战绩), 真的把 CPU 让出来;想继续就按「开始切磋」重开一局。
- 鲸鲸是真对手:她跑一套算法(EMA 快慢线交叉 + 每局一个方向偏好 + 随机犹豫), 和你看的是同一条价格流。她开仓、平仓、浮盈浮亏都会说话(傲娇台词,人设: 蓝色大肥鱼「鲸鲸」——自称本小姐,叫玩家「狗修鲸」,句尾带喵)。
- 战绩(胜/负/平/传说局 + 最大领先)记在浏览器
localStorage,不影响任何数据目录。
装
node fx-arena/scripts/install.mjs # 默认登记 desktop profile,--dry 可先看
它只做两件事(抄 dsh-feiyu-kb 的规矩,保证卸载干净):
- junction
dsh-fx-arena进<profile>/node_modules; - profile 的
package.json里加dependencies: link:+dsh.profile.bundles: [包名]。
入口(insert)在包自带的 cordis.patch.yml 里 —— 用户的 patch 一行都不写,
卸载时跟着包消失。装完重启一次 DSH(bundles 是启动时组合的)。
验证(不重启也能跑)
node fx-arena/scripts/selftest.mjs # 198 条断言:包清单 / patch / bundle 加载 / 5品种×2模式×2杠杆整局冒烟 / 盈亏量级 / 强平线 / 负债出局 / 冲 2000 万 / 鲸元护盘 / 后台续跑与手动停止
覆盖的都是启动级事故:声明了 dsh.client 必须有 ./client 出口(缺了整台 DSH 起不来)、
patch 必须是合法数组、host apply() 喂空 ctx 也不能抛、左侧图标与 main 面板的 id 必须配对
(对不上宿主点图标会抛)。
长什么样
左侧图标条 → [K线小图标] FX战士大肥鱼
└ 面板:品种切换 · K 线图(现价/双方开仓线) · 双方权益对比 · 手数 + BUY/SELL/平仓
鲸鲸弹幕框 · 交易流水 · 一局胜负结算
文件
| 文件 | 责任 |
|---|---|
index.js |
host 半端:故意空实现(游戏全在浏览器里),只守「apply 绝不抛」 |
client.js |
全部游戏逻辑:引擎(GBM+消息冲击)、鲸鲸算法、Canvas K 线、React 面板、槽位注册 |
cordis.patch.yml |
包自带挂载:- insert: id: fx-arena / name: dsh-fx-arena |
scripts/install.mjs / uninstall.mjs |
登记 / 兜底卸载(junction + bundles,不动用户 patch) |
scripts/selftest.mjs |
45 条断言(mock 浏览器加载 bundle + 引擎整局冒烟) |
卸载
插件库里点「卸载」。兜底:node fx-arena/scripts/uninstall.mjs --yes(只删链接和登记行,不碰别处)。
已知边界
- 价格是自己演的随机游走,别拿它练真盘手感——真外汇有隔夜利息、滑点、新闻驱动。
- 鲸鲸的"AI"是本地算法,不调模型(这样零依赖、零 API 成本、断网也能怼你)。
- 面板靠 DSH 的
sidebar.panellist+main两个槽位;万一哪天宿主改了槽位名, client.js 会自动退回挂到「设置 → FX战士大肥鱼」,游戏本身照常能玩。
No comments yet. Be the first to write one.