Проприетарный торговый терминал с ИИ и движком разработки стратегий: автономные боты, 69 типов стратегий и конструктор edge с walk-forward валидацией и форвард-гейтом, риск-сайзинг с компаундингом — даже когда браузер закрыт. Крипта, форекс, индексы и сырьё через 5 брокеров: Binance, OANDA, IG, Saxo, Trading 212.
AI Trading Platform — проприетарный веб-терминал для торговли криптовалютами, форексом, индексами и сырьём. Построен на PHP 8.3 / JavaScript ES6+ / Python 3.8 с интеграцией Binance, OANDA v20, IG, Saxo и Trading 212 API. Автоматизация на основе ИИ, серверная лаборатория стратегий с walk-forward и нулевым гейтом (работает без открытого браузера), сигнальный ансамбль и профессиональный набор инструментов технического анализа. Графики — Lightweight Charts (TradingView), интерфейс RU / EN.
Платформа создавалась как единое рабочее место трейдера-алготрейдера: вместо десятка вкладок и разрозненных скриптов — один терминал, где боты, индикаторы, теханализ, журнал сделок и риск-менеджмент работают вместе. Каждый бот ведёт собственный журнал, считает математическое ожидание и винрейт, а модели дообучаются на закрытых сделках. Вы видите прозрачную статистику P&L по каждому боту и брокеру — без «чёрных ящиков».
шесть находок, каждая меняла выводы, а не только код
Данные по акциям брались с фида iex — это одна биржа из полутора десятков. Замер по PLTR на пятнадцатиминутках за месяц: iex дал 591 бар и 28.7 млн объёма, полный тейп sip — 818 баров и 426.6 млн. Треть баров отсутствовала вовсе, остальные сложены из одной пятнадцатой сделок: их максимум, минимум и закрытие не отражали рынок. Вывод «по бумаге эджа нет» оказался выводом о фиде: на полных данных тот же прогон нашёл семь стратегий вместо одной.
Ошибка прожила месяцы, потому что данные никто не спрашивал, кто они. Перед каждым перебором ряд проверяется на источник, глубину, полноту, разрывы и битые бары — с поправкой на режим торгов, потому что круглосуточную крипту нельзя мерить меркой шестичасовой американской сессии. Паспорт кладётся рядом со стратегией: через месяц видно, на чём именно она доказана.
Профит-лок сравнивал пиковую прибыль в фунтах с плановым риском в фунтах. План расходится с фактом всегда — минимум лота, маржинальный кап, курс котируемой валюты. Порог уезжал, и все победители выходили ровно на +1.00R при цели 2.9R: победитель становился равен проигравшему. Теперь R берётся из цен, где валюта и объём не участвуют.
Сигнал выхода считался по последнему закрытому бару — тому самому, на котором открылись. Форма бара входа выбивала сделку немедленно: медиана жизни позиции была пять минут при часовых и дневных стратегиях, три четверти закрывались за четверть часа. Выход теперь ждёт хотя бы один новый бар.
чтобы найденное не вернулось
Калибровка случайности копилась через максимум со старым значением: один испорченный замер отравлял инструмент навсегда. По PLTR держалось 11.01, тогда как честный перезамер дал 1.77 — завышено вшестеро, и стратегии резались против числа, которого шум никогда не показывал. Таких ключей было 96 из 652. Перезамер теперь замещает, а файл ведёт список замен.
Журнал вырос со 129 полей до 224 и подключён ко всем двадцати торгующим ботам вместо одного. Тренд, диапазон, волатильность, время, состояние счёта на входе; форма пути, смена режима под сделкой и КПД выхода — на закрытии. Всё считается из свечей, которые бот уже держит: ни одного лишнего запроса к брокеру.
Сканер читает код — этот слой смотрит на поведение. Десять проверок стоят внутри журнала, через который проходит каждая сделка, поэтому покрыты и боты, которых ещё не написали. Главная из них: полный стоп обязан давать ровно −1.0R. Именно она вскрыла, что R считали делением фунтов на котируемую валюту.
Каждый новый класс добавлен по случившемуся на счёте, а не из общих соображений: время свечи через parseFloat (у всех баров выходило число 2026), выдуманная сетка объёма, риск на котируемую валюту, закрытие чужих позиций в цикле по всему счёту, частичный фид, данные без паспорта. Из 130 находок настоящими оказались меньше половины — остальные разобраны глазами и признаны ложными.
сквозной аудит движка и всех ботов: 1–2 августа 2026
Профит-лок считался от максимума бара и мог оказаться выше рынка — брокер такой стоп отвергает, а тест засчитывал выход по лучшей цене дня. Признак был явный: доля фиксации 1.0 выходила лучшей на любом уровне. Теперь лок ставится, только если он исполним.
Стоп подтягивался к максимуму бара и тут же проверялся его же минимумом — тест выходил по цене, которой в тот момент не существовало. На одном баре это давало до +2R из воздуха, и завышало именно трендовые стратегии, на которые сделана основная ставка.
Объём считался делением фунтов на дистанцию стопа в валюте котировки. По йеновым парам реальный риск выходил в 210 раз меньше плана, золото и индексы не торговались вовсе — их объём не проходил выдуманный минимум. Минимумы и шаг объёма теперь берутся у биржи.
Порог стоял в абсолютных фунтах: при риске £1 это 0.8R, при £2.10 уже 0.38R — настройка молча уезжала. Замер показал, что стоявшее значение было худшим во всей сетке. Подобрано измерением, а не на глаз.
каждая закрывает решение, которое раньше принималось на глаз
Берёт реальные закрытые сделки у брокера и прогоняет их через модель с теми же параметрами. Ловит расхождения, о которых мы не догадывались. Первый запуск: у одного бота модель обещала +1.31R, счёт дал +0.05R — оказалось, 86% его сделок гасились извне, не дойдя ни до стопа, ни до цели.
Все прочие лабы меряют одну стратегию отдельно. Эта торгует весь набор одновременно на общем счёте и проверяет то, что раньше стояло на глаз: сколько позиций держать разом, при какой корреляции не добавлять ещё одну, помогает ли дневной ограничитель убытка.
Найденные ошибки оказались не отдельными промахами, а восемью классами, размноженными копированием — одна и та же строка сидела в девяти ботах. Сканер описывает каждый класс как проверку и гоняет по всем файлам сразу, не давая внести его заново.
Подбирает замером порог фиксации прибыли и лимит удержания под конкретные сетапы бота. Общего правила нет: одному боту фиксация вредна на любом уровне, другому помогает, третьему безразлична.
ошибки, которые выглядят правдоподобно
Все найденные ошибки были правдоподобны на вид: код исполнялся, числа получались, в журналах тишина. Теперь каждый шаг расчёта сверяется с тем, что физически возможно, и нарушение записывается с примерами — даже если ничего не упало.
Единая батарея: объём положителен, стоп и цель с нужной стороны, объём не ниже минимума биржи, а риск совпадает с планом хотя бы по порядку величины. Последнее поймало бы промах в 210 раз мгновенно.
Стратегия, не давшая ни одного сигнала за всю историю, помечается как мёртвая. Так полгода считался рабочим бот, чей индикатор был тождественно равен нулю.
Пустой ответ брокера при таймауте был неотличим от «позиций нет»: сделки считались закрытыми, слоты освобождались, а позиции оставались у брокера без управления. Отказ теперь отличается от пустоты.
что изменилось в самих вычислениях
Спред брался одной котировкой и применялся ко всей истории — в выходные это давало пятничное закрытие, завышавшее расходы вчетверо. Теперь берётся медиана фактического спреда по всей выборке.
Замер по часам суток: в 21:00 UTC спред раздувается в 2.6–5.8 раза. Этот час теперь исключён из входов везде — он бьёт сильнее всего по быстрым таймфреймам.
Стоп жёстко привязывался к таймфрейму сигнала, и быстрые интервалы выглядели неторгуемыми. Момент входа и вес сделки — разные вещи: на одних данных 47 682 варианта дали ноль при старом правиле и десять выживших при новом.
Сигнал каждой стратегии пересчитывался заново сорок пять раз подряд. Устранение избыточности сократило прогон со 185 секунд до 33 при полностью совпадающих результатах.
Каждый раздел — на отдельной странице