avatar of ianzeng123 ianzeng123
关注 私信
2
关注
425
关注者

币安永续合约打新自动化工作流:让AI替你盯盘

创建于: 2026-03-20 09:40:26, 更新于: 2026-03-23 16:16:26
comments   0
hits   25

[TOC]

币安永续合约打新自动化工作流:让AI替你盯盘

打新这个词,股市里大家都不陌生。提前申购拿到筹码,等到正式挂牌那一刻享受价格发现带来的收益——这是打新的核心逻辑。币圈同样有打新机会,而且频率远比股市高得多。各大中心化交易所几乎每隔几天就有新的永续合约上线,这些机会对所有人平等开放。

币安永续合约打新自动化工作流:让AI替你盯盘

合约上线初期,市场对这个币种的定价还不充分,价格弹性极大,往往在短时间内走出远超普通行情的涨跌幅。提前判断好方向,等开盘那一刻入场,这正是永续合约打新的机会所在。但问题也在这里——新合约上线前,我们对这个币种几乎一无所知。团队背景、代币经济模型、市场情绪、资金费率……这些信息需要大量时间去收集和分析。没有充分的认知就贸然入场,和赌博没什么区别。靠人工去研究每一个新币,根本跟不上节奏。

所以今天介绍的这套工作流,就是为了解决这个问题——让系统在公告发出的第一时间自动开始采集数据、持续进行AI分析,在开盘前帮我们建立足够的认知基础。整套工作流24小时自动运行,不需要人工盯盘,新币公告、数据采集、AI分析、开盘入场,全部自动完成。

币安永续合约打新自动化工作流:让AI替你盯盘


整体架构:两条并行运行线

这套策略的架构分成两条运行线。

分析线以较长的时间间隔循环运行,负责持续监控新币上市公告、采集多维度数据、调用AI进行分析,并把每一次的分析结论积累成历史记录。执行线以非常快速的时间间隔高频循环,负责实时检测新币是否已在交易所上线,一旦检测到上线就立即读取分析结果、判断是否入场,并持续监控持仓的止盈止损。

两条线分工明确——分析线给出方向,执行线负责落地。


分析线:第一步——发现新币,建立追踪队列

分析线启动后,首先初始化全局状态,记录初始资金、运行次数等基础数据:

if (_G('nl_initialized') === null) {
  _G('nl_initialized', true);
  _G('nl_trackingList', JSON.stringify([]));
  _G('nl_STARTTIME', Date.now());
  const initAccount = exchange.GetAccount();
  _G('nl_initmoney', $vars.initmoney || initAccount.Balance);
}

然后拉取币安官方公告,识别即将上线永续合约的新币种:

const raw = HttpQuery(
  'https://www.binance.com/bapi/composite/v1/public/cms/article/list/query?type=1&pageNo=1&pageSize=10',
  { method: 'GET', headers: { 'User-Agent': 'Mozilla/5.0', 'clienttype': 'web' } }
);

识别到新币后,系统把它推入追踪队列并打上状态标记:上线前是PRE_LISTING(预追踪),上线当天切换为LAUNCH_DAY(开盘日),入场后进入TRADING(交易中),完成后置为DONE并自动清出队列。

trackingList.push({
  symbol,
  launchDate,
  status: isLaunchDay ? 'LAUNCH_DAY' : 'PRE_LISTING',
  discoveredAt: now.toISOString(),
  hoursToLaunch: isLaunchDay ? '今日发行' : hoursToLaunch,
  analysisCount: 0,
  lastAnalyzedAt: null
});

这样系统始终只关注当前真正有价值的目标,不会把精力浪费在已过期的机会上。


分析线:第二步——多维度数据采集

发现新币之后,系统立即从三个维度开始采集数据。

基本面数据通过CoinMarketCap API获取代币的市值、流通比、CMC排名等:

function fetchCMC(coin) {
  const key = $vars.cmcApiKey || '';
  const raw = HttpQuery(
    'https://pro-api.coinmarketcap.com/v1/cryptocurrency/quotes/latest?symbol=' + coin + '&convert=USD',
    { method: 'GET', headers: { 'X-CMC_PRO_API_KEY': key, 'Accept': 'application/json' } }
  );
  const c = JSON.parse(raw).data[coin];
  const q = c.quote.USD;
  const supply = c.max_supply || c.total_supply;
  return {
    name: c.name, rank: c.cmc_rank,
    circulatingSupply: c.circulating_supply,
    circulationRatio: supply
      ? parseFloat((c.circulating_supply / supply * 100).toFixed(2))
      : null,
    spotPrice: q.price,
    change1h: q.percent_change_1h,
    change24h: q.percent_change_24h,
    change7d: q.percent_change_7d,
    volume24h: q.volume_24h,
    marketCap: q.market_cap,
    fullyDilutedMarketCap: q.fully_diluted_market_cap
  };
}

舆情数据通过Brave Search抓取近期与该币相关的资金背景、团队动态、解锁计划等新闻,用三条不同关键词组合分别搜索:

function fetchBraveNews(coin) {
  const key = $vars.braveKey || '';
  const queries = [
    '"' + coin + '" token funding team',
    '"' + coin + '" vesting unlock schedule',
    '"' + coin + '" binance futures listing'
  ];
  // 对每条query调用Brave Search API,过滤命中coin名称的结果,去重后返回
}

市场行情数据同时采集Bybit、OKX、Gate、HTX四个交易所的合约行情,包括资金费率、持仓量、价差等关键指标。以OKX为例:

function fetchOKX(coin) {
  try {
    const instId = coin + '-USDT-SWAP';
    const tkRaw = HttpQuery('https://www.okx.com/api/v5/market/ticker?instId=' + instId,
      { method: 'GET', headers: { 'Accept': 'application/json' } });
    const tk = JSON.parse(tkRaw).data && JSON.parse(tkRaw).data[0];
    if (!tk) return null;
    Sleep(150);

    let fundingRate = null, nextFundingRate = null, fundingTime = null, nextFundingTime = null;
    try {
      const frRaw = HttpQuery('https://www.okx.com/api/v5/public/funding-rate?instId=' + instId,
        { method: 'GET', headers: { 'Accept': 'application/json' } });
      const fr = JSON.parse(frRaw).data && JSON.parse(frRaw).data[0];
      if (fr) {
        fundingRate = parseFloat(fr.fundingRate);
        nextFundingRate = fr.nextFundingRate !== '' ? parseFloat(fr.nextFundingRate) : null;
        fundingTime = fr.fundingTime;
        nextFundingTime = fr.nextFundingTime;
      }
    } catch(e) {}
    Sleep(150);

    let openInterest = null;
    try {
      const oiRaw = HttpQuery('https://www.okx.com/api/v5/public/open-interest?instType=SWAP&instId=' + instId,
        { method: 'GET', headers: { 'Accept': 'application/json' } });
      const oiData = JSON.parse(oiRaw).data && JSON.parse(oiRaw).data[0];
      if (oiData) openInterest = parseFloat(oiData.oiUsd);
    } catch(e) {}

    const last = parseFloat(tk.last);
    const sodUtc0 = parseFloat(tk.sodUtc0);

    return {
      price: last,
      bid1: parseFloat(tk.bidPx), bid1Size: parseFloat(tk.bidSz),
      ask1: parseFloat(tk.askPx), ask1Size: parseFloat(tk.askSz),
      spread: parseFloat((parseFloat(tk.askPx) - parseFloat(tk.bidPx)).toFixed(8)),
      change24h: parseFloat(((last - sodUtc0) / sodUtc0 * 100).toFixed(4)),
      high24h: parseFloat(tk.high24h), low24h: parseFloat(tk.low24h), open24h: parseFloat(tk.open24h),
      volume24h: parseFloat(tk.vol24h), volCcy24h: parseFloat(tk.volCcy24h),
      openInterest,
      fundingRate, nextFundingRate, fundingTime, nextFundingTime
    };
  } catch(e) { Log('OKX失败:', e.message); return null; }
}

多交易所交叉验证,能有效避免单一数据源带来的偏差,对新币的认知也更加立体。


分析线:第三步——带历史记忆的AI分析

这是整套工作流最核心的设计。

从公告发布到新币正式上线往往需要几天时间,在这段时间里系统会反复采集数据、反复调用AI分析。关键在于:每一次分析都会把之前所有的结论一并传给AI,让它在历史判断的基础上做出新的推断。

读取历史记录并注入Prompt:

const historyKey = 'nl_history_' + symbol;
const history = JSON.parse(_G(historyKey) || '[]');
const orderNum = history.length + 1;

function buildHistorySection(history) {
  if (history.length === 0) return '(这是对该币种的第一次分析,暂无历史记录)';
  return history.map(h => {
    const ai = h.aiConclusion;
    return [
      '### 第' + h.order + '次分析',
      '- 时间: ' + h.timestamp + ' | 距上线' + h.hoursToLaunch + ' | 阶段:' + h.phase,
      '- 结论: ' + ai.direction + ', 置信度' + ai.confidence + '%, 风险' + ai.riskLevel,
      '- 趋势: ' + (ai.trendConsistency || '初始'),
      '- 入场时机: ' + (ai.entryTiming || '-'),
      '- 综合判断: ' + ai.summary
    ].join('\n');
  }).join('\n\n');
}

AI分析遵循几条核心原则:历史方向一致时置信度随次数递增;出现方向反转时必须明确说明是真实信号还是短期噪音;历史判断摇摆不定时置信度保守不可盲目拔高。AI最终输出一个结构化结论:

// AI输出的JSON结构
{
  "order": 3,
  "direction": "做多|做空|观望",
  "confidence": 76,                      // 0-100整数
  "trendConsistency": "初始|强化|维持|弱化|反转",
  "reversalType": "真实信号|短期噪音|null",
  "entryTiming": "immediate|drawdown_N", // drawdown_5 表示等回调5%
  "priceRange": { "low": 128, "high": 130 },
  "leverage": 10,
  "stopLoss": 5,                         // 止损百分比
  "takeProfit": 15,                      // 止盈百分比
  "riskLevel": "高|中|低",
  "riskPoints": ["风险点1", "风险点2"],
  "keyChanges": "与上次相比最重要的数据变化",
  "summary": "100字以内综合判断"
}

分析完成后,结论存入历史记录,同时更新该币种的最终策略供执行线读取:

const record = {
  order: item.orderNum,
  timestamp: new Date().toISOString(),
  phase: item.status,
  hoursToLaunch: item.hoursToLaunch,
  currentData: item.currentData,
  aiConclusion: aiResult
};
history.push(record);
_G('nl_history_' + symbol, JSON.stringify(history));

_G('nl_strategy_' + symbol, JSON.stringify({
  symbol,
  updatedAt: new Date().toISOString(),
  phase: item.status,
  historyCount: history.length,
  aiResult
}));

如果方向始终一致,置信度会随着分析次数递增;如果出现方向反转,AI必须给出明确理由。这样积累下来的判断,远比单次独立分析要可靠得多。


执行线:第四步——上线检测与安全入场

执行线高频循环,通过exchange.GetMarkets()检测新币是否已出现在交易所合约列表中。一旦检测到上线,先过一道安全检查:

if (ai.direction === '观望') { updateStatus(symbol, 'DONE'); continue; }
if (ai.riskLevel === '高')   { updateStatus(symbol, 'DONE'); continue; }
if (ai.confidence < CONFIG.MIN_CONFIDENCE) { updateStatus(symbol, 'DONE'); continue; }
if (hasPosition(coin)) { updateStatus(symbol, 'TRADING'); continue; }

通过全部检查后,根据AI给出的入场时机执行操作。如果是立即入场,计算合约数量后直接下单:

const leverage = Math.min(ai.leverage || 5, CONFIG.MAX_LEVERAGE);
exchange.SetMarginLevel(leverage);

const allocAmount = Math.min(CONFIG.POSITION_AMOUNT, account.Balance * 0.3);
const qty = calcContractAmount(allocAmount, price, market);

if (ai.direction === '做多') {
  exchange.SetDirection('buy');
  orderId = exchange.Buy(-1, qty);
} else if (ai.direction === '做空') {
  exchange.SetDirection('sell');
  orderId = exchange.Sell(-1, qty);
}

如果AI判断开盘溢价过高,选择等待回调入场,系统记录目标价并持续轮询:

const targetPrice = ai.direction === '做多'
  ? openPrice * (1 - pct / 100)
  : openPrice * (1 + pct / 100);

_G(coin + '_nl_waitEntry', JSON.stringify({
  type: 'drawdown',
  waitStartTime: Date.now(),
  openPrice, targetPrice, drawdownPct: pct, ai
}));
updateStatus(symbol, 'TRADING_WAIT');

等待超过2小时未触发,则视为机会已过,自动放弃入场。


执行线:第五步——持仓监控与止盈止损

入场之后,执行线持续监控持仓状态。止盈止损采用两种机制并行运作:

const TP_SL = {
  DEFAULT_SL:        10,  // 默认止损 10%
  DEFAULT_TP:        25,  // 默认固定止盈 25%
  TRAILING_TRIGGER:  30,  // 浮盈达到30%时启用移动止盈
  TRAILING_DRAWDOWN:  8   // 移动止盈回撤触发比例 8%
};

// 更新最高浮盈记录
if (pnlPct / 100 > maxProfit) {
  maxProfit = pnlPct / 100;
  _G(maxProfitKey, maxProfit);
}

// 浮盈达到阈值,自动启用移动止盈
if (tpDrawdown === 0 && maxPnlPct >= TP_SL.TRAILING_TRIGGER) {
  tpDrawdown = TP_SL.TRAILING_DRAWDOWN;
  _G(tpDrawKey, tpDrawdown);
}

// 依次判断三种平仓条件,哪个先触发执行哪个
let closeReason = null;
if (tpDrawdown > 0 && drawdown >= tpDrawdown) closeReason = '移动止盈';
if (!closeReason && pnlPct <= -maxSL)          closeReason = '止损';
if (!closeReason && pnlPct >= entry.takeProfit) closeReason = '固定止盈';

if (closeReason) {
  if (isLong) { exchange.SetDirection('closebuy');  exchange.Sell(-1, amount); }
  else        { exchange.SetDirection('closesell'); exchange.Buy(-1, amount); }
  _G(maxProfitKey, null); _G(slKey, null); _G(tpDrawKey, null);
}

移动止盈让盈利尽量跑起来,固定止盈和止损则守住底线,三者同时生效,哪个先触发执行哪个。


实际运行效果展示

策略运行后,仪表板会实时展示四张状态表:账户概览显示运行时长、当前权益和总收益率;追踪队列显示每个被监控币种的状态、上线倒计时和分析次数;AI分析摘要展示每个币种最新一次的完整分析结论;实时持仓监控显示浮盈、最高浮盈和移动止盈启用情况,支持在线手动平仓和修改止损参数。

币安永续合约打新自动化工作流:让AI替你盯盘

以近期准备上线的EWYUSDT为例,系统从公告发现它开始已连续完成多次分析,每次AI给出的方向都是做多,趋势标记为”持续强化”——这正是历史记忆机制在发挥作用,多次分析方向一致,说明多方信号是稳定的,而不是某次数据波动带来的误判。最新一次综合判断:OKX和HTX资金费率稳定为正,上线韩国ETF永续的相关新闻整体正面,AI给出做多方向,置信度76%,建议在128到130价格区间开盘即时入场,10倍杠杆,止损5%,止盈15%,风险中等。


策略边界与风险提示

这套策略解决的核心问题是:在新币上线前,用系统化的方式替代人工建立对该币种的认知,并把判断结论转化为可执行的入场信号。但需要清楚认识它的局限性:

新币本身波动极大,止损可能在开盘的第一分钟内就被触发;AI的判断质量依赖数据的完整性,上线前数据越少判断越保守;杠杆放大了盈亏,任何策略都不能保证稳定盈利。

做好仓位控制,是使用这套策略最重要的前提。

这套系统目前更多是一个起点。打新是一个很有深度的方向,里面涉及的信号维度、入场时机的判断、仓位管理的细节,都还有大量可以优化的空间。如果你在打新这个领域有自己的经验和心得,欢迎在评论区交流,集思广益才能走得更远。任何策略都有亏损风险,使用前一定要根据自身情况完善策略逻辑。

策略源码:币安打新智能AI策略

相关推荐