[TOC]

Криптовалютный рынок каждый день преподносит новую картину. Сегодня лидирует Биткоин, завтра его опережает Эфириум, а послезавтра даже такие малоизвестные монеты, как ZEC, могут показать положительную динамику. Различные монеты поочередно растут и падают, а фокус внимания смещается настолько быстро, что это вызывает головокружение. Институциональные инвесторы располагают профессиональными командами, круглосуточно отслеживающими рынок, и инсайдерской информацией, позволяющей им занимать выгодные позиции заранее; но для розничных инвесторов такая быстрая ротация рынка часто означает либо упустить возможность, либо купить на пике и попасть в ловушку.
Традиционные стратегии ротации являются классикой в финансовой сфере — институциональные инвесторы используют их для ротации секторов и активов с хорошими результатами. Однако проблема заключается в том, что традиционная ротация требует макроэкономического подхода; необходимо оценивать, какие секторы будут расти и когда следует переключиться. Для розничных инвесторов, не обладающих инсайдерской информацией и имеющих замедленную реакцию, это в основном основано на интуиции, и вероятность успеха предсказуемо низка. Что, если бы это делал ИИ? Он мог бы круглосуточно отслеживать технические индикаторы, собирать новости и анализировать активы, не принимая импульсивных решений, основанных на эмоциональных колебаниях. Сегодня я использую рабочий процесс платформы Inventor Quantitative Platform для реализации такой системы ротации на основе ИИ и поделюсь с вами полной логикой реализации.

Основная концепция конструкции этой системы управления колесами с помощью искусственного интеллекта заключается в следующем:Пусть технические индикаторы проводят отбор, анализ новостей проверяет достоверность, а искусственный интеллект осуществляет окончательный контроль.Вся система разделена на три основных модуля:
Система сначала оценивает каждую высоколиквидную криптовалюту (отсортированную по объему торгов за 24 часа) с использованием многопериодной системы скользящих средних. Эта система оценки включает три параметра:
Схема выравнивания скользящих средних(оценка аранжировки: от -4 до +4)
Расстояние между точками дивергенции скользящей средней(gapScore)
Изменения временного ряда скользящего среднего(timeSeriesScore: от -4 до +4)
Формула расчета итогового общего балла:
\[ Оценка = расстояние между точками диффузии × оценка расположения × оценка вариации временного ряда \]
Прелесть этой формулы заключается в следующем:Результат будет иметь значение только в том случае, если все три показателя будут совпадать одновременно.Если скользящие средние хорошо выровнены, но расстояние между ними сокращается, это указывает на ослабление тренда, и показатель будет не очень высоким.
1. Многоцикловая конструкция
var s = exchange.GetRecords(processedSymbol, wheelPeriod / 4); // 短期
var ms = exchange.GetRecords(processedSymbol, wheelPeriod / 2); // 中短期
var ml = exchange.GetRecords(processedSymbol, wheelPeriod * 2); // 中长期
var ls = exchange.GetRecords(processedSymbol, wheelPeriod * 4); // 长期
Если wheelPeriod=60 минут, то фактические временные интервалы составляют: 15 минут, 30 минут, 120 минут и 240 минут, охватывая краткосрочные, среднесрочные и долгосрочные тренды.
2. Логика подсчета баллов для различных вариантов расположения элементов.
if (bullCount == 3) {
arrangementScore = 4; // 完美多头排列
} else if (bearCount == 3) {
arrangementScore = -4; // 完美空头排列
} else if (bullCount == 2) {
// 连续的两个条件得分更高
if ((compare1 > 0 && compare2 > 0) || (compare2 > 0 && compare3 > 0)) {
arrangementScore = 3;
} else {
arrangementScore = 2;
}
}
Суть подхода заключается в том, что непрерывное расположение скользящих средних дает более высокие результаты, чем рассеянное, поскольку непрерывное расположение указывает на более четкую тенденцию.
3. Нелинейная структура комплексного балла
if (gapScore > 0) {
comprehensiveScore = gapScore * arrangementScore * timeSeriesScore;
} else if (gapScore < 0) {
comprehensiveScore = gapScore * Math.abs(arrangementScore) * Math.abs(timeSeriesScore);
}
Данная конструкция гарантирует, что:
Система автоматически отфильтрует две группы валют:
Но здесь есть ключевой элемент дизайна:Если у вас уже есть длинная позиция по определенной криптовалюте, система добавит ее в положительную группу, даже если она не входит в топ-5.То же самое относится и к отсутствию позиций. Это позволяет искусственному интеллекту постоянно отслеживать ваши активы и определять, нужно ли вам зафиксировать стоп-лосс или развернуть позицию.
Одних лишь технических сигналов недостаточно; нам также необходимо понимать рынок.ПочемуПроцесс будет проходить следующим образом. Система будет автоматически получать 5 самых последних новостей по каждой криптовалюте (через API CryptoCompare), которые могут включать информацию о ходе реализации проекта, деятельности институциональных инвесторов, новостях от регулирующих органов и т. д.
Роль новостного освещения заключается в следующем:Проверьте достоверность технических сигналов.:
Важно отметить, что при получении новостей могут возникать задержки или пропуски (ограничения API, менее популярные криптовалюты и т. д.). Однако основной принцип работы системы таков:Новости носят вспомогательный, а не обязательный характер.Если новости отсутствуют, ИИ пометит их как «Новости отсутствуют, чисто техническая оценка», а затем примет решение на основе технических индикаторов и позиций.
Это душа всей системы. Искусственный интеллект не является главным исполнителем стратегии, но…Консультант по надзору— Обеспечьте дополнительный уровень оценки в критические моменты для выявления рисков, которые не могут быть зафиксированы техническими сигналами.
Система предоставит искусственному интеллекту всю следующую информацию:
Искусственный интеллект должен справляться с тремя основными сценариями:
Сценарий 1: Нет открытых позиций → Определить, следует ли открывать позицию
| Техническая мощность сигнала | Освещение в новостях | Риск | Принятие решений с помощью ИИ |
|---|---|---|---|
| Высокий (абсолютный балл > 0,05) | Поддержка/Нейтрально/Нет новостей | никто | Открыть длинную позицию/открыть короткую позицию |
| мощный | противоречие | никто | Подождем и увидим |
| Слабый (,02) | Любые. | никто | Подождем и увидим |
Сценарий 2: Удержание позиций в одном направлении → Определить, следует ли продолжать удерживать позиции.
В данном случае «в том же направлении» означает, что направление позиции соответствует техническому сигналу (например, длинная позиция, а технический индикатор показывает бычий тренд). Система специально отметит «длинная позиция, но сила индикатора не входит в число лучших», что означает, что, хотя эта длинная позиция все еще находится в списке бычьих позиций, она больше не входит в топ-5, и тренд ослабевает.
| состояние сигнала | Освещение в новостях | Прибыль и убытки | Принятие решений с помощью ИИ |
|---|---|---|---|
| В первых 5/последних 5 | Стабильная работа/Поддерживается/Нет новостей | Любые. | держать |
| В первых 5/последних 5 | Факторы, препятствующие улучшению ситуации/негативные факторы | выгода | Равновесие |
| Не в числе лучших | Стабильное состояние/Нет новостей | выгода | Удержание (наблюдение) |
| Не в числе лучших | Стабильное состояние/Нет новостей | Потеря | Закрыть позицию (стоп-лосс) |
| Не в числе лучших | Факторы, препятствующие улучшению ситуации/негативные факторы | Любые. | Равновесие |
Сценарий 3: Изменение позиции → Определить, следует ли закрыть/изменить позицию.
Это супервизор на основе искусственного интеллекта.Сценарии основных ценностейОбратная позиция — это позиция, удерживаемая в направлении, противоположном техническому сигналу (например, удержание длинной позиции, даже если технические индикаторы стали медвежьими).
| абсолютное значение балла | Освещение в новостях | Принятие решений с помощью ИИ |
|---|---|---|
| Сильный (>0,05) | Подтвердить разворот | Реверсивное положение (открытие реверсивного положения после закрытия предыдущего положения) |
| Сильный (>0,05) | Нейтральный/Нет новостей | бэкхенд |
| Сильный (>0,05) | противоречие | Закрытие позиций (консервативный подход при наличии технических и новостных противоречий) |
| Средний (0,02-0,05) | Подтвердить разворот | бэкхенд |
| Средний (0,02-0,05) | Нейтральный/Нет новостей | Близкое расположение (недостаточно сильный сигнал) |
| Средний (0,02-0,05) | противоречие | Равновесие |
| Слабый (,02) | Любые. | Удержание (наблюдение, сигнал слишком слабый) |
Строгие условия для выполнения ударов обратной стороной ладони.(Необходимо одновременное выполнение нескольких условий):
Если направление неверное, исправьте его. Сильный сигнал + подтвержденный разворот = решительно развернуть позицию; сильный сигнал + противоречивые новости = осторожно закрыть позицию; средний сигнал = развернуть позицию только тогда, когда новости подтвердят ее, в противном случае закрыть позицию; слабый сигнал = продолжать наблюдение и не спешить с действиями.
Формат решения, выдаваемый искусственным интеллектом, выглядит следующим образом:
[
{
"symbol": "BTCUSDT",
"currentPosition": "无持仓",
"score": 0.0856,
"newsAnalysis": "机构增持,生态扩张",
"overallJudgment": "技术多头强劲,新闻面支持,开多",
"decision": "开多"
},
{
"symbol": "ETHUSDT",
"currentPosition": "持有空仓",
"score": 0.0623,
"newsAnalysis": "质押增加,资金流入",
"overallJudgment": "反向持仓亏损,技术已转多,止损",
"decision": "平仓"
}
]
После принятия решения искусственным интеллектом система автоматически выполняет транзакцию. Для этого используется…Фиксированная сумма сделкимеханизм:
Предположим, вы устанавливаете каждую транзакцию на уровне 100 USDT, независимо от того, составляет ли цена монеты 100 USDT или 10 000 USDT. Система рассчитает, сколько контрактов нужно открыть, исходя из 100 USDT. Формула расчета:
合约张数 = 金额(U) / 当前价格 / 合约面值(CtVal)
Например:
Система обработает это автоматически:
У этого есть два преимущества:
После совершения транзакции по-прежнему необходим контроль рисков. Эта система использует…Независимая остановка с заносомОна отделена от основной стратегии и выполняет высокочастотные проверки позиций раз в секунду.
Замыкающая остановка — это не просто фиксированная остановка, а скорее:Сохраняйте нереализованные прибыли и позвольте им расти.。
Рабочий процесс:
Реализация кода:
function monitorPositionWithTrailingStop(coin) {
const pos = getPosition(coin); // 获取持仓
if (!pos) return;
const currentPnl = calculatePnl(pos); // 当前盈亏百分比
// 获取历史最高盈利
const symbolKey = `${coin}_USDT.swap_maxprofit`;
let maxProfit = _G(symbolKey);
// 如果当前盈利更高,更新最高盈利
if (maxProfit === null || currentPnl > maxProfit) {
maxProfit = currentPnl;
_G(symbolKey, maxProfit);
Log(`📈 ${coin} 更新最高盈利:${(maxProfit * 100).toFixed(2)}%`);
}
// 计算回撤
const drawdown = maxProfit - currentPnl;
// 触发止损
if (drawdown >= CONFIG.TRAILING_STOP_PERCENT) {
closePosition(coin, pos, "移动止损");
_G(symbolKey, null); // 清除记录
}
}
Поскольку рынок криптовалют отличается высокой волатильностью, основная стратегия может запускаться только раз в 4 часа (для повторного выбора криптовалют и определения позиций открытия и закрытия), но при этом необходимо размещать стоп-лосс ордера…Защита в режиме реального времениЕсли подождать 4 часа, чтобы проверить, прибыль, возможно, уже будет потеряна. Поэтому система стоп-лосса представляет собой независимый рабочий процесс, запускающийся каждые 15 секунд параллельно с основной стратегией.
Стратегия выполняется автоматически, но вам необходимо знать, что она делает. Система разработана с использованием трех таблиц мониторинга:

Вы можете с первого взгляда увидеть общую прибыль и убытки, а также состояние системы.

В этой таблице указано следующее:

В этой таблице показано:
Эти три таблицы позволяют в любой момент увидеть, что делает система, почему она это делает и каковы результаты.
Ни одна стратегия не идеальна, и у этой системы также есть очевидные ограничения:
Хотя функция отображения больших изображений очень мощная и в большинстве случаев работает хорошо,Ошибочные суждения могут возникать в экстремальных рыночных условиях.。
Например:
В конце концов, ИИ учится на основе исторических данных и может запутаться, столкнувшись с беспрецедентными ситуациями (событиями типа «черный лебедь»).
Система получает данные из общедоступных API новостных сайтов. Она может не фиксировать первые несколько минут после публикации важной новости, и к моменту сбора данных цена может уже измениться.
Например:
Это распространенная проблема во всех автоматизированных системах: инсайдерская информация всегда поступает быстрее, чем общедоступная.
Скользящие средние и тренды основаны наИсторические ценыРасчеты всегда приводят к медленной реакции на непредвиденные события.
Например:
Следовательно, эта система более подходит.Следуйте трендуНе подходитУловив поворотный моментЕго преимущество заключается в том, что он может неуклонно следовать за сформировавшимся трендом, но не может покупать на минимуме или продавать на максимуме.
Хотя сделки с фиксированной суммой сопряжены с управляемым риском, они также означают следующее:
Если сумма на вашем счете увеличится с 10 000 USDT до 50 000 USDT, теоретически сумма транзакции должна возрасти, но система не корректирует это автоматически. Вам необходимо изменить это вручную.$vars.Amountпеременная.
coinNumberКоличество выбранных валют, находящихся в широком обращенииwheelPeriodПараметры периода расчета скользящего среднегоmeanPeriodПериод скользящей среднейAmountСумма за транзакциюlossPercentКоэффициент остановки в заднем положенииВ этой системе еще много областей, которые можно улучшить:
Текущая сумма является фиксированной и может быть изменена на:
Вместо того чтобы полагаться на одну большую модель, используйте 3-5 моделей для одновременного принятия решений:
Транзакции выполняются только тогда, когда большинство моделей сходятся во мнении, что снижает риск ошибочного суждения со стороны одной модели.
Помимо цен и новостей, вы также можете добавить:
Эти данные часто отражают изменения тренда раньше, чем технические индикаторы.
Текущий уровень срабатывания ограничителя составляет фиксированный процент, который можно оптимизировать следующим образом:
Зафиксируйте прибыль и убытки по каждой сделке и проанализируйте их.
Используйте исторические данные для оптимизации параметров.
На этом завершается полное объяснение логики работы этой системы ротации, управляемой искусственным интеллектом. От анализа технологий до проверки новостей, от принятия решений ИИ до исполнения сделок, от скользящих стоп-лосс ордеров до визуального мониторинга — каждый этап имеет свою собственную философию проектирования.
Но я должен еще раз подчеркнуть:Любая стратегия — всего лишь инструмент; рынок сложен и содержит слишком много непредсказуемых факторов.。
Данная система способна на следующее:
Данная система не может выполнять следующие действия:
Нам необходимо эффективно использовать этот инструмент, сочетая его с нашей собственной толерантностью к риску, управлением капиталом и контролем над своим мышлением, чтобы сформировать полноценную торговую систему. Наконец, полный исходный код этой системы был опубликован в открытом доступе на количественной платформе изобретателя. Если у вас есть какие-либо вопросы или предложения по улучшению, пожалуйста, не стесняйтесь обсуждать их в сообществе. Давайте вместе исследуем возможности количественной торговли и найдем свой собственный ритм на этом нестабильном рынке.
Сообщения о рискеДанная статья носит исключительно технический характер и не является инвестиционной рекомендацией. Торговля криптовалютами сопряжена со значительными рисками; пожалуйста, принимайте взвешенные решения и инвестируйте в пределах своих возможностей.
Прилагаемый к этой статье код является открытым исходным кодом. Для доступа к полному рабочему процессу используйте платформу Inventor Quantitative: https://www.fmz.com/strategy/524103