<?xml version="1.0" encoding="UTF-8"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="ru">
    <title>Notes &amp; Insights - crypto-trading</title>
    <subtitle>Блог об архитектуре систем, AI-агентах, распределенных системах и алгоритмическом трейдинге.</subtitle>
    <link rel="self" type="application/atom+xml" href="https://xsa-dev.github.io/tags/crypto-trading/atom.xml"/>
    <link rel="alternate" type="text/html" href="https://xsa-dev.github.io"/>
    <generator uri="https://www.getzola.org/">Zola</generator>
    <updated>2026-11-07T00:00:00+00:00</updated>
    <id>https://xsa-dev.github.io/tags/crypto-trading/atom.xml</id>
    <entry xml:lang="ru">
        <title>Анатомия автономии: как запустить 8 параллельных AI-агентов для круглосуточного алготрейдинга на Hyperliquid</title>
        <published>2026-11-07T00:00:00+00:00</published>
        <updated>2026-11-07T00:00:00+00:00</updated>
        
        <author>
          <name>Alexei Savin</name>
        </author>
        
        <link rel="alternate" type="text/html" href="https://xsa-dev.github.io/posts/moon-dev-8-ai-trading-bots-all-day/"/>
        <id>https://xsa-dev.github.io/posts/moon-dev-8-ai-trading-bots-all-day/</id>
        
        <content type="html" xml:base="https://xsa-dev.github.io/posts/moon-dev-8-ai-trading-bots-all-day/">&lt;h2 id=&quot;vvedenie&quot;&gt;Введение&lt;/h2&gt;
&lt;p&gt;Современный алгоритмический трейдинг давно перешагнул эпоху простых скриптов на Python, запущенных в одном цикле &lt;code&gt;while True&lt;/code&gt;. Сегодня перед разработчиками стоит задача построения настоящих &lt;strong&gt;автономных распределенных систем&lt;/strong&gt;, где несколько специализированных AI-агентов работают параллельно: одни непрерывно ищут аномалии в стакане, другие гоняют бэктесты 24/7, третьи собирают funding rate на бессрочных фьючерсах (perps), а четвертые жестко контролируют риски.&lt;/p&gt;
&lt;p&gt;В этом разборе мы изучим архитектуру системы из &lt;strong&gt;8 параллельных AI-агентов&lt;/strong&gt;, разобранную в стриме алготрейдера Moon Dev, и разберем инженерные паттерны изоляции ролей, защиты капитала и минимизации латентности при работе с DEX (Hyperliquid).&lt;/p&gt;
&lt;hr /&gt;
&lt;h2 id=&quot;arkhitektura-8-parallel-nykh-ai-agentov&quot;&gt;Архитектура 8 параллельных AI-агентов&lt;/h2&gt;
&lt;pre class=&quot;giallo&quot; style=&quot;color: #BFBDB6; background-color: #0D1017;&quot; &gt;&lt;code data-lang=&quot;plain&quot;&gt;&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;┌─────────────────────────────────────────────────────────────┐&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;│               ОРКЕСТРАТОР АГЕНТОВ (Moon Dev)                │&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;└──────────────┬───────────────────────────────┬──────────────┘&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;               │                               │&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;       ИССЛЕДОВАНИЕ И БЭКТЕСТ          ИСПОЛНЕНИЕ И КОНТРОЛЬ&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;               │                               │&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;   ├─► [1. Sentiment / News Scan]     ├─► [5. Funding Rate Arb]&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;   ├─► [2. Liquidation Hunter]        ├─► [6. Momentum Breakout]&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;   ├─► [3. Mean Reversion Lab]        ├─► [7. Risk Guardian Bot]&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;   └─► [4. Backtest 24/7 Iterator]    └─► [8. Live Order Executor]&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;                                                       │&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;                                                       ▼&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;                                            [ Hyperliquid DEX / CEX ]&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;h3 id=&quot;raspredelenie-rolei-v-roe&quot;&gt;Распределение ролей в рое&lt;/h3&gt;
&lt;table&gt;&lt;thead&gt;&lt;tr&gt;&lt;th&gt;#&lt;/th&gt;&lt;th&gt;Агент / Бот&lt;/th&gt;&lt;th&gt;Задача&lt;/th&gt;&lt;th&gt;Инженерная реализация&lt;/th&gt;&lt;/tr&gt;&lt;/thead&gt;&lt;tbody&gt;
&lt;tr&gt;&lt;td&gt;&lt;strong&gt;1&lt;/strong&gt;&lt;/td&gt;&lt;td&gt;&lt;strong&gt;Sentiment &amp;amp; News&lt;/strong&gt;&lt;/td&gt;&lt;td&gt;Анализ новостного фона и соцсетей&lt;/td&gt;&lt;td&gt;Асинхронный скрапинг RSS/X, эмбеддинги новостей, фильтрация шума&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;&lt;strong&gt;2&lt;/strong&gt;&lt;/td&gt;&lt;td&gt;&lt;strong&gt;Liquidation Hunter&lt;/strong&gt;&lt;/td&gt;&lt;td&gt;Охота за каскадными ликвидациями&lt;/td&gt;&lt;td&gt;WebSocket-подписка на стакан и поток ликвидаций (Orderbook / Trades)&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;&lt;strong&gt;3&lt;/strong&gt;&lt;/td&gt;&lt;td&gt;&lt;strong&gt;Mean Reversion&lt;/strong&gt;&lt;/td&gt;&lt;td&gt;Торговля возврата к средней&lt;/td&gt;&lt;td&gt;Расчет скользящих Z-Score, RSI и полос Боллинджера в окне 1m/5m&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;&lt;strong&gt;4&lt;/strong&gt;&lt;/td&gt;&lt;td&gt;&lt;strong&gt;Backtest Iterator&lt;/strong&gt;&lt;/td&gt;&lt;td&gt;Автономный бэктестинг 24/7&lt;/td&gt;&lt;td&gt;Автоматическая генерация новых вариаций параметров на исторических tick-данных&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;&lt;strong&gt;5&lt;/strong&gt;&lt;/td&gt;&lt;td&gt;&lt;strong&gt;Funding Rate Arb&lt;/strong&gt;&lt;/td&gt;&lt;td&gt;Сбор ставок финансирования&lt;/td&gt;&lt;td&gt;Дельта-нейтральный арбитраж (Spot Long + Perp Short при высоком положительном funding)&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;&lt;strong&gt;6&lt;/strong&gt;&lt;/td&gt;&lt;td&gt;&lt;strong&gt;Momentum Breakout&lt;/strong&gt;&lt;/td&gt;&lt;td&gt;Пробойные стратегии&lt;/td&gt;&lt;td&gt;Отслеживание всплесков объема (Volume Spike) и прорыва локальных экстремумов&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;&lt;strong&gt;7&lt;/strong&gt;&lt;/td&gt;&lt;td&gt;&lt;strong&gt;Risk Guardian&lt;/strong&gt;&lt;/td&gt;&lt;td&gt;Жесткий контроль риска&lt;/td&gt;&lt;td&gt;Мониторинг маржи в реальном времени, принудительное закрытие при просадке &amp;gt; 1%&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;&lt;strong&gt;8&lt;/strong&gt;&lt;/td&gt;&lt;td&gt;&lt;strong&gt;Live Executor&lt;/strong&gt;&lt;/td&gt;&lt;td&gt;Исполнение на Hyperliquid DEX&lt;/td&gt;&lt;td&gt;Отправка ордеров через SDK, проверка проскальзывания и обработка ретекров&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;
&lt;hr /&gt;
&lt;h2 id=&quot;kliuchevye-inzhenernye-printsipy-postroeniia-roia&quot;&gt;Ключевые инженерные принципы построения роя&lt;/h2&gt;
&lt;h3 id=&quot;1-razdelenie-konturov-issledovaniia-i-ispolneniia&quot;&gt;1. Разделение контуров исследования и исполнения&lt;/h3&gt;
&lt;p&gt;Главная архитектурная ошибка монолитных торговых ботов — попытка совместить тяжелый анализ (бэктестинг сотен вариаций) и критический по времени контур исполнения ордеров в одном потоке.
В описанной системе контуры разделены физически:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Research Loop (Агенты 1–4)&lt;/strong&gt; работает асинхронно, генерируя гипотезы, сохраняя их в базу данных SQLite/Postgres и обновляя конфигурационные файлы стратегий.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Execution Loop (Агенты 5–8)&lt;/strong&gt; читает валидированные конфигурации и работает с миллисекундными задержками, не отвлекаясь на логику обучения или генерации кода.&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id=&quot;2-modul-risk-guardian-kak-nesnizhaemyi-predokhranitel&quot;&gt;2. Модуль Risk Guardian как неснижаемый предохранитель&lt;/h3&gt;
&lt;p&gt;Никакой AI-агент не имеет права прямого доступа к полному депозиту без прохождения через &lt;code&gt;Risk Guardian&lt;/code&gt;.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Изоляция маржи&lt;/strong&gt;: Каждому агенту выделяется фиксированный суб-аккаунт или лимит (например, не более 5% от общего капитала).&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Hard Stop-Loss&lt;/strong&gt;: Ордер отправляется на биржу сразу с прикрепленным жестким стоп-лоссом. Если сокет связи с биржей падает, стоп отрабатывает на стороне матчап-сервера биржи.&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id=&quot;3-preimushchestva-raboty-s-perp-dex-hyperliquid&quot;&gt;3. Преимущества работы с Perp DEX (Hyperliquid)&lt;/h3&gt;
&lt;p&gt;Перенос алготрейдинга с классических CEX на децентрализованные протоколы нового поколения (Hyperliquid) дает три критических преимущества:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;&lt;strong&gt;Прозрачность ончейн-ликвидности&lt;/strong&gt;: Доступ к реальному стакану и истории ликвидаций через быстрые WebSocket API без скрытых комиссий Maker/Taker-манипуляций.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Отсутствие риска блокировки средств&lt;/strong&gt;: Негосударственный кастодиальный контроль через личные кошельки.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Программируемость на Python/Rust&lt;/strong&gt;: Нативные SDK позволяют легко интегрировать LLM-агентов и автоматические генераторы стратегий.&lt;/li&gt;
&lt;/ol&gt;
&lt;hr /&gt;
&lt;h2 id=&quot;primer-bazovogo-kontura-risk-menedzhmenta-na-python&quot;&gt;Пример базового контура риск-менеджмента на Python&lt;/h2&gt;
&lt;p&gt;Ниже приведен упрощенный паттерн защитного модуля, который проверяет сделку перед отправкой на Hyperliquid DEX:&lt;/p&gt;
&lt;pre class=&quot;giallo&quot; style=&quot;color: #BFBDB6; background-color: #0D1017;&quot; &gt;&lt;code data-lang=&quot;python&quot;&gt;&lt;span class=&quot;giallo-l&quot;&gt;&lt;span style=&quot;color: #FF8F40;&quot;&gt;import&lt;/span&gt;&lt;span&gt; logging&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span style=&quot;color: #FF8F40;&quot;&gt;from&lt;/span&gt;&lt;span&gt; dataclasses&lt;/span&gt;&lt;span style=&quot;color: #FF8F40;&quot;&gt; import&lt;/span&gt;&lt;span&gt; dataclass&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;/span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;logging&lt;/span&gt;&lt;span style=&quot;color: #BFBDB6B3;&quot;&gt;.&lt;/span&gt;&lt;span style=&quot;color: #FFB454;&quot;&gt;basicConfig&lt;/span&gt;&lt;span&gt;(level&lt;/span&gt;&lt;span style=&quot;color: #F29668;&quot;&gt;=&lt;/span&gt;&lt;span&gt;logging&lt;/span&gt;&lt;span style=&quot;color: #BFBDB6B3;&quot;&gt;.&lt;/span&gt;&lt;span style=&quot;color: #95E6CB;&quot;&gt;INFO&lt;/span&gt;&lt;span&gt;)&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;logger&lt;/span&gt;&lt;span style=&quot;color: #F29668;&quot;&gt; =&lt;/span&gt;&lt;span&gt; logging&lt;/span&gt;&lt;span style=&quot;color: #BFBDB6B3;&quot;&gt;.&lt;/span&gt;&lt;span style=&quot;color: #FFB454;&quot;&gt;getLogger&lt;/span&gt;&lt;span&gt;(&lt;/span&gt;&lt;span style=&quot;color: #AAD94C;&quot;&gt;&amp;quot;RiskGuardian&amp;quot;&lt;/span&gt;&lt;span&gt;)&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;/span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span style=&quot;color: #E6C08A;&quot;&gt;@dataclass&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span style=&quot;color: #FF8F40;&quot;&gt;class&lt;/span&gt;&lt;span style=&quot;color: #59C2FF;&quot;&gt; TradeOrder&lt;/span&gt;&lt;span&gt;:&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;    symbol&lt;/span&gt;&lt;span style=&quot;color: #BFBDB6B3;&quot;&gt;:&lt;/span&gt;&lt;span style=&quot;color: #39BAE6;&quot;&gt; str&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;    side&lt;/span&gt;&lt;span style=&quot;color: #BFBDB6B3;&quot;&gt;:&lt;/span&gt;&lt;span style=&quot;color: #39BAE6;&quot;&gt; str&lt;/span&gt;&lt;span style=&quot;color: #5A6673;font-style: italic;&quot;&gt;  # &amp;#39;BUY&amp;#39; or &amp;#39;SELL&amp;#39;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;    size&lt;/span&gt;&lt;span style=&quot;color: #BFBDB6B3;&quot;&gt;:&lt;/span&gt;&lt;span style=&quot;color: #39BAE6;&quot;&gt; float&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;    entry_price&lt;/span&gt;&lt;span style=&quot;color: #BFBDB6B3;&quot;&gt;:&lt;/span&gt;&lt;span style=&quot;color: #39BAE6;&quot;&gt; float&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;    stop_loss&lt;/span&gt;&lt;span style=&quot;color: #BFBDB6B3;&quot;&gt;:&lt;/span&gt;&lt;span style=&quot;color: #39BAE6;&quot;&gt; float&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;/span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span style=&quot;color: #FF8F40;&quot;&gt;class&lt;/span&gt;&lt;span style=&quot;color: #59C2FF;&quot;&gt; RiskGuardian&lt;/span&gt;&lt;span&gt;:&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span style=&quot;color: #FF8F40;&quot;&gt;    def&lt;/span&gt;&lt;span style=&quot;color: #F07178;&quot;&gt; __init__&lt;/span&gt;&lt;span&gt;(&lt;/span&gt;&lt;span style=&quot;color: #D2A6FF;&quot;&gt;self&lt;/span&gt;&lt;span style=&quot;color: #BFBDB6B3;&quot;&gt;,&lt;/span&gt;&lt;span style=&quot;color: #D2A6FF;&quot;&gt; max_portfolio_risk_pct&lt;/span&gt;&lt;span style=&quot;color: #BFBDB6B3;&quot;&gt;:&lt;/span&gt;&lt;span style=&quot;color: #39BAE6;&quot;&gt; float&lt;/span&gt;&lt;span style=&quot;color: #F29668;&quot;&gt; =&lt;/span&gt;&lt;span style=&quot;color: #D2A6FF;&quot;&gt; 0.01&lt;/span&gt;&lt;span style=&quot;color: #BFBDB6B3;&quot;&gt;,&lt;/span&gt;&lt;span style=&quot;color: #D2A6FF;&quot;&gt; max_leverage&lt;/span&gt;&lt;span style=&quot;color: #BFBDB6B3;&quot;&gt;:&lt;/span&gt;&lt;span style=&quot;color: #39BAE6;&quot;&gt; int&lt;/span&gt;&lt;span style=&quot;color: #F29668;&quot;&gt; =&lt;/span&gt;&lt;span style=&quot;color: #D2A6FF;&quot;&gt; 3&lt;/span&gt;&lt;span&gt;):&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span style=&quot;color: #39BAE6;font-style: italic;&quot;&gt;        self&lt;/span&gt;&lt;span style=&quot;color: #BFBDB6B3;&quot;&gt;.&lt;/span&gt;&lt;span&gt;max_portfolio_risk_pct&lt;/span&gt;&lt;span style=&quot;color: #F29668;&quot;&gt; =&lt;/span&gt;&lt;span&gt; max_portfolio_risk_pct&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span style=&quot;color: #39BAE6;font-style: italic;&quot;&gt;        self&lt;/span&gt;&lt;span style=&quot;color: #BFBDB6B3;&quot;&gt;.&lt;/span&gt;&lt;span&gt;max_leverage&lt;/span&gt;&lt;span style=&quot;color: #F29668;&quot;&gt; =&lt;/span&gt;&lt;span&gt; max_leverage&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;/span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span style=&quot;color: #FF8F40;&quot;&gt;    def&lt;/span&gt;&lt;span style=&quot;color: #FFB454;&quot;&gt; validate_and_approve&lt;/span&gt;&lt;span&gt;(&lt;/span&gt;&lt;span style=&quot;color: #D2A6FF;&quot;&gt;self&lt;/span&gt;&lt;span style=&quot;color: #BFBDB6B3;&quot;&gt;,&lt;/span&gt;&lt;span style=&quot;color: #D2A6FF;&quot;&gt; order&lt;/span&gt;&lt;span style=&quot;color: #BFBDB6B3;&quot;&gt;:&lt;/span&gt;&lt;span&gt; TradeOrder&lt;/span&gt;&lt;span style=&quot;color: #BFBDB6B3;&quot;&gt;,&lt;/span&gt;&lt;span style=&quot;color: #D2A6FF;&quot;&gt; account_balance&lt;/span&gt;&lt;span style=&quot;color: #BFBDB6B3;&quot;&gt;:&lt;/span&gt;&lt;span style=&quot;color: #39BAE6;&quot;&gt; float&lt;/span&gt;&lt;span&gt;)&lt;/span&gt;&lt;span style=&quot;color: #BFBDB6B3;&quot;&gt; -&amp;gt;&lt;/span&gt;&lt;span style=&quot;color: #39BAE6;&quot;&gt; bool&lt;/span&gt;&lt;span&gt;:&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span style=&quot;color: #5A6673;font-style: italic;&quot;&gt;        # Расчет риска на сделку&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;        risk_amount&lt;/span&gt;&lt;span style=&quot;color: #F29668;&quot;&gt; =&lt;/span&gt;&lt;span style=&quot;color: #F07178;&quot;&gt; abs&lt;/span&gt;&lt;span&gt;(order&lt;/span&gt;&lt;span style=&quot;color: #BFBDB6B3;&quot;&gt;.&lt;/span&gt;&lt;span&gt;entry_price&lt;/span&gt;&lt;span style=&quot;color: #F29668;&quot;&gt; -&lt;/span&gt;&lt;span&gt; order&lt;/span&gt;&lt;span style=&quot;color: #BFBDB6B3;&quot;&gt;.&lt;/span&gt;&lt;span&gt;stop_loss)&lt;/span&gt;&lt;span style=&quot;color: #F29668;&quot;&gt; *&lt;/span&gt;&lt;span&gt; order&lt;/span&gt;&lt;span style=&quot;color: #BFBDB6B3;&quot;&gt;.&lt;/span&gt;&lt;span&gt;size&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;        allowed_risk&lt;/span&gt;&lt;span style=&quot;color: #F29668;&quot;&gt; =&lt;/span&gt;&lt;span&gt; account_balance&lt;/span&gt;&lt;span style=&quot;color: #F29668;&quot;&gt; *&lt;/span&gt;&lt;span style=&quot;color: #39BAE6;font-style: italic;&quot;&gt; self&lt;/span&gt;&lt;span style=&quot;color: #BFBDB6B3;&quot;&gt;.&lt;/span&gt;&lt;span&gt;max_portfolio_risk_pct&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;/span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span style=&quot;color: #FF8F40;&quot;&gt;        if&lt;/span&gt;&lt;span&gt; risk_amount&lt;/span&gt;&lt;span style=&quot;color: #F29668;&quot;&gt; &amp;gt;&lt;/span&gt;&lt;span&gt; allowed_risk&lt;/span&gt;&lt;span style=&quot;color: #BFBDB6B3;&quot;&gt;:&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;            logger&lt;/span&gt;&lt;span style=&quot;color: #BFBDB6B3;&quot;&gt;.&lt;/span&gt;&lt;span style=&quot;color: #FFB454;&quot;&gt;error&lt;/span&gt;&lt;span&gt;(&lt;/span&gt;&lt;span style=&quot;color: #FF8F40;&quot;&gt;f&lt;/span&gt;&lt;span style=&quot;color: #AAD94C;&quot;&gt;&amp;quot;Order REJECTED: Risk &lt;/span&gt;&lt;span style=&quot;color: #95E6CB;&quot;&gt;{&lt;/span&gt;&lt;span&gt;risk_amount&lt;/span&gt;&lt;span style=&quot;color: #FF8F40;&quot;&gt;:.2f&lt;/span&gt;&lt;span style=&quot;color: #95E6CB;&quot;&gt;}&lt;/span&gt;&lt;span style=&quot;color: #AAD94C;&quot;&gt; exceeds allowed &lt;/span&gt;&lt;span style=&quot;color: #95E6CB;&quot;&gt;{&lt;/span&gt;&lt;span&gt;allowed_risk&lt;/span&gt;&lt;span style=&quot;color: #FF8F40;&quot;&gt;:.2f&lt;/span&gt;&lt;span style=&quot;color: #95E6CB;&quot;&gt;}&lt;/span&gt;&lt;span style=&quot;color: #AAD94C;&quot;&gt;&amp;quot;&lt;/span&gt;&lt;span&gt;)&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span style=&quot;color: #FF8F40;&quot;&gt;            return&lt;/span&gt;&lt;span style=&quot;color: #D2A6FF;&quot;&gt; False&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;/span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;        logger&lt;/span&gt;&lt;span style=&quot;color: #BFBDB6B3;&quot;&gt;.&lt;/span&gt;&lt;span style=&quot;color: #FFB454;&quot;&gt;info&lt;/span&gt;&lt;span&gt;(&lt;/span&gt;&lt;span style=&quot;color: #FF8F40;&quot;&gt;f&lt;/span&gt;&lt;span style=&quot;color: #AAD94C;&quot;&gt;&amp;quot;Order APPROVED for &lt;/span&gt;&lt;span style=&quot;color: #95E6CB;&quot;&gt;{&lt;/span&gt;&lt;span&gt;order&lt;/span&gt;&lt;span style=&quot;color: #BFBDB6B3;&quot;&gt;.&lt;/span&gt;&lt;span&gt;symbol&lt;/span&gt;&lt;span style=&quot;color: #95E6CB;&quot;&gt;}&lt;/span&gt;&lt;span style=&quot;color: #AAD94C;&quot;&gt;: Size &lt;/span&gt;&lt;span style=&quot;color: #95E6CB;&quot;&gt;{&lt;/span&gt;&lt;span&gt;order&lt;/span&gt;&lt;span style=&quot;color: #BFBDB6B3;&quot;&gt;.&lt;/span&gt;&lt;span&gt;size&lt;/span&gt;&lt;span style=&quot;color: #95E6CB;&quot;&gt;}&lt;/span&gt;&lt;span style=&quot;color: #AAD94C;&quot;&gt;, Risk &lt;/span&gt;&lt;span style=&quot;color: #95E6CB;&quot;&gt;{&lt;/span&gt;&lt;span&gt;risk_amount&lt;/span&gt;&lt;span style=&quot;color: #FF8F40;&quot;&gt;:.2f&lt;/span&gt;&lt;span style=&quot;color: #95E6CB;&quot;&gt;}&lt;/span&gt;&lt;span style=&quot;color: #AAD94C;&quot;&gt;&amp;quot;&lt;/span&gt;&lt;span&gt;)&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span style=&quot;color: #FF8F40;&quot;&gt;        return&lt;/span&gt;&lt;span style=&quot;color: #D2A6FF;&quot;&gt; True&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;/span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span style=&quot;color: #5A6673;font-style: italic;&quot;&gt;# Пример использования&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;guardian&lt;/span&gt;&lt;span style=&quot;color: #F29668;&quot;&gt; =&lt;/span&gt;&lt;span style=&quot;color: #FFB454;&quot;&gt; RiskGuardian&lt;/span&gt;&lt;span&gt;(max_portfolio_risk_pct&lt;/span&gt;&lt;span style=&quot;color: #F29668;&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #D2A6FF;&quot;&gt;0.01&lt;/span&gt;&lt;span&gt;)&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;order&lt;/span&gt;&lt;span style=&quot;color: #F29668;&quot;&gt; =&lt;/span&gt;&lt;span style=&quot;color: #FFB454;&quot;&gt; TradeOrder&lt;/span&gt;&lt;span&gt;(symbol&lt;/span&gt;&lt;span style=&quot;color: #F29668;&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #AAD94C;&quot;&gt;&amp;quot;ETH-PERP&amp;quot;&lt;/span&gt;&lt;span style=&quot;color: #BFBDB6B3;&quot;&gt;,&lt;/span&gt;&lt;span&gt; side&lt;/span&gt;&lt;span style=&quot;color: #F29668;&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #AAD94C;&quot;&gt;&amp;quot;BUY&amp;quot;&lt;/span&gt;&lt;span style=&quot;color: #BFBDB6B3;&quot;&gt;,&lt;/span&gt;&lt;span&gt; size&lt;/span&gt;&lt;span style=&quot;color: #F29668;&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #D2A6FF;&quot;&gt;1.5&lt;/span&gt;&lt;span style=&quot;color: #BFBDB6B3;&quot;&gt;,&lt;/span&gt;&lt;span&gt; entry_price&lt;/span&gt;&lt;span style=&quot;color: #F29668;&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #D2A6FF;&quot;&gt;3100.0&lt;/span&gt;&lt;span style=&quot;color: #BFBDB6B3;&quot;&gt;,&lt;/span&gt;&lt;span&gt; stop_loss&lt;/span&gt;&lt;span style=&quot;color: #F29668;&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #D2A6FF;&quot;&gt;3050.0&lt;/span&gt;&lt;span&gt;)&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;is_approved&lt;/span&gt;&lt;span style=&quot;color: #F29668;&quot;&gt; =&lt;/span&gt;&lt;span&gt; guardian&lt;/span&gt;&lt;span style=&quot;color: #BFBDB6B3;&quot;&gt;.&lt;/span&gt;&lt;span style=&quot;color: #FFB454;&quot;&gt;validate_and_approve&lt;/span&gt;&lt;span&gt;(order&lt;/span&gt;&lt;span style=&quot;color: #BFBDB6B3;&quot;&gt;,&lt;/span&gt;&lt;span&gt; account_balance&lt;/span&gt;&lt;span style=&quot;color: #F29668;&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #D2A6FF;&quot;&gt;50000.0&lt;/span&gt;&lt;span&gt;)&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;
&lt;hr /&gt;
&lt;h2 id=&quot;zakliuchenie&quot;&gt;Заключение&lt;/h2&gt;
&lt;p&gt;Переход от ручного трейдинга к рою из 8 автономных AI-агентов меняет саму парадигму работы на финансовых рынках. Роль разработчика и трейдера смещается от поиска точек входа к &lt;strong&gt;проектированию надежных архитектурных контуров&lt;/strong&gt;, управлению рисками и мониторингу беспрерывных циклов бэктестинга.&lt;/p&gt;
&lt;p&gt;Первоисточник: стрим &lt;a rel=&quot;external&quot; href=&quot;https://youtu.be/q2ugYN8eSeY&quot;&gt;Moon Dev (YouTube)&lt;/a&gt;.
path: /home/alxy/Documents/Obsidian Vault/YouTube/Moon-Dev-8-AI-Trading-Bots-All-Day-2026.md&lt;/p&gt;
</content>
        
    </entry>
</feed>
