Skip to content

fix(ton-trading-bot): исправить стратегию накопления TON (#204)#205

Merged
xlabtg merged 2 commits into
xlabtg:mainfrom
konard:issue-204-3b5782af69cd
Jul 12, 2026
Merged

fix(ton-trading-bot): исправить стратегию накопления TON (#204)#205
xlabtg merged 2 commits into
xlabtg:mainfrom
konard:issue-204-3b5782af69cd

Conversation

@konard

@konard konard commented Jul 12, 2026

Copy link
Copy Markdown

Что исправлено

ton_trading_auto_execute больше не трактует рост TON/USD как прибыль для стратегии накопления TON→USDT.

  • Для новых TON→стейблкоин правил auto_close_at_profit_percent сохраняется направление below: правило срабатывает после заданного падения цены, а не роста.
  • Для остальных пар и старых правил сохраняется прежнее направление above.
  • После фактического reverse-swap P&L считается в единицах исходного актива: received_from_asset - amount_in. Поэтому сценарий сделки [P0] ton-trading-bot: 3 critical tools documented but missing from exported API (get_open_positions, close_position, close_all_positions) #188 теперь даёт 10.93 - 10 = +0.93 TON, а не ошибочный убыток из движения USD-цены.
  • В результат закрытия добавлен pnl_asset, чтобы единица P&L была явной.
  • Миграция добавляет stop_loss_rules.profit_direction с обратно совместимым значением above.
  • Версия ton-trading-bot повышена с 2.4.1 до 2.4.2, README обновлён.

Воспроизведение

До исправления тест с реальными данными issue падал:

  • вход: 10 TON → 17.95 USDT при $1.795;
  • обратный своп после падения: 17.95 USDT → 10.93 TON при $1.6412;
  • ожидалось: +0.93 TON (+9.3%);
  • получалось: -$1.538 из формулы движения TON/USD.

Автоматические проверки

Добавлены тесты, которые проверяют:

  1. TON→USDT правило не срабатывает при росте цены и срабатывает при падении на заданный процент;
  2. auto_execute сохраняет profit_direction = below для накопления;
  3. reverse-swap сделки [P0] ton-trading-bot: 3 critical tools documented but missing from exported API (get_open_positions, close_position, close_all_positions) #188 записывает +0.93 TON;
  4. ошибка simulation quote возвращает статус closing → open;
  5. неопределённый результат real reverse-swap переводит позицию в close_failed;
  6. существующая CAS-защита не допускает двойное закрытие.

Результаты локально:

  • node --test plugins/ton-trading-bot/tests/index.test.js plugins/ton-trading-bot/tests/open-positions.test.js — 203/203;
  • npm run lint — 0 ошибок (только унаследованные предупреждения);
  • npm run typecheck — успешно;
  • npm run validateton-trading-bot: 42 tool(s) validated.

Общий npm test доходит до 495 успешных тестов и падает только на несвязанном vk-full-admin из-за отсутствующей зависимости vk-io. Общая validate также сообщает отсутствующие зависимости других плагинов (@evaafi/sdk, @tonkite/highload-wallet-v3, @ston-fi/api, vk-io).

Fixes #204

konard added 2 commits July 12, 2026 05:44
Adding .gitkeep for PR creation (default mode).
This file will be removed when the task is complete.

Issue: xlabtg#204
@konard konard changed the title [WIP] Bug: ton_trading_auto_execute with auto_close_at_profit_percent closes TON→USDT position on TON price rise, breaking TON accumulation strategy fix(ton-trading-bot): исправить стратегию накопления TON (#204) Jul 12, 2026
@konard konard marked this pull request as ready for review July 12, 2026 05:49
@konard

konard commented Jul 12, 2026

Copy link
Copy Markdown
Author

Working session summary

Готово: issue #204 исправлен, изменения отправлены в PR #205, PR переведён в ready.

Основное:

Проверки:

  • Профильные тесты: 203/203.
  • CI, CodeQL, lint, TypeScript, runtime/SDK build и deploy — успешно.
  • Ветка синхронизирована с upstream/main.
  • Рабочее дерево чистое.
  • Итоговый коммит: 34f990b.

This summary was automatically extracted from the AI working session output.

@konard

konard commented Jul 12, 2026

Copy link
Copy Markdown
Author

🤖 Solution Draft Log

This log file contains the complete execution trace of the AI solution draft process.

💰 Cost estimation:

  • Model: GPT-5.6 Sol
  • Provider: OpenAI
  • Public pricing estimate: $5.275215

📊 Context and tokens usage:

  • 133.2K / 200K (67%) input tokens, 11.1K / 128K (9%) output tokens

Total: (133.2K + 3.4M cached) input tokens, 11.1K output tokens, $5.275215 cost

🤖 Models used:

  • Tool: OpenAI Codex
  • Requested: gpt-5.6-sol
  • Thinking level: off (disabled)
  • Model: GPT-5.6 Sol (gpt-5.6-sol)

📎 Log file uploaded as Gist (1549KB)


Now working session is ended, feel free to review and add any feedback on the solution draft.

@konard

konard commented Jul 12, 2026

Copy link
Copy Markdown
Author

✅ Ready to merge

This pull request is now ready to be merged:

  • All CI checks have passed
  • No merge conflicts
  • No pending changes

Monitored by hive-mind with --auto-restart-until-mergeable flag

@xlabtg xlabtg merged commit 15c5673 into xlabtg:main Jul 12, 2026
8 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Bug: ton_trading_auto_execute with auto_close_at_profit_percent closes TON→USDT position on TON price rise, breaking TON accumulation strategy

2 participants