Блог им. BWT
Вайб кодингом уже никого не удивить. Описываешь как ты видишь алгоритм и через несколько минут код готов. Можно тестировать, оптимизировать, смотреть и анализировать графики, искать ошибки и пути дальнейшего развития. Все это увлекательно, интересно и тоже отнимает прилично времени и требует концентрации.
Для опытных специалистов я, конечно Америку не открою, но сам был буквально ошеломлен какие возможности открываются если получить полный доступ к терминалу, тестеру и оптимизатору через MCP. Я за две недели нашел множество ошибок в алгоритме и проверил огромное количество идей, которыми даже не планировал заняться в ближайшее время. Сейчас у меня недельный лимит по подписке с ИИ закончился, поэтому пишу сюда)). Наверно неплохой иллюстрацией будет фрагмент нашего сегодняшнего разбора с ИИ.
Я:
для режима входа в позицию по развороту нужно после этого на каждом шаге проверять два бара. т.е. туда ли движемся. А то сейчас случилась ситуация в тестере на развороте вошли в селл, а на следующем баре оранжевая пошла вверх и это движение уже осталось неконтролируемым. можешь перепроверить это третья сделка от начала теста?
ИИ:
Проверяю по тестеру: параметры робота и первые сделки. Нужна третья сделка — шорт, который не закрылся, когда оранжевая пошла вверх.
Нашёл третью сделку — позицию 73, шорт по 2.376, которая всё ещё открыта. Теперь достаю строки из research CSV вокруг момента входа.
Нашел сделку в Research CSV: шорт по 2.377 на свече 13:15, окно 85, выхода до 15:30 нет. Поскольку значения оранжевой линии в CSV не сохраняются, пересчитываю их офлайн по свечам NEAR с точными настройками робота, выводя для каждого бара оранжевую линию, три значения для поиска разворота и сам найденный разворот.
Причина нашлась, и она двойная:
Время |
Окно |
Оранжевая на графике |
Три значения логики (v2 → v1 → v0) |
Разворот: график / логика |
13:15 |
85 |
2.5301 → 2.5290 |
2.5133 → 2.5301 → 2.5290 |
вниз / вниз → вход в шорт |
13:30 |
85, зафиксировано |
2.5223 |
2.5148 → 2.5185 → 2.5223 |
— / — |
13:45 |
85 |
2.5264 |
2.5185 → 2.5223 → 2.5264 |
вверх / — |
14:00–15:30 |
85 |
растёт |
растёт монотонно |
— / — |
Делаю, как вы предлагаете: после входа на каждом баре проверять последние два бара линии. Если она два бара подряд идёт против позиции, позиция закрывается. Выход по вершине против позиции тоже остаётся, он срабатывает на бар раньше. В этой сделке выход случился бы уже в 13:30, на следующем баре после входа.
Я разобрал третью сделку и добавил проверку двух баров. Скрипт собирается без ошибок; в терминале правка заработает после перезапуска, в тестере я её не прогонял.
Что произошло в сделке (NEAR, шорт 14.10 в 13:15 по 2.377, окно зафиксировано на 85):
Время |
Лучшее окно |
Оранжевая на графике |
По чему смотрела логика |
Разворот: график / логика |
12:00–13:00 |
растёт 79 → 84 |
растёт |
история |
— |
13:15 |
85 |
2.5301 → 2.5290 |
2.5133 → 2.5301 → 2.5290 |
вниз / вниз → вход |
13:30 |
окно зафиксировано на 85 |
2.5223 |
2.5148 → 2.5185 → 2.5223 |
— / — |
13:45 |
85 |
2.5264 |
2.5185 → 2.5223 → 2.5264 |
вверх / — |
до 15:30 |
85 |
растёт |
растёт без вершины |
— / — |
Причин две:
Что исправил. На каждом баре проверяется направление последних двух баров сигнальной линии, при зафиксированном окне — в этом окне:
В этой сделке выход был бы в 13:30, на следующей свече после входа. При Turn detect = TwoBars поведение не меняется.
Учтите: проверка двух баров действует не только на оранжевую, но и на красную линию в режиме Vertex.
Записал в журнал как R50, скрипт разбора — OrangeLockDebug.cs.
Что ещё можно сделать. Сама причина плохого входа не устранена: вершина, созданная сменой окна. Можно при входе по развороту проверять, что вершина есть и в том окне, которое будет зафиксировано. Тогда такие ложные входы отсекались бы ещё до открытия позиции. Сделать?
Толкать цену вперед или развернуть? Это решает распределение объема по телу фрактала. Мораль — учим робота читать график по каждой свече.