Type/to search
2
Follow
484
Followers
Автоматизированный рабочий процесс для новых бессрочных контрактов Binance: пусть AI следит за рынком за вас
Discussions
Created 2026-03-20 09:40:26  Updated 2026-03-23 16:16:26
 0
 351

img

Термин «листинг» хорошо знаком всем на фондовом рынке. Заранее подать заявку на получение акций, а затем дождаться официального размещения, чтобы получить прибыль от ценового открытия — в этом основная логика листинга. В криптовалюте также есть возможности для листинга, и частота их появления гораздо выше, чем на фондовом рынке. Крупные централизованные биржи почти каждые несколько дней запускают новые бессрочные контракты, и эти возможности открыты для всех на равных условиях.

img

На начальном этапе запуска контракта рынок ещё не полностью определил цену данной монеты, ценовая эластичность крайне высока, и за короткое время часто наблюдаются движения, значительно превышающие обычные колебания. Заранее определить направление и войти в момент открытия — в этом и заключается возможность листинга бессрочных контрактов. Но здесь есть и проблема: до запуска нового контракта мы практически ничего не знаем о данной монете. Состав команды, токеномика, рыночные настроения, ставки финансирования… Вся эта информация требует значительного времени для сбора и анализа. Входить без достаточного понимания — это почти то же самое, что азартная игра. Изучать каждую новую монету вручную просто не получится.

Поэтому представленный сегодня рабочий процесс призван решить эту проблему: система автоматически начинает сбор данных сразу после выхода объявления, проводит непрерывный AI-анализ и помогает нам создать достаточную основу знаний до открытия торгов. Весь рабочий процесс работает круглосуточно, без необходимости ручного мониторинга: объявления о новых монетах, сбор данных, 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); }

Затем извлекаются официальные объявления Binance, чтобы определить новые монеты, скоро запускающие бессрочные контракты:

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 — Многомерный сбор данных

После обнаружения новой монеты система немедленно начинает сбор данных по трём направлениям.

Фундаментальные данные получаются через API CoinMarketCap: рыночная капитализация, доля в обращении, рейтинг 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' ]; // Для каждого запроса вызывается Brave Search API, результаты фильтруются по вхождению имени монеты, дубли удаляются и возвращаются }

Рыночные данные одновременно собираются с четырёх бирж: 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; } }

Перекрёстная проверка по нескольким биржам эффективно устраняет искажения, связанные с единственным источником данных, и обеспечивает более объёмное понимание нового токена.


Линия анализа: шаг 3 — анализ ИИ с исторической памятью

Это самая важная конструкция всего рабочего процесса.

С момента публикации объявления до официального запуска нового токена обычно проходит несколько дней. За это время система многократно собирает данные и многократно вызывает ИИ для анализа. Ключевой момент: каждый раз все предыдущие выводы передаются ИИ вместе с новыми данными, что позволяет ему делать новые умозаключения на основе предыдущих оценок.

Чтение исторических записей и внедрение их в подсказку:

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

Анализ ИИ следует нескольким ключевым принципам: при согласованности направления с историей уверенность увеличивается с каждым разом; при возникновении разворота направления необходимо чётко указать, является ли это реальным сигналом или краткосрочным шумом; при колебаниях исторических суждений уверенность должна быть консервативной и не должна завышаться безосновательно. ИИ в итоге выводит структурированное заключение:

javascript
// Структура JSON, которую выдаёт ИИ { "order": 3, "direction": "long|short|hold", "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 }));

Если направление всегда одинаково, уверенность будет увеличиваться с каждым анализом; если происходит смена направления, ИИ должен дать четкое обоснование. Накопленные таким образом суждения гораздо надежнее, чем однократный независимый анализ.


Линия исполнения: Шаг четвертый — Мониторинг листинга и безопасный вход

Высокочастотный цикл линии исполнения через 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; }

После прохождения всех проверок выполняется действие в зависимости от времени входа, указанного ИИ. Если вход немедленный, рассчитывается количество контрактов и размещается ордер:

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

Если ИИ считает, что премия при открытии слишком высока, и выбирает ожидание коррекции для входа, система записывает целевую цену и продолжает циклический опрос:

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 часа и цель не достигнута, возможность считается упущенной, и вход автоматически отменяется.


Линия исполнения: Шаг пятый — Мониторинг позиции и тейк-профит / стоп-лосс

После входа линия исполнения непрерывно отслеживает состояние позиции. Тейк-профит и стоп-лосс работают параллельно по двум механизмам:

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

Трейлинг-стоп позволяет прибыли расти как можно дольше, фиксированный тейк-профит и стоп-лосс обеспечивают базовую защиту. Все три механизма активны одновременно, срабатывает тот, который достигнут первым.


Демонстрация реальной работы

После запуска стратегии панель управления в реальном времени отображает четыре таблицы: Обзор счета показывает время работы, текущий капитал и общую доходность; Очередь отслеживания показывает статус каждой отслеживаемой монеты, обратный отсчет до листинга и количество анализов; Сводка анализа ИИ показывает последний полный вывод по каждой монете; Мониторинг текущих позиций показывает плавающую прибыль, максимальную прибыль и активацию трейлинг-стопа, поддерживает ручное закрытие и изменение параметров стоп-лосса онлайн.

img

На примере EWYUSDT, готовящегося к листингу, система с момента обнаружения объявления провела несколько последовательных анализов. Каждый раз ИИ давал направление «лонг», тренд помечался как «устойчивое усиление» — это срабатывает механизм исторической памяти: если несколько анализов совпадают по направлению, сигнал является стабильным, а не случайным колебанием данных. Последний комплексный вывод: ставки финансирования на OKX и HTX стабильно положительные, новости о листинге бессрочного контракта на корейский ETF в целом позитивные. ИИ дает направление «лонг» с уверенностью 76%, рекомендует вход сразу при открытии в ценовом диапазоне 128–130, плечо 10, стоп-лосс 5%, тейк-профит 15%, риск средний.


Границы стратегии и предупреждение о рисках

Основная проблема, которую решает данная стратегия: перед листингом новой монеты систематическим способом заменить ручной анализ для формирования понимания об этой монете и преобразовать выводы в исполняемые сигналы входа. Однако необходимо четко осознавать ее ограничения:

Волатильность новых монет чрезвычайно высока, стоп-лосс может сработать в первую же минуту после открытия. Качество анализа ИИ зависит от полноты данных; чем меньше данных до листинга, тем консервативнее суждения. Кредитное плечо усиливает как прибыль, так и убытки. Никакая стратегия не может гарантировать стабильную доходность.

Контроль размера позиции — это самое важное условие использования данной стратегии.

В настоящее время эта система является скорее отправной точкой. Торговля новыми монетами — это глубокое направление, в котором сигнальные измерения, оценка времени входа и детали управления позицией имеют большой потенциал для оптимизации. Если у вас есть собственный опыт и знания в этой области, добро пожаловать в комментарии — совместный обмен идеями поможет продвинуться дальше. Любая стратегия несет риск убытков, перед использованием обязательно доработайте логику стратегии в соответствии с вашими условиями.

Исходный код стратегии: Стратегия Binance New Listing Smart AI

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