输入/搜索内容
2
关注
484
关注者
妖币暴涨别慌!工作流做空,精准踩回调
交流分享
创建于 2026-03-06 10:15:08  更新于 2026-03-12 12:01:05
 0
 565

img

本文策略由用户 @Gianbin 开源分享,基于我们之前的工作流双交易路线框架改造而来。感谢慷慨分享,以下是完整的策略逻辑拆解。


一、策略核心理念:反向思维做空妖币

币圈里经常出现"妖币"——一天涨幅三四十甚至翻倍。这类币看起来诱人,但涨得越猛,往往回调越狠

这个策略就抓住了这个特点:

  • 从币安24小时涨幅榜筛选出涨势最猛的币种
  • 用AI多因子模型分析哪些已经"涨到头了"
  • 开空单等待回落,赚追高被套者的钱

整体资金管理原则:固定50U开仓,总头寸控制在500U以内,风险相对可控。


二、工作流整体架构

img

策略分为两条独立流程,各司其职:

主交易流程(每15分钟):筛选涨幅榜 → 收集数据 → AI分析 → 执行开仓

风控监控流程(每5秒):实时盯盘 → 止盈止损检测 → 倒金字塔加仓 → 可视化仪表板

策略决策可以慢慢跑,但风控反应必须快。这也是为什么两条线的触发频率差距如此之大。


三、主交易流程详解

第一步:筛选涨幅榜妖币

定时触发器每隔15分钟启动一次,从币安拉取所有USDT永续合约行情,筛选出24小时涨幅超过10%的币种,取前20名。同时自动排除已持仓的标的,避免重复建仓。

javascript
// 核心筛选逻辑(节选) const minChange = $vars.minChange || 0.1; // 默认涨幅阈值10% const topN = $vars.topN; // 取前N名,默认20 // 过滤USDT永续合约,计算24h涨幅 const change24h = open24h > 0 ? (price - open24h) / open24h : 0; if (change24h < minChange) continue; // 低于阈值直接跳过 // 排除已持仓币种 if (excludeHolding && holdingSymbols.indexOf(symbol) !== -1) continue; // 按涨幅降序,取前N名 usdtPairs.sort((a, b) => b.change24h - a.change24h); const topGainers = usdtPairs.slice(0, topN);

这一步相当于"海选",把最猛的妖币先捞出来备用。


第二步:多维度数据收集

光看涨幅不够,系统还会同步收集以下数据,为AI分析做准备:

数据维度含义用途
持仓量(OI)合约市场总持仓规模衡量流动性与市场热度
资金费率多空双方支付比例判断做空是否已过度拥挤
市值(MCap)流通市值计算OI/MCap杠杆率
K线数据日线OHLCV技术形态分析

其中OI/MCap比率是核心指标——这个比率越高,说明市场杠杆越高,爆仓风险越大,做空的胜算越高

javascript
// 通过币安API获取持仓量(节选) const ret = exchange.IO("api", "GET", "/fapi/v1/openInterest", "symbol=" + symbol); if (ret && ret.openInterest) { openInterest = parseFloat(ret.openInterest) * coin.price; // 折算成USD } // 计算OI/MCap比率 const oiMcapRatio = marketCap > 0 ? openInterest / marketCap : 0;

市值数据从CoinMarketCap API获取,并做了30分钟本地缓存,避免频繁调用外部接口。


第三步:AI六因子评分系统

这是整个策略的核心。收集到数据后,打包送给AI(这里用的是x-ai/grok-4.1-fast)进行评分,满分10分,只有达到8分以上的标的才会进入候选开仓名单。

六个因子及权重

因子权重评分逻辑
OI/MCap比率3.5>35%得满分,杠杆越高越危险
K线形态2.8长上影线/高位十字星等见顶信号得高分
持仓量1.5流动性越好得分越高
成交量1.5交易越活跃得分越高
涨幅0.5已通过初筛,区分度较低
资金费率0.2多头越拥挤得分越高

OI/MCap比率权重最高(3.5分),是因为它直接反映市场杠杆程度——杠杆越高,一旦反转就越容易引发踩踏式平仓,做空的赔率更好。

K线形态评分规则

长上影线突破新高(2.8分):high创新高,且上影线 > 实体 × 2
高位长上影线(2.4分):上影线 > 实体 × 2,且收盘接近24h最高价
高量阴线(2.0分):收阴,且成交量 > 前日 × 1.5
高位十字星(1.8分):实体 < 振幅 × 0.1,且价格接近最高位
连续两根阴线(1.5分)

硬性过滤条件(打分前先过)

在AI评分之前,策略会先做几道硬过滤,不满足直接跳过不评分:

  1. 已持仓 → 跳过(防止重仓)
  2. 资金费率 < -0.20% → 跳过(空头已过度拥挤)
  3. 持仓量 < 3000万美元 → 跳过(流动性不足)
  4. 周线回撤 > 5% → 跳过(距最高点太远,可能已跌过一波)
  5. 日内回撤 > 5% → 跳过(今日已从高点回落,不在高位)
javascript
// 周线最高价计算(节选) const weeklyHigh = Math.max(...klines.slice(-7).map(k => k.high)); const weeklyDrawdown = (weeklyHigh - price) / weeklyHigh; if (weeklyDrawdown > 0.05) { // 距周线高点超5%,跳过 filtered.weeklyDrawdown++; continue; }

最终决策逻辑

总分 ≥ 8.0 且日内回撤 ≤ 5% 时,进入决策判断:资金费率 ≥ -0.15% 则输出「开空」;资金费率在 -0.20%~-0.15% 之间则输出「谨慎开空」。总分 < 8.0 的标的不输出、不开仓。


第四步:交易执行

AI输出JSON格式的决策结果,交易执行节点解析后下单:

javascript
// 执行开空(节选) function executeShort(coin, signalInfo) { exchange.SetCurrency(coin + '_USDT'); exchange.SetContractType("swap"); exchange.SetMarginLevel(CONFIG.DEFAULT_LEVERAGE); // 设置需求杠杆 // 根据固定金额计算张数 const contractAmount = calculateContractAmount( CONFIG.FIXED_AMOUNT_USD, // 固定50U currentPrice, market ); exchange.SetDirection("sell"); const orderId = exchange.Sell(-1, contractAmount); // 市价开空 if (orderId) { _G(`${coin}_USDT.swap_maxprofit`, 0); // 初始化最高盈利记录 Log(`✅ ${coin}: 开空成功 评分${signalInfo.score}`); } }

每次开仓固定50U,风险单一可控。


四、风控监控流程详解

每5秒触发一次,持续盯着所有持仓,执行两个核心功能:倒金字塔加仓止盈止损

倒金字塔加仓

这是这个策略最有意思的设计。做空之后,如果价格不跌反涨,正常人会止损跑路。但这个策略选择逆势加仓——越涨越加,因为涨得越高,最终回调的幅度往往越大。

加仓规则如下:

初始开仓 50U(开仓价记为 P0)。若价格从 P0 上涨 50%,触发第一次加仓 150U,记录此时价格为 P1。若价格从 P1 继续上涨 70%,再触发第二次加仓 300U。最多加仓两次,三笔合计总头寸上限 500U(50 + 150 + 300)。

javascript
// 加仓触发检测(节选) function checkAndExecutePyramidAdd(coin, entryPrice, currentPrice, isShort) { const addCount = _G(addCountKey) || 0; if (addCount >= 2) return null; // 最多加仓两次 if (addCount === 0) { // 第一次加仓:从开仓价涨50%触发 triggerPrice = storedEntryPrice * (1 + PYRAMID_CONFIG.ADD1_TRIGGER); addAmount = PYRAMID_CONFIG.ADD1_AMOUNT; // 150U } else if (addCount === 1) { // 第二次加仓:从第一次加仓价涨70%触发 triggerPrice = add1Price * (1 + PYRAMID_CONFIG.ADD2_TRIGGER); addAmount = PYRAMID_CONFIG.ADD2_AMOUNT; // 300U } if (currentPrice >= triggerPrice) { return { level: addCount + 1, amount: addAmount, triggerPrice, currentPrice }; } return null; }

这个设计的逻辑:妖币越涨越亢奋,泡沫越吹越大,最终回调时因为高杠杆踩踏会更猛烈。在高位持有更大仓位,一旦反转利润成倍放大。

风险也很明显:如果币种真的一直涨不回来(比如遇到真正的牛市单边行情),亏损同样会放大,因此账户应该持有足够的金额应对波动风险,防止被爆仓强平。在同时策略明确头寸上限500U,不会无限加仓。


止盈止损机制

止盈采用回撤止盈模式,而非固定止盈:

当持仓最高盈利达到 35% 时,自动启动回撤监控;一旦从最高盈利点回撤 5%,立即触发平仓。

这样设计的好处是"让利润奔跑"——不会因为提前止盈错过更大利润,同时也不会坐电梯把浮盈全吐回去。

javascript
// 自动止盈触发逻辑(节选) if (enableAutoTpDrawdown && isShort && tpDrawdown === 0 && maxPnlPercent >= autoTpTrigger) { tpDrawdown = autoTpDrawdownValue; // 设置5%回撤止盈 _G(tpDrawdownKey, tpDrawdown); Log(`🎯 ${coin} 最高盈亏达${maxPnlPercent}%,自动启用止盈回撤5%`); } // 触发止盈 if (tpDrawdown > 0 && maxPnlPercent > 0 && drawdown >= tpDrawdown) { autoCloseReason = `止盈回撤(回撤${drawdown}%≥${tpDrawdown}%)`; }

止损方面,支持手动设置固定百分比止损,作为底线保护。


五、可视化仪表板

img

策略内置四个监控面板,方便实时掌握运行状态:

账户概览:权益、累计盈亏、盈利率、账户杠杆(带风险等级颜色提示)

AI信号表:记录每次AI决策的评分、决策结论、各因子得分和分析原因,不用猜AI在想什么

持仓监控表:实时显示每个仓位的入场价、当前价、浮盈浮亏、最高盈利记录、当前回撤、加仓触发价格,以及止盈止损状态

网格详情:持仓配合网格交易时的订单状态

每隔5秒刷新一次,通过FMZ平台的LogStatus渲染为交互式表格,支持直接点击平仓、修改止盈止损参数等操作。


六、策略优缺点客观评估

优势

逆向思维,天然有对手盘。当市场追涨时做空,流动性充足,滑点小。

AI多因子筛选,不是盲目做空。六个维度综合评分,过滤掉大量低质量信号,只做评分8分以上的标的。

倒金字塔配合回撤止盈,盈亏比不错。高位越涨越加仓,反转幅度大,潜在利润高;止盈不固定,让利润充分释放。

头寸严格控制。单笔最多500U,即便全亏也是可承受的。

风险与局限

遭遇单边牛市时会持续亏损。如果市场进入强势上涨周期,做空涨幅榜可能连续踩坑。

倒金字塔加仓是双刃剑。逆势加仓放大了胜利时的利润,同样也放大了失败时的亏损。如果妖币真的一直涨(比如某项目有重大利好),三次仓位全部亏损,损失最大500U。

适用场景:震荡市或熊市环境,不适合单边牛市。在使用前需要对大盘环境有基本判断。


七、写在最后

这个策略的核心思路:用数据和AI取代主观判断,用严格的头寸控制替代侥幸心理

不论是六因子评分体系的设计,还是OI/MCap比率作为核心指标的选择,都能看出作者对市场微观结构有扎实的认知——知道什么指标真正有用,什么是噪音。

当然,任何策略都有其适用边界。工具是死的,市场是活的。建议在实盘之前充分回测,根据自己的风险承受能力调整参数,不要无脑照搬。


特别感谢用户 @Gianbin 将这套策略毫无保留地分享了策略思路。正是这种开源精神,让更多人有机会学习和探索量化交易的可能性。如果你也有好的策略思路,欢迎交流!

评论
全部评论 (0)
暂无数据
暂无数据
  • 1
iPhone 下载
社区
回测系统
© 2015 - ∞ INVENTOR PTE LTD (SG)