Pull to refresh

Comments 50

красиво. дизайн-система какая то готовая?

Изначальный каркас делался через lovable, и потом уже адаптировался дальше

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

пока нет, но обязательно заработает для ВАС

Я оценил ваш сарказм. Но именно в этой разнице между "заработает для ВАС" и "даст ВАМ удобный и гибкий инструмент для этого" и кроется вся суть проекта. Спасибо, что указали чем DepthSight - не является.

Спасибо за вопрос. Он ожидаем. Цель Depth Sight - не быть "ботом, который зарабатывает за вас". Рынок - это хаотичная система, и "грааля", который работает всегда и для всех, не существует. Любой, кто утверждает обратное, - лукавит.
Моя цель была другой. Предложить трейдерам не "рыбу", а самую удобную и гибкую "удочку" для профессионала или исследователя. Платформу, которая позволяет максимально быстро проверять любые, даже самые безумные торговые гипотезы.

Моя подборка цитат

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

Заявления вида «я не кодер, но ChatGPT позволяет писать мне код» чем-то похожи на «я не водитель, но автопилот „Теслы“ позволяет мне ездить» (но есть нюансы...)

LLM не делает вас тупым. Она просто убирает иллюзию, что вы были умным.

Все программисты в мире делятся на две категории:
— Те, кто считает, что ChatGPT кодит на порядок лучше их;
— Те, кто считает, что ChatGPT кодит на порядок хуже их.
И те, и другие абсолютно правы.

Краткое изложение закона Даннинга-Крюгера: «Мало знающий не знает, чего он ещё не знает. Много знающий не знает, чего ещё он не знает.»

Отличная подборка цитат, спасибо. Все так.
Но ваша аналогия с "костылями" кажется мне не совсем верной.
А что, если посмотреть на это не как на костыли, а как на экзоскелет? Инструмент, который не заменяет здоровые ноги, а усиливает их, позволяя делать то, что раньше было физически невозможно: поднимать тонны, прыгать на 10 метров.
Как говорил Алан Кей, «точка зрения стоит 80 баллов IQ». Возможно, мы просто смотрим на один и тот же инструмент с разных точек зрения. Вы видите в нем замену, а я усиление.

«Инструмент, который усиливает» — это гугель: мне не нужно помнить тома документации, мне достаточно знать, что такой метод в принципе существует.

(И не надо мне про ИИ — речь идёт про реальную документацию, а не бредогенератор.)

Но если это бредогенератор то как тогда он нагенерил то о чем я пишу в посте за пол года? Пусть и неидеальная, но платформа с бектестингом, реальной торговлей, мл, оптимизацией, встроенным "бредогенератором" который собирает стратегии по текстовому промпту и анализирует результаты бектестов...

А теперь представьте, что этот "бредогенератор" сможет завтра.

В любом случае я признаю и уважаю Ваш подход и мнение, просто странно называть "бредогенератором" когда перед вами доказательства обратного :)

А теперь представьте, что этот «бредогенератор» сможет завтра.

Примерно то же самое я слышал про Borland Delphi. «Любая кухарка сможет написать приложение для Windows!»

Для меня немного странно, что вы как буд-то бы отказываетесь принять очевидный факт который написан в заголовке, а внизу ссылка ведущая на доказательства. Что ж, "не смотреть наверх" - это личный выбор каждого.)

а внизу ссылка ведущая на доказательства

Простите, а на какой строчке Вы сейчас в списке Forbes?

А причем тут форбс? Мы о деньгах или о технологии "бредогенератора"? Если вы о деньгах и Вы там есть, то я тогда не смею спорить.

Простите, я по своей глупости принял эту дискуссию за конструктивную, ошибку понял :)

Ну тут в соседней статье было «доказательство», что один из восьми агентов предсказывает рынок лучше других (какая неожиданность!!!)

интересно, эта статья не считается за рекламу проекта?

Круто! Так же пишу код с АИ, сам код не понимаю, но понимаю архитектуру и логику работы, благодаря ИТ образованию :)

Выглядит здорово, как трейдер понимаю ценность продукта, думал такое же под SMC сделать, успехов тебе!

Приветствую. Спасибо за позитивный коментарий. И вам также успехов :)

Очень крутая задумка, надеюсь твой проест будет хорошо работать!
Получается ты просто в одном чате с ИИ вёл весь этот диалог про твой проект, и ты смог с помощью этого добиться такого результата? Если да, то это же сколько он обучался во время диалога

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

Хотел бы спросить у Вас, а вы хотите попытаться добавить туда ИИ для отслеживания наисвежейших новостей, чтобы шансы, что данная программа сделает правильный выбор или возможна ли вообще такая задумка в реальизации?

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

Есть один железобетонный факт - если вам продают/рекламируют торгового бота/обучение трейдингу и тд и тп, это говорит о том что это все не работает, зачем продавать курицу, которая несет золотые яйца ?

Потому что вы смотрите на это как на готовую "кнопку бабло", а это не она. Это попытка создать максимально гибкий и удобный конструктор для трейдера который понимает, что с этим делать. И те кто понимает, что такое рынок - увидят потенциал.

Нет ничего лучше для трейдинга человеческого мозга

Полностью с вами согласен, поэтому это и не замена человеческому мозгу, не кнопка бабло и не готовый грааль. Это удобный и гибкий инструмент для быстрой проверки и тестирования гипотиз в помощь человеческому мозгу.

Проблема что мозгу надо спать, есть и прочее...

Грамотность. Грамотность лучше для трейдинга человеческого мозга.

Спасибо за статью. Иду по похожему треку (не трейдинг) и очень рад увидеть схожие мысли по теме ИИ.

И Вам спасибо за позитивный коментарий. Желаю успехов.

Реакт. Сам основной "шаблон" был создан с помощью lovable, потом уже отдельно переделывался и допиливался

Ого, очень похоже на то, чем я занимался последнее время, примерно так же пол-года). В итоге я пришел к тому, что работать будет либо предиктивная модель (причем не на академических индикаторах), либо просто живой мозг с интуицией на основе подсознания. Успехов!

хочу поделиться мыслями по архитектурным рискам, которые легко упустить на этапе MVP и которые выявил мой ИИ. ЕСли не открыл Америку - тысяча извинений.

>

> 1. **Отсутствие runtime-изоляции стратегий от исполнения**

> — Если `strategy.py` зависнет (например, из-за блокирующего вызова или бесконечного цикла в сгенерированном коде), упадёт весь `controller.py`, включая `executor`. Для скальпинга — катастрофа.

> → Решение: запуск стратегий в отдельных процессах/контейнерах с таймаутами.

>

> 2. **Нет механизма отката при деградации в `trainer.py`**

> — Обновление `config.py` при «чётко лучше» — субъективный порог. Без A/B-теста и roll-back’а можно незаметно вкатить конфиг, убивающий профитность. Особенно опасно при онлайн-обучении.

> → Решение: хранить baseline-конфиг, сравнивать не только PF↑, но и *устойчивость* (шарп, max drawdown), вводить cooldown-период.

>

> 3. **`listenKey` продлевается, но нет контроля его валидности**

> — Если `keep_alive` сработал, но ключ уже был принудительно отозван (например, при смене API-ключа вручную), `executor` продолжит слушать «мёртвый» WS, не зная о потере синхронизации.

> → Решение: периодическая проверка баланса/позиций через REST как «sanity check».

>

> 4. **Генерация кода → отсутствие formal specification**

> — Условия в `strategy.py` сформулированы как «плотность в стакане», но нет формального определения: *какая глубина? какая доля объёма? в каком интервале?* Это создаёт **скрытую неопределённость**, которая проявится при смене рынка (например, переход от BTC-доминирования к altseason).

> → Решение: явные unit-тесты на граничные случаи + версионирование логики сигналов.

>

> 5. **Python + asyncio — не для sub-100ms скальпинга**

> — Даже с `Numba` и прямым `aiohttp`, GIL и сборка мусора делают latency непредсказуемой. В момент major-новости GC может «подвиснуть» на 100+ мс — бот пропустит движение или выставит ордер в проскользившую зону.

> — Потенциальный фикс: вынести критический путь (`data → signal → risk → order`) в Rust-модуль (через `PyO3`), оставив оркестрацию на Python.

>

> Это не критика — это то, через что проходят все production-боты. Удачи в бета-тесте.

Приветствую. Спасибо большое за конструктив. Это был только первый день, многие вещи потом переделывались, но есть моменты над которыми стоит подумать. Спасибо.

Пожалуйста. Сам разработал мощную аналитическую систему, которая и выявила недочеты. Понимаю, что это такое - сидеть в ИИ и пытаться найти зерно в тонне мусора.

А можете в паре предложений описать как работает? Если не затруднит конечно

На данном этапе это архитектурный модульный промт, который обрабатывает запросы по определенным правилам. Грубо говоря - это самоописательная структура:

Каждый модуль содержит: • Функциональное описание ("что делает") • Входы/выходы ("как интегрируется") • Критерии успеха ("как проверить")

Несколько раз хотел перенести на сервер - но постоянные доработки и улучшения откладывают задумку.

Могу даже показать, как это работает. Сделал ещк один анализ Вашего бота :

## 🧱 1. АРХИТЕКТУРНЫЙ АНАЛИЗ

### 🔹 ** структура без интерпретации (ФАКТ)**

```

bot_module/

├── data_consumer.py # Получает filtered_pairs.json или через WS

├── strategy.py # Детекторы: пробой, отскок, spike-and-fade, откаты

├── controller.py # Оркестратор: управляет циклом (async)

├── risk_manager.py # Расчёт lot = risk_pct * balance / (stop_pips × pip_value)

├── executor.py # Прямой доступ к Binance API (REST+WS), с reconnect & keepalive

├── trainer.py # Ежедневный сбор логов → оптимизация → обновление config.py

├── logger.py # Логирование сигналов и сделок

└── config.py # Единая точка параметров

```

**Тип архитектуры:** *Гибридная замкнутая система*

- **Плагинная** (модули слабо связаны)

- **Циклическая** (данные → решение → исполнение → лог → обучение → обновление)

- **Event-driven + batch-обучение**

---

### 🔹 ** принципы (ФАКТ)**

- **Минимизация внешних зависимостей** (отказ от `ccxt` → `aiohttp` + `websockets`)

- **Самообучение** без перезапуска (runtime-обновление `config.py`)

- **Взвешенные основания** вместо бинарной логики (сумма весов ≥ порога)

- **Изолированность данных**: `filtered_pairs.json` — единый источник для всех модулей

- **Надёжность через асинхронность + экспоненциальный backoff**

---

### 🔹 ** модель (ФАКТ)**

```

[Рынок] → (data_consumer)

[strategy] ⟶ (сигнал: pair, dir, entry, SL, TP, mode)

[risk_manager] ⟶ (разрешение/размер)

[executor] ←→ (Binance REST + User Data Stream)

[logger] → (история сделок) → [trainer] → (config.py)

```

**Ключевое свойство архитектуры:**

→ *Замкнутый цикл адаптации, управляемый наблюдаемыми метриками, а не предположениями.*

---

## АНАЛИЗ

*Поиск неочевидных связей через:*

### 🔮 **1. — суперпозиция состояний**

Бот существует в **двух одновременных состояниях**:

- **Состояние 1 (Явное):** *Инструмент для исполнения скальпинговых стратегий*

- **Состояние 2 (Скрытое):** *Эксперимент по самоорганизации ИИ-генерируемой системы*

🔹 **Суперпозиция коллапсирует при переходе в real-money mode**:

— В бумажной торговле — *«ученик»*: ошибки = данные для `trainer.py`

— В live-торговле — *«решающий агент»*: каждая ошибка = финансовая потеря

→ **Архитектура не предусматривает этого квантового перехода**. Нет `mode="simulation"` / `mode="real"` в `risk_manager.py`, нет флага «тестовый ордер» в `executor`.

→ Это создаёт **скрытый архитектурный дефект**: *один и тот же код ведёт себя одинаково в двух принципиально разных мирах*.

---

### 🧬 **2 соединение далёких паттернов**

Сравним с **биологической иммунной системой**:

| Компонент бота | Аналог в иммунной системе | Отклонение (ГИПОТЕЗА) |

|----------------|---------------------------|------------------------|

| `strategy.py` | T-клетки (распознавание паттернов) | Использует *статические* детекторы, нет «обучения на новых антигенах» в runtime — только nightly batch (`trainer`) |

| `risk_manager.py` | Регуляторные T-клетки (сдерживание) | Нет механизма «цитокинового шторма»: при резком росте волатильности не снижает активность, а просто проверяет лимиты |

| `executor.py` | Макрофаги (действие) | Действует мгновенно, но **не умеет «апоптоз»** — нет graceful shutdown при потере синхронизации с рынком |

| `trainer.py` | Костный мозг (генерация новых клеток) | Обновляет параметры, но **не создаёт новые детекторы** — эволюция *внутри* фиксированного пространства, а не *расширение* пространства |

🔹 **Вывод (ГИПОТЕЗА):**

Бот — *не адаптивная иммунная система*, а *вакцинация по расписанию*. Он «прививается» каждый день (`trainer`), но не реагирует на новую угрозу в течение дня.

---

### ⏳ **3. Временной триггер — анализ через будущее → прошлое**

**Представим: бот уже в production 1 год.**

Что видим в логах?

- `trainer.py` 5 раз за год обновлял конфиг → но PF упал на 40%

- Причина: **drift в распределении условий**.

Например: условие *«плотность в стакане»* работало при BTC-dominance > 60%, но при altseason (BTC < 40%) стакан стал «размытым» — условие продолжало срабатывать, но с обратной корреляцией.

- `trainer.py` этого не замечал, потому что *не отслеживает распределение признаков*, а только агрегатные метрики (PF, win-rate).

🔹 **Скрытая временная аномалия:**

> Бот *оптимизирует прошлое*, но не *предотвращает распад корреляций в будущем*.

→ Это **системный риск всех batch-обучаемых систем без online drift detection**.

---

### 🔁 ** инверсия и мета-паттерны**

Возьмём заявленный принцип:

> *«Взвешенные основания позволяют кодифицировать трейдерскую интуицию»*

**Инверсия:**

→ *Чем больше весов, тем меньше интерпретируемость.*

→ При 10+ условиях с весами 5–30 система становится **чёрным ящиком второго порядка** (черный ящик генерирует чёрный ящик).

**Мета-паттерн:**

→ Бот — *зеркало процесса разработки*:

- Автор задаёт *неточные ТЗ* → ИИ генерирует *приблизительные решения*

- Бот принимает *нечёткие сигналы* (`density_weight=27`) → принимает *приблизительные решения*

→ **Архитектура наследует эпистемическую неопределённость своего создателя.**

🔹 **Неочевидная связь (ГИПОТЕЗА):**

> Генерация кода ИИ и принятие торговых решений ботом — это *один и тот же процесс*:

> **Нечёткая посылка → вероятностный вывод → действие с риском галлюцинации.**

> Бот не торгует по рынку — он *торгует по интерпретации рынка, сгенерированной ИИ*.

---

## 🧭 ИТОГ: СВОЙСТВА ТЕНЕВОЙ АРХИТЕКТУРЫ (ГИПОТЕЗА)

| Уровень | Явная архитектура | Теневая архитектура |

|--------|-------------------|---------------------|

| **Цель** | Скальпинг с адаптацией | Эксперимент по самоорганизации ИИ-кода |

| **Цикл** | Замкнутый | *Полуоткрытый*: нет feedback от реального рынка в runtime |

| **Надёжность** | Техническая (reconnect, keepalive) | *Эпистемическая*: нет защиты от дрейфа семантики условий |

| **Роль ИИ** | Генератор кода | *Скрытый архитектор*: логика бота — проекция промптов автора |

| **Главный риск** | Технический сбой | *Распад корреляций без обнаружения* |

Спасибо, большое. Сейчас уже голова не варит, завтра прочитаю подробнее

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

Так в том‑то и дело: бредогенератор изливает наукообразный поток сознания, перемежённый загадочными символами — а легко внушаемый человек «да это ж контупер... не может же он пургу гнать! Значит, в этом что‑то есть!..» А дальше, как говорится, «в любой дури есть скрытый смысл, если его там найти

Соглашусь с вами - но только частично. ИИ несет неконтроллируемый бред тогда, когда он неуправляем. Как, собственно, он устроен? Это, скажем так, склад забитый различной информацией по определенную дату с доступом в интернет. Если мы делаем конкретный запрос на который он точно знает ответ - сколько будет 2х2 - он даст ответ. Кратко - академтческие знания. Но если задавать абстрактные вопросы или просить его симулировать роль - он это сделает. Его задача - дать всегда ответ. Если его поток мышления не контроллировать заранее заданными алгоритмами - мы получим лютую дичь, вроде кабанов. Только и всего...

Так в том-то и проблема. Если я не знаю правильный ответ — то как я определю, что ответ Искусственного Идиота правильный? А если я знаю правильный ответ — то зачем мне тратить время на написание промпта?

Но если вы не можете получить впринципе правильный ответ - то тогда вам не все равно - где вы его получите? Дело то в другом - на умение критически оценивать полученный ответ и возможностью самому принять решение. Если ИИ использовать как инструмент - это одно. Если его использовать, как Оракула или Всезнайку - это уже совершенно другое.

Но если вы не можете получить впринципе правильный ответ

...то я иду к специалисту.

С точки зрения порога вхождения в разработку функционирующих продуктов в новой ИИ-реальности - очень круто, красавчик!

Sign up to leave a comment.

Articles