Type/to search
2
Follow
484
Followers
바이낸스 무기한 선물 계약 신규 상장 자동화 워크플로우: AI가 당신을 대신해 시장을 모니터링하게 하세요
Discussions
Created 2026-03-20 09:40:26  Updated 2026-03-23 16:16:26
 0
 351

img

신주 청약(打新)이라는 용어는 주식 시장에서 누구나 익숙합니다. 미리 청약하여 물량을 확보하고, 정식 상장 시점에 가격 발견을 통해 수익을 얻는 것이 신주 청약의 핵심 로직입니다. 가상자산 시장에도 신주 청약 기회가 있으며, 주식 시장보다 훨씬 빈도가 높습니다. 주요 중앙화 거래소는 거의 며칠 간격으로 새로운 무기한 계약을 상장하며, 이러한 기회는 모든 사람에게 평등하게 열려 있습니다.

img

계약 상장 초기에는 시장에서 해당 종목의 가격이 충분히 결정되지 않아 가격 탄력성이 매우 크며, 단기간에 일반 시세보다 훨씬 큰 변동폭을 보이는 경우가 많습니다. 미리 방향을 예측하고 개장 시점에 진입하는 것이 바로 무기한 계약 신주 청약의 기회입니다. 하지만 문제는 여기에 있습니다. 새 계약이 상장되기 전에 우리는 해당 종목에 대해 거의 아무것도 모릅니다. 팀 배경, 토큰 이코노미 모델, 시장 심리, 자금 조달 비율…… 이러한 정보를 수집하고 분석하는 데는 많은 시간이 필요합니다. 충분한 인식 없이 무턱대고 진입하는 것은 도박과 다를 바 없습니다. 수동으로 모든 신규 종목을 연구하는 것은 속도를 따라갈 수 없습니다.

그래서 오늘 소개하는 이 워크플로우는 바로 이 문제를 해결하기 위해 설계되었습니다. 시스템이 공지가 발표되는 즉시 자동으로 데이터 수집을 시작하고, 지속적으로 AI 분석을 수행하며, 개장 전에 충분한 인식 기반을 구축할 수 있도록 돕습니다. 전체 워크플로우는 24시간 자동으로 실행되며, 수동으로 모니터링할 필요 없이 신규 종목 공지, 데이터 수집, AI 분석, 개장 진입까지 모두 자동으로 완료됩니다.

img


전체 구조: 두 개의 병렬 실행 라인

이 전략의 구조는 두 개의 실행 라인으로 나뉩니다.

분석 라인은 비교적 긴 시간 간격으로 순환 실행되며, 신규 종목 상장 공지를 지속적으로 모니터링하고, 다차원 데이터를 수집하며, AI를 호출하여 분석하고, 각 분석 결과를 과거 기록으로 축적합니다. 실행 라인은 매우 빠른 시간 간격으로 고주파 순환하며, 신규 종목이 거래소에 상장되었는지 실시간으로 감지하고, 상장이 감지되면 즉시 분석 결과를 읽어 진입 여부를 판단하며, 보유 포지션의 손절매와 이익 실현을 지속적으로 모니터링합니다.

두 라인은 역할이 명확히 구분됩니다. 분석 라인이 방향을 제시하고, 실행 라인이 실행을 담당합니다.


분석 라인: 1단계 – 신규 종목 발견 및 트래킹 대기열 구축

분석 라인이 시작되면 먼저 전역 상태를 초기화하고 초기 자금, 실행 횟수 등 기본 데이터를 기록합니다.

javascript
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); }

그런 다음 바이낸스 공식 공지를 가져와 곧 상장될 무기한 계약의 신규 종목을 식별합니다.

javascript
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으로 설정되며 자동으로 대기열에서 제거됩니다.

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

이렇게 하면 시스템은 항상 현재 실제로 가치 있는 목표에만 집중하며, 이미 만료된 기회에 리소스를 낭비하지 않습니다.


분석 라인: 2단계 – 다차원 데이터 수집

새로운 종목이 발견되면 시스템은 즉시 세 가지 차원에서 데이터 수집을 시작합니다.

기본 데이터는 CoinMarketCap API를 통해 토큰의 시가총액, 유통 비율, CMC 순위 등을 가져옵니다.

javascript
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를 통해 최근 해당 종목과 관련된 자금 배경, 팀 동향, 잠금 해제 계획 등의 뉴스를 수집하며, 세 가지 다른 키워드 조합으로 각각 검색합니다.

javascript
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를 예로 들면:

javascript
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에 주입:

javascript
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는 최종적으로 구조화된 결론을 출력합니다:

javascript
// 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字以内综合判断" }

분석이 완료되면 결론을 히스토리 기록에 저장하고, 해당 코인의 최종 전략을 업데이트하여 실행 라인이 읽을 수 있도록 합니다.

javascript
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는 명확한 이유를 제시해야 합니다. 이렇게 축적된 판단은 단일 독립 분석보다 훨씬 더 신뢰할 수 있습니다.


실행 라인: 4단계 – 상장 감지 및 안전 진입

실행 라인은 고빈도 루프를 통해 exchange.GetMarkets()로 새 코인이 거래소의 선물 계약 목록에 나타났는지 감지합니다. 상장이 감지되면 먼저 안전 점검을 통과합니다:

javascript
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가 제시한 진입 시점에 따라 작업을 실행합니다. 즉시 진입인 경우 계약 수량을 계산한 후 직접 주문합니다:

javascript
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가 오프닝 프리미엄이 너무 높다고 판단하여 조정을 기다리며 진입하는 경우, 시스템은 목표 가격을 기록하고 지속적으로 폴링합니다:

javascript
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시간 이상 대기해도 트리거되지 않으면 기회가 지난 것으로 간주하고 자동으로 진입을 포기합니다.


실행 라인: 5단계 – 포지션 모니터링 및 손익절

진입 후 실행 라인은 지속적으로 포지션 상태를 모니터링합니다. 손익절은 두 가지 메커니즘을 병행하여 운영합니다:

javascript
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 분석 요약은 각 코인의 최신 완전한 분석 결론을 표시합니다. 실시간 포지션 모니터링은 미실현 손익, 최고 미실현 이익 및 트레일링 익절 활성화 여부를 표시하며, 온라인 수동 청산 및 손절 매개변수 수정을 지원합니다.

img

최근 상장 예정인 EWYUSDT를 예로 들면, 시스템이 공지에서 이를 발견한 후 연속으로 여러 번의 분석을 완료했습니다. 매번 AI가 제시한 방향은 롱이었고, 추세는 '지속 강화'로 표시되었습니다 – 이는 바로 과거 기억 메커니즘이 작동하고 있음을 나타냅니다. 여러 번의 분석 방향이 일치하면 상승 신호가 안정적임을 의미하며, 특정 데이터 변동으로 인한 오판이 아닙니다. 가장 최근 종합 판단: OKX와 HTX의 펀딩 비율이 안정적으로 양수이고, 한국 상장 ETF 무기한 관련 뉴스가 전반적으로 긍정적이며, AI가 롱 방향을 제시하고 신뢰도 76%, 가격대 128~130에서 오픈 직후 진입, 레버리지 10배, 손절 5%, 익절 15%, 위험도 중간을 권장합니다.


전략의 한계와 위험 공지

이 전략이 해결하는 핵심 문제는: 새 코인이 상장되기 전에 체계적인 방식으로 해당 코인에 대한 인식을 수립하고, 판단 결론을 실행 가능한 진입 신호로 변환하는 것입니다. 그러나 그 한계를 명확히 인식해야 합니다:

새 코인 자체의 변동성이 매우 커서, 손절은 오프닝 첫 1분 안에 트리거될 수 있습니다. AI의 판단 품질은 데이터의 완전성에 의존하며, 상장 전 데이터가 적을수록 판단은 더 보수적입니다. 레버리지는 손익을 확대하며, 어떤 전략도 안정적인 수익을 보장할 수 없습니다.

포지션 관리를 철저히 하는 것이 이 전략 사용의 가장 중요한 전제 조건입니다.

이 시스템은 현재 더 많은 출발점에 가깝습니다. 신규 상장(打新)은 매우 깊이 있는 방향으로, 관련된 신호 차원, 진입 시점 판단, 포지션 관리의 세부 사항 등 최적화할 여지가 많습니다. 신규 상장 분야에 자신만의 경험과 노하우가 있다면 댓글로 공유해 주시기 바랍니다. 다양한 의견을 모아야 더 멀리 나아갈 수 있습니다. 모든 전략에는 손실 위험이 있으며, 사용 전에 반드시 자신의 상황에 맞게 전략 로직을 완성해야 합니다.

전략 소스 코드: Binance 신규 상장 AI 전략

Comment
All comments (0)
No data
No data
  • 1
iPhone Download
Forums
PINE Language
© 2015 - ∞ INVENTOR PTE LTD (SG)