Мы взяли измеренную проводку мозга дрозофилы, завели её в Pine Script и честно проверили, есть ли там эдж. Его нет. Это протокол проверки.
Обычно демо на коннектоме начинается с вопроса «куда бы подключить нейроны». Нам его решать не пришлось: за нас ответила биология.
У дрозофилы есть командные нейроны: клетки, функция которых известна из экспериментов — их стимулировали и смотрели, что делает живая муха. Вперёд, назад, поворот, побег, стоять на месте. Это то же дискретное множество действий, из которого выбирает трейдер. Не метафора, а совпадение структуры — и это главный аргумент честности проекта.
Все пять есть в MaleCNS v1.0 — полном коннектоме самца дрозофилы, опубликованном в сентябре 2026 под CC BY 4.0.
Таблица выше была заявкой, а не механизмом. Выключение четырёх контуров из шести не меняло ни одной сделки, а модель из 313 нейронов — только детекторы приближения и гигантское волокно — повторяла все сделки бит в бит.
Каждому контуру дан свой сенсорный вход. Выключение любого из 13 проверенных контуров теперь меняет от 3 % до 32 % позиций.
Та же урезанная модель теперь расходится с полной сетью на трёх четвертях баров. Соответствие выше — то, чем сеть действительно пользуется.
Реальные свечи BTCUSDT, таймфрейм H1. Окно теста открывается 7 октября 2018 года и идёт до 3 мая 2026 года — семь с половиной лет, без подбора отрезка. Реплей детерминированный и причинный: на баре N муха видела только бары до N. Заряд в гигантском волокне копится, на распродаже пробивает порог — позиция закрывается.
Стартовый капитал 1 000 долларов, одна позиция, только лонг: муха держит, пока спокойна, и уходит в кэш после побега. Жёлтая линия — её эквити, серая — те же 1 000 долларов, купленные и забытые. Комиссия в реплее не учитывается, как и в Python-референсе; что она делает с результатом — сразу ниже. Тот же расчёт работает внутри Pine-скрипта на живом графике; здесь он проигрывается записью, потому что бар-реплей в TradingView упирается в лимиты исполнения.
+323 % · максимальная просадка 48 % · экспозиция 44,6 % · 13 958 сделок
+1 090 % · максимальная просадка 77 % · один вход за семь с половиной лет
Какая это версия. Реплей выше — версия 1 стратегии, в которой сделками правили только детекторы приближения и гигантское волокно. Версия 3, опубликованная сейчас, включает в решение все контуры — и на том же окне даёт −69,9 % при просадке 86,5 %. От того, что мозг заработал целиком, торговля стала хуже; это и есть честный результат. Разбор — в разделе ниже.
Первое, что нужно сказать вслух: самый тупой бенчмарк выигрывает почти втрое. Купить биткоин в 2018 году и ничего не делать — и это обходит мозг с миллионом синаптических контактов. На BTC пассивное удержание и есть тот бенчмарк, который обязана перебить любая стратегия. Мы его не перебиваем.
Второе: собственный P&L мухи не несёт информации. Она стояла в лонге 45 % времени в активе, который вырос в двенадцать раз, — прибыль показал бы любой процесс, входящий с той же частотой. Мы это измерили, а не предположили.
Двенадцать прогонов подбрасывания монеты при той же экспозиции 44,6 %. Муха обогнала шесть из двенадцати. Разброс случайного бенчмарка накрывает её результат целиком.
0,02 % на сторону — ставка мейкера на фьючерсах Binance.
27 915 исполнений: 13 958 входов и 13 957 выходов, последняя позиция ещё открыта. По два базисных пункта со стороны — и от стартовой тысячи остаётся шестнадцать долларов.
Так зарабатывает или нет? На бумаге да, по существу нет: доходность почти втрое ниже пассивного удержания, статистически неотличима от случайных входов с той же экспозицией и полностью съедается комиссией. Единственное, что пережило все контроли, — просадка: ниже случайного бенчмарка в десяти прогонах из двенадцати и в 1,6 раза ниже, чем у buy & hold. Эффект небольшой, и он про риск, а не про доходность — поэтому целевой метрикой проекта с самого начала была просадка.
Осталось подать на вход то, к чему её нейроны приспособлены эволюцией. Три канала, и каждый идёт по измеренному пути.
Распродажа — это объект, надвигающийся на вас. Детекторы приближения LC4 и LPLC2 идут прямо в гигантское волокно: 11 198 синаптических контактов, измерено. У живой мухи это самый быстрый из известных путей к взлёту.
Клетки Кеньона выдают разреженный код контекста — активны около 5 %. Математически это случайная проекция с порогом. Мы подаём туда фичи бара и получаем «чем сейчас пахнет рынок».
Прибыльная сделка стимулирует нейроны PAM, убыточная — PPL1. Именно так у мухи кодируются награда и наказание при обучении на запахи.
Прикрутить к коннектому обычный RL — значит убить смысл: как только оптимизатор трогает веса, торгует градиент, а не муха. Но у мухи есть собственная машинерия обучения с подкреплением, её и используем.
Измеренных связей в полной схеме, 17 000 в Pine-сборке. Ни награды, ни градиента, ни подгонки — переобучаться физически нечем.
Чисел, которых в коннектоме нет: усиление сенсорики, порог превращения спайков в заявку. Их мы подбирали — мозг не трогали.
Синапсов KC→MBON в полной схеме, 5 816 в Pine-сборке. Слабеют, если клетка была активна в момент прихода дофамина, — то же трёхфакторное правило, что у живой мухи.
Обучение идёт бар за баром внутри бектеста: на баре N муха видела только бары до N. Заглядывание в будущее исключено по построению.
Любое демо на коннектоме упирается в один вопрос: реагирует мозг мухи — или обвязка, которую написал автор? Проверка дешёвая: перемешать веса связей, сохранив распределение степеней узлов. Столько же нейронов, столько же связей, та же суммарная активность — случайна только сама схема соединений.
Ниже один и тот же стимул приближения подан двум сетям. Слева настоящая проводка MaleCNS, справа перемешанная. Суммарная активность практически одинаковая — 15 651 спайка против 15 439 за сто шагов симуляции. Отличается только адресация. Смотрите на заряд гигантского волокна.
Каскад LC4/LPLC2 → DNp01 цел: 11 198 измеренных контактов. Заряд пробивает порог, гигантское волокно даёт спайк, муха взлетает. Воспроизводится на каждом сиде.
Сеть шумит не меньше — возбуждение расходится по случайным адресам и не накапливается на командном нейроне. Не больше одного спайка на десяти проверенных сидах.
Реакция избегания исчезает полностью. Значит путь «увидел приближение → убежал» держится на измеренных связях, а не на нашей обвязке. Ни один проект этой волны демо на коннектоме такого контроля не опубликовал — а без него «это работает мозг мухи» остаётся подписью к картинке. Тот же контроль мы прогоняем для каждой гипотезы из следующего раздела.
Контроль прогнан на полной схеме — 5 828 нейрона, 121 325 связей. Урезанная Pine-сборка путь сохраняет: дистиллят воспроизводит 36 побегов из 39, которые даёт полная схема на том же отрезке.
Перемешивание связей спрашивает, важна ли проводка. Обратный ход спрашивает труднее: может ли одна проводка сказать, чем является контур, если анатомию ей не подсказывать?
Муха держит курс кольцом клеток, в котором направление живёт как бугор активности. Мы ни разу не указывали скрипту, какая клетка куда смотрит. Берём подграф EPG, нормируем его лапласиан, смотрим на собственные значения: два из них выходят почти одинаковыми. Такая почти вырожденная пара — подпись цикла, а соответствующие собственные векторы дают косинус и синус угла каждой клетки. Пятьдесят клеток, одно кольцо, ничего не расставлено руками.
Дальше сверили результат с анатомией, которая в вычисление не входила:
Бирюзовый и фиолетовый — две стороны тела. Засечки отмечают, где чередование переключается.
Это та часть, которую не пришлось моделировать. Компас уже лежал в коннектоме — оставалось его прочитать.
Дальше самая скучная и самая важная часть: десять гипотез, около сорока пяти прогонов. Каждая по одному протоколу — контроль на перемешанных весах, честный out-of-sample, несколько сидов.
Оракул, которому доступны все ценовые фичи, угадывает знак следующего бара с такой точностью. Тайминг одного инструмента по цене не предсказуем ни для кого — не только для мухи.
Кросс-секционный моментум на топ-10 монет выглядел сигналом (t-статистика 2,8). На вселенной из 40 монет затухает до 1,5. Эффекта не было, был отбор.
Отношение лонг/шорт по счетам розницы убедительно работало in-sample и развалилось out-of-sample. Эффект нестационарен.
Результат, который мы публикуем как результат: ни одна конфигурация не била случайный бенчмарк устойчиво на ценовых входах. Просадка вышла ниже buy & hold — но это арифметика экспозиции 44,6 %, а не свидетельство о проводке, и это мы проверили отдельно.
Отрицательный результат — тоже результат. Ни один из пяти предыдущих проектов на этом коннектоме его не публиковал.
Полная схема — 5 828 нейрона и 121 325 связей. Бюджет на живом графике — примерно тысяча нейронов и семнадцать тысяч связей. Шесть седьмых пришлось срезать.
17 000 из 121 325
дистиллят воспроизводит позиции полной схемы, BTC H1 2022–2026
на том же отрезке; на истории с 2018 года их 219
Большая часть мозга в TradingView не влезла, а решения почти не сдвинулись. Переиспользуемый побочный результат: рецепт переноса сети с измеренными весами в Pine — упаковка списка связей в строковые литералы, событийное распространение вместо полного прохода и бюджет около ста миллионов операций на прогон. К мухам всё это отношения не имеет.
Всё могло остаться в Python. Три причины, по которым не осталось, — и каждая оказалась весомее, чем выглядела.
Все остальные демо на коннектоме — записи: Doom, Minecraft, Beat Saber. Здесь исходник вставляется в Pine Editor и считается на вашем инструменте, вашем таймфрейме, вашей истории. Разница между «посмотреть» и «запустить».
Community Scripts на TradingView предполагают публикацию исходника и модерацию. Для проекта, у которого весь аргумент — «мы проверили, вот контроль», это не ограничение, а условие задачи.
Кроме цены в Pine доступно 20+ не-ценовых лент — фандинг, открытый интерес, отношение лонг/шорт по счетам розницы. Мы прогнали на них целый круг гипотез без единого API-ключа.
//@version=6 strategy("FlyTV 🪰 Fly Brain", "FlyTV", overlay = false, initial_capital = 10000, process_orders_on_close = false) // состояние сети живёт между барами — var-массивы это позволяют var int[] pot = array.new_int(N, 0) // потенциал каждой клетки var float[] kcw = array.new_float(E, 1.0) // KC→MBON — единственное, что учится // сеть шагает ровно один раз на закрытом баре, иначе она переисполняется на каждом тике if barstate.isconfirmed loom = math.max(0.0, -ret) * loomGain // свеча → ток в LC4 / LPLC2 spikes = stepNetwork(loom, STEPS) if spikes >= gfMin strategy.close("L", comment = "escape") // гигантское волокно сработало
Вот и вся конструкция: var-массивы держат потенциал клеток и
выученные веса между барами, barstate.isconfirmed заставляет сеть шагнуть ровно один
раз на закрытом баре, а спайк гигантского волокна превращается в strategy.close().
Всё это Pine-автор и так знает — только применено к 17 000 измеренных синапсов вместо скользящей
средней.
Ограничения платформы оказались самой полезной её частью. Это бюджет, который нельзя обойти деньгами, и именно он заставил дистиллировать 121 325 связей до 17 000, а потом доказать, что решения не сдвинулись. В Python такая дисциплина не появляется: там всегда можно докинуть железа.
Последнее — трюк, на котором держится весь перенос: строковый литерал стоит один токен независимо от длины, поэтому список связей едет внутри скрипта упакованным текстом и разворачивается на первом баре.
Так что переиспользуемый побочный результат шутки про муху — довольно общий рецепт: как затащить в Pine Script сеть с измеренными весами и уложиться в бюджет исполнения. Если вы пишете на Pine, самая полезная страница здесь — код, а сам скрипт опубликован на TradingView.
Коннектом — статический анатомический снимок, а не живой мозг. Мы не заявляем, что валидировали физиологию, и тем более не заявляем, что муха умеет торговать. Ничто здесь не является инвестиционной рекомендацией.