uxname gist felülvizsgálása 2 days ago. Revízióhoz ugrás
3 files changed, 489 insertions, 497 deletions
1.log
| @@ -1,32 +1,11 @@ | |||
| 1 | - | ❯ vitest run src/mastra/super/skills/backtest-runner/skill.spec.ts:119 | |
| 1 | + | ❯ vitest run src/mastra/super/skills/backtest-runner/skill.spec.ts | |
| 2 | 2 | ||
| 3 | 3 | RUN v4.0.16 /home/dex/Документы/Work/santiment-ai/strategy-agent | |
| 4 | 4 | ||
| 5 | + | stdout | src/mastra/super/skills/backtest-runner/skill.spec.ts > Backtest Runner: Copytrading Strategy Test (Real Docker) > should successfully prepare env, fetch data, and run freqtrade via docker | |
| 6 | + | [Isolation] Environment prepared for run 9c19c475-6cf9-4474-a93c-7d45338d033b | |
| 5 | 7 | ||
| 6 | - | ⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯ Failed Suites 1 ⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯ | |
| 7 | - | ||
| 8 | - | FAIL src/mastra/super/skills/backtest-runner/skill.spec.ts [ src/mastra/super/skills/backtest-runner/skill.spec.ts ] | |
| 9 | - | Error: No test found in src/mastra/super/skills/backtest-runner/skill.spec.ts in line 119 | |
| 10 | - | ⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯[1/1]⎯ | |
| 11 | - | ||
| 12 | - | ||
| 13 | - | Test Files 1 failed | 1 skipped (1) | |
| 14 | - | Tests 2 skipped (2) | |
| 15 | - | Start at 14:55:20 | |
| 16 | - | Duration 624ms (transform 148ms, setup 353ms, import 158ms, tests 0ms, environment 0ms) | |
| 17 | - | ||
| 18 | - | ||
| 19 | - | ~/Документы/Work/santiment-ai/strategy-agent master* | |
| 20 | - | ❯ vitest run src/mastra/super/skills/backtest-runner/skill.spec.ts:119 | |
| 21 | - | ~/Документы/Work/santiment-ai/strategy-agent master* | |
| 22 | - | ❯ vitest run src/mastra/super/skills/backtest-runner/skill.spec.ts:119 | |
| 23 | - | ||
| 24 | - | RUN v4.0.16 /home/dex/Документы/Work/santiment-ai/strategy-agent | |
| 25 | - | ||
| 26 | - | stdout | src/mastra/super/skills/backtest-runner/skill.spec.ts:304:3 > Backtest Runner: Copytrading Strategy Test (Real Docker) > should successfully prepare env, fetch data, and run freqtrade via docker | |
| 27 | - | [Isolation] Environment prepared for run 861f6d55-71d7-4fb7-bec3-1852f3f713ed | |
| 28 | - | ||
| 29 | - | stdout | src/mastra/super/skills/backtest-runner/skill.spec.ts:304:3 > Backtest Runner: Copytrading Strategy Test (Real Docker) > should successfully prepare env, fetch data, and run freqtrade via docker | |
| 8 | + | stdout | src/mastra/super/skills/backtest-runner/skill.spec.ts > Backtest Runner: Copytrading Strategy Test (Real Docker) > should successfully prepare env, fetch data, and run freqtrade via docker | |
| 30 | 9 | [RunBacktest] Enforcing config overrides: { | |
| 31 | 10 | trading_mode: 'futures', | |
| 32 | 11 | margin_mode: 'isolated', | |
| @@ -34,18 +13,18 @@ stdout | src/mastra/super/skills/backtest-runner/skill.spec.ts:304:3 > Backtest | |||
| 34 | 13 | dataformat_trades: 'json' | |
| 35 | 14 | } | |
| 36 | 15 | ||
| 37 | - | stdout | src/mastra/super/skills/backtest-runner/skill.spec.ts:304:3 > Backtest Runner: Copytrading Strategy Test (Real Docker) > should successfully prepare env, fetch data, and run freqtrade via docker | |
| 16 | + | stdout | src/mastra/super/skills/backtest-runner/skill.spec.ts > Backtest Runner: Copytrading Strategy Test (Real Docker) > should successfully prepare env, fetch data, and run freqtrade via docker | |
| 38 | 17 | [DataFetcher] Downloading 1 pairs... | |
| 39 | 18 | ||
| 40 | - | stdout | src/mastra/super/skills/backtest-runner/skill.spec.ts:304:3 > Backtest Runner: Copytrading Strategy Test (Real Docker) > should successfully prepare env, fetch data, and run freqtrade via docker | |
| 19 | + | stdout | src/mastra/super/skills/backtest-runner/skill.spec.ts > Backtest Runner: Copytrading Strategy Test (Real Docker) > should successfully prepare env, fetch data, and run freqtrade via docker | |
| 41 | 20 | [DataFetcher] Completed. Processed: 1 | |
| 42 | 21 | ||
| 43 | - | stdout | src/mastra/super/skills/backtest-runner/skill.spec.ts:304:3 > Backtest Runner: Copytrading Strategy Test (Real Docker) > should successfully prepare env, fetch data, and run freqtrade via docker | |
| 22 | + | stdout | src/mastra/super/skills/backtest-runner/skill.spec.ts > Backtest Runner: Copytrading Strategy Test (Real Docker) > should successfully prepare env, fetch data, and run freqtrade via docker | |
| 44 | 23 | Checking/Rebuilding Docker image "mastra-freqtrade:latest"... | |
| 45 | 24 | Docker command: cd /home/dex/Документы/Work/santiment-ai/strategy-agent/docker/freqtrade && docker build -t mastra-freqtrade:latest . | |
| 46 | 25 | ||
| 47 | - | stdout | src/mastra/super/skills/backtest-runner/skill.spec.ts:304:3 > Backtest Runner: Copytrading Strategy Test (Real Docker) > should successfully prepare env, fetch data, and run freqtrade via docker | |
| 48 | - | Sending build context to Docker daemon 221.2kB | |
| 26 | + | stdout | src/mastra/super/skills/backtest-runner/skill.spec.ts > Backtest Runner: Copytrading Strategy Test (Real Docker) > should successfully prepare env, fetch data, and run freqtrade via docker | |
| 27 | + | Sending build context to Docker daemon 221.2kB | |
| 49 | 28 | Step 1/7 : FROM freqtradeorg/freqtrade:stable | |
| 50 | 29 | ---> dfd23153a7f2 | |
| 51 | 30 | Step 2/7 : COPY requirements.txt /freqtrade/ | |
| @@ -71,121 +50,494 @@ Successfully tagged mastra-freqtrade:latest | |||
| 71 | 50 | ||
| 72 | 51 | Docker image "mastra-freqtrade:latest" is ready ✅ | |
| 73 | 52 | ||
| 74 | - | stdout | src/mastra/super/skills/backtest-runner/skill.spec.ts:304:3 > Backtest Runner: Copytrading Strategy Test (Real Docker) > should successfully prepare env, fetch data, and run freqtrade via docker | |
| 75 | - | [DOCKER CMD] docker run --rm --memory 1g -v "/home/dex/Документы/Work/santiment-ai/strategy-agent/data/freqtrade_runs/861f6d55-71d7-4fb7-bec3-1852f3f713ed:/freqtrade/user_data" -v "/home/dex/Документы/Work/santiment-ai/strategy-agent/data/market_cache/binance:/freqtrade/user_data/data/binance" mastra-freqtrade:latest backtesting --config /freqtrade/user_data/config.json --strategy Strategy --timerange 20251201-20251230 --export trades --data-format-ohlcv json --logfile /freqtrade/user_data/logs/freqtrade.log | |
| 53 | + | stdout | src/mastra/super/skills/backtest-runner/skill.spec.ts > Backtest Runner: Copytrading Strategy Test (Real Docker) > should successfully prepare env, fetch data, and run freqtrade via docker | |
| 54 | + | [DOCKER CMD] docker run --rm --memory 1g -v "/home/dex/Документы/Work/santiment-ai/strategy-agent/data/freqtrade_runs/9c19c475-6cf9-4474-a93c-7d45338d033b:/freqtrade/user_data" -v "/home/dex/Документы/Work/santiment-ai/strategy-agent/data/market_cache/binance:/freqtrade/user_data/data/binance" mastra-freqtrade:latest backtesting --config /freqtrade/user_data/config.json --strategy Strategy --timerange 20251201-20251230 --export trades --data-format-ohlcv json --logfile /freqtrade/user_data/logs/freqtrade.log | |
| 76 | 55 | ||
| 77 | - | stdout | src/mastra/super/skills/backtest-runner/skill.spec.ts:304:3 > Backtest Runner: Copytrading Strategy Test (Real Docker) > should successfully prepare env, fetch data, and run freqtrade via docker | |
| 78 | - | !!!!!!!!!!! { | |
| 56 | + | stdout | src/mastra/super/skills/backtest-runner/skill.spec.ts > Backtest Runner: Copytrading Strategy Test (Real Docker) > should successfully prepare env, fetch data, and run freqtrade via docker | |
| 57 | + | Backtest result: { | |
| 79 | 58 | success: true, | |
| 80 | - | runId: '861f6d55-71d7-4fb7-bec3-1852f3f713ed', | |
| 59 | + | runId: '9c19c475-6cf9-4474-a93c-7d45338d033b', | |
| 81 | 60 | logTail: 'Result for strategy Strategy\n' + | |
| 82 | - | ' BACKTESTING REPORT \n' + | |
| 83 | - | '┏━━━━━━━━━━━━━━━┳━━━━━━━━┳━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━━━━┓\n' + | |
| 84 | - | '┃ Pair ┃ Trades ┃ Avg Profit % ┃ Tot Profit USDT ┃ Tot Profit % ┃ Avg Duration ┃ Win Draw Loss Win% ┃\n' + | |
| 85 | - | '┡━━━━━━━━━━━━━━━╇━━━━━━━━╇━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━━━━┩\n' + | |
| 86 | - | '│ BTC/USDT:USDT │ 0 │ 0.0 │ 0.000 │ 0.0 │ 0:00 │ 0 0 0 0 │\n' + | |
| 87 | - | '│ TOTAL │ 0 │ 0.0 │ 0.000 │ 0.0 │ 0:00 │ 0 0 0 0 │\n' + | |
| 88 | - | '└───────────────┴────────┴──────────────┴─────────────────┴──────────────┴──────────────┴────────────────────────┘\n' + | |
| 89 | - | ' LEFT OPEN TRADES REPORT \n' + | |
| 90 | - | '┏━━━━━━━┳━━━━━━━━┳━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━━━━┓\n' + | |
| 91 | - | '┃ Pair ┃ Trades ┃ Avg Profit % ┃ Tot Profit USDT ┃ Tot Profit % ┃ Avg Duration ┃ Win Draw Loss Win% ┃\n' + | |
| 92 | - | '┡━━━━━━━╇━━━━━━━━╇━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━━━━┩\n' + | |
| 93 | - | '│ TOTAL │ 0 │ 0.0 │ 0.000 │ 0.0 │ 0:00 │ 0 0 0 0 │\n' + | |
| 94 | - | '└───────┴────────┴──────────────┴─────────────────┴──────────────┴──────────────┴────────────────────────┘\n' + | |
| 95 | - | ' ENTER TAG STATS \n' + | |
| 96 | - | '┏━━━━━━━━━━━┳━━━━━━━━━┳━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━━━━┓\n' + | |
| 97 | - | '┃ Enter Tag ┃ Entries ┃ Avg Profit % ┃ Tot Profit USDT ┃ Tot Profit % ┃ Avg Duration ┃ Win Draw Loss Win% ┃\n' + | |
| 98 | - | '┡━━━━━━━━━━━╇━━━━━━━━━╇━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━━━━┩\n' + | |
| 99 | - | '│ TOTAL │ 0 │ 0.0 │ 0.000 │ 0.0 │ 0:00 │ 0 0 0 0 │\n' + | |
| 100 | - | '└───────────┴─────────┴──────────────┴─────────────────┴──────────────┴──────────────┴────────────────────────┘\n' + | |
| 101 | - | ' EXIT REASON STATS \n' + | |
| 102 | - | '┏━━━━━━━━━━━━━┳━━━━━━━┳━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━━━━┓\n' + | |
| 103 | - | '┃ Exit Reason ┃ Exits ┃ Avg Profit % ┃ Tot Profit USDT ┃ Tot Profit % ┃ Avg Duration ┃ Win Draw Loss Win% ┃\n' + | |
| 104 | - | '┡━━━━━━━━━━━━━╇━━━━━━━╇━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━━━━┩\n' + | |
| 105 | - | '│ TOTAL │ 0 │ 0.0 │ 0.000 │ 0.0 │ 0:00 │ 0 0 0 0 │\n' + | |
| 106 | - | '└─────────────┴───────┴──────────────┴─────────────────┴──────────────┴──────────────┴────────────────────────┘\n' + | |
| 107 | - | ' MIXED TAG STATS \n' + | |
| 108 | - | '┏━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━┳━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━━━━┓\n' + | |
| 109 | - | '┃ Enter Tag ┃ Exit Reason ┃ Trades ┃ Avg Profit % ┃ Tot Profit USDT ┃ Tot Profit % ┃ Avg Duration ┃ Win Draw Loss Win% ┃\n' + | |
| 110 | - | '┡━━━━━━━━━━━╇━━━━━━━━━━━━━╇━━━━━━━━╇━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━━━━┩\n' + | |
| 111 | - | '│ TOTAL │ │ 0 │ 0.0 │ 0.000 │ 0.0 │ 0:00 │ 0 0 0 0 │\n' + | |
| 112 | - | '└───────────┴─────────────┴────────┴──────────────┴─────────────────┴──────────────┴──────────────┴────────────────────────┘\n' + | |
| 113 | - | 'No trades made. Your starting balance was 1000 USDT, and your stake was 100 USDT.\n' + | |
| 61 | + | ' BACKTESTING REPORT \n' + | |
| 62 | + | '┏━━━━━━━━━━━━━━━┳━━━━━━━━┳━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━━━━┓\n' + | |
| 63 | + | '┃ Pair ┃ Trades ┃ Avg Profit % ┃ Tot Profit USDT ┃ Tot Profit % ┃ Avg Duration ┃ Win Draw Loss Win% ┃\n' + | |
| 64 | + | '┡━━━━━━━━━━━━━━━╇━━━━━━━━╇━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━━━━┩\n' + | |
| 65 | + | '│ BTC/USDT:USDT │ 1 │ -1.82 │ -1.611 │ -0.16 │ 7 days, 0:00:00 │ 0 0 1 0 │\n' + | |
| 66 | + | '│ TOTAL │ 1 │ -1.82 │ -1.611 │ -0.16 │ 7 days, 0:00:00 │ 0 0 1 0 │\n' + | |
| 67 | + | '└───────────────┴────────┴──────────────┴─────────────────┴──────────────┴─────────────────┴────────────────────────┘\n' + | |
| 68 | + | ' LEFT OPEN TRADES REPORT \n' + | |
| 69 | + | '┏━━━━━━━━━━━━━━━┳━━━━━━━━┳━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━━━━┓\n' + | |
| 70 | + | '┃ Pair ┃ Trades ┃ Avg Profit % ┃ Tot Profit USDT ┃ Tot Profit % ┃ Avg Duration ┃ Win Draw Loss Win% ┃\n' + | |
| 71 | + | '┡━━━━━━━━━━━━━━━╇━━━━━━━━╇━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━━━━┩\n' + | |
| 72 | + | '│ BTC/USDT:USDT │ 1 │ -1.82 │ -1.611 │ -0.16 │ 7 days, 0:00:00 │ 0 0 1 0 │\n' + | |
| 73 | + | '│ TOTAL │ 1 │ -1.82 │ -1.611 │ -0.16 │ 7 days, 0:00:00 │ 0 0 1 0 │\n' + | |
| 74 | + | '└───────────────┴────────┴──────────────┴─────────────────┴──────────────┴─────────────────┴────────────────────────┘\n' + | |
| 75 | + | ' ENTER TAG STATS \n' + | |
| 76 | + | '┏━━━━━━━━━━━┳━━━━━━━━━┳━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━━━━┓\n' + | |
| 77 | + | '┃ Enter Tag ┃ Entries ┃ Avg Profit % ┃ Tot Profit USDT ┃ Tot Profit % ┃ Avg Duration ┃ Win Draw Loss Win% ┃\n' + | |
| 78 | + | '┡━━━━━━━━━━━╇━━━━━━━━━╇━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━━━━┩\n' + | |
| 79 | + | '│ OTHER │ 1 │ -1.82 │ -1.611 │ -0.16 │ 7 days, 0:00:00 │ 0 0 1 0 │\n' + | |
| 80 | + | '│ TOTAL │ 1 │ -1.82 │ -1.611 │ -0.16 │ 7 days, 0:00:00 │ 0 0 1 0 │\n' + | |
| 81 | + | '└───────────┴─────────┴──────────────┴─────────────────┴──────────────┴─────────────────┴────────────────────────┘\n' + | |
| 82 | + | ' EXIT REASON STATS \n' + | |
| 83 | + | '┏━━━━━━━━━━━━━┳━━━━━━━┳━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━━━━┓\n' + | |
| 84 | + | '┃ Exit Reason ┃ Exits ┃ Avg Profit % ┃ Tot Profit USDT ┃ Tot Profit % ┃ Avg Duration ┃ Win Draw Loss Win% ┃\n' + | |
| 85 | + | '┡━━━━━━━━━━━━━╇━━━━━━━╇━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━━━━┩\n' + | |
| 86 | + | '│ force_exit │ 1 │ -1.82 │ -1.611 │ -0.16 │ 7 days, 0:00:00 │ 0 0 1 0 │\n' + | |
| 87 | + | '│ TOTAL │ 1 │ -1.82 │ -1.611 │ -0.16 │ 7 days, 0:00:00 │ 0 0 1 0 │\n' + | |
| 88 | + | '└─────────────┴───────┴──────────────┴─────────────────┴──────────────┴─────────────────┴────────────────────────┘\n' + | |
| 89 | + | ' MIXED TAG STATS \n' + | |
| 90 | + | '┏━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━┳━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━━━━┓\n' + | |
| 91 | + | '┃ Enter Tag ┃ Exit Reason ┃ Trades ┃ Avg Profit % ┃ Tot Profit USDT ┃ Tot Profit % ┃ Avg Duration ┃ Win Draw Loss Win% ┃\n' + | |
| 92 | + | '┡━━━━━━━━━━━╇━━━━━━━━━━━━━╇━━━━━━━━╇━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━━━━┩\n' + | |
| 93 | + | '│ │ force_exit │ 1 │ -1.82 │ -1.611 │ -0.16 │ 7 days, 0:00:00 │ 0 0 1 0 │\n' + | |
| 94 | + | '│ TOTAL │ │ 1 │ -1.82 │ -1.611 │ -0.16 │ 7 days, 0:00:00 │ 0 0 1 0 │\n' + | |
| 95 | + | '└───────────┴─────────────┴────────┴──────────────┴─────────────────┴──────────────┴─────────────────┴────────────────────────┘\n' + | |
| 96 | + | ' SUMMARY METRICS \n' + | |
| 97 | + | '┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓\n' + | |
| 98 | + | '┃ Metric ┃ Value ┃\n' + | |
| 99 | + | '┡━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┩\n' + | |
| 100 | + | '│ Backtesting from │ 2025-12-09 00:00:00 │\n' + | |
| 101 | + | '│ Backtesting to │ 2025-12-30 00:00:00 │\n' + | |
| 102 | + | '│ Trading Mode │ Isolated Futures │\n' + | |
| 103 | + | '│ Max open trades │ 1 │\n' + | |
| 104 | + | '│ │ │\n' + | |
| 105 | + | '│ Total/Daily Avg Trades │ 1 / 0.05 │\n' + | |
| 106 | + | '│ Starting balance │ 1000 USDT │\n' + | |
| 107 | + | '│ Final balance │ 998.389 USDT │\n' + | |
| 108 | + | '│ Absolute profit │ -1.611 USDT │\n' + | |
| 109 | + | '│ Total profit % │ -0.16% │\n' + | |
| 110 | + | '│ CAGR % │ -2.76% │\n' + | |
| 111 | + | '│ Sortino │ -100.00 │\n' + | |
| 112 | + | '│ Sharpe │ -100.00 │\n' + | |
| 113 | + | '│ Calmar │ -90.98 │\n' + | |
| 114 | + | '│ SQN │ -100.00 │\n' + | |
| 115 | + | '│ Profit factor │ 0.00 │\n' + | |
| 116 | + | '│ Expectancy (Ratio) │ -1.61 (-1.00) │\n' + | |
| 117 | + | '│ Avg. daily profit │ -0.077 USDT │\n' + | |
| 118 | + | '│ Avg. stake amount │ 88.531 USDT │\n' + | |
| 119 | + | '│ Total trade volume │ 175.751 USDT │\n' + | |
| 120 | + | '│ │ │\n' + | |
| 121 | + | '│ Best Pair │ BTC/USDT:USDT -0.16% │\n' + | |
| 122 | + | '│ Worst Pair │ BTC/USDT:USDT -0.16% │\n' + | |
| 123 | + | '│ Best trade │ BTC/USDT:USDT -1.82% │\n' + | |
| 124 | + | '│ Worst trade │ BTC/USDT:USDT -1.82% │\n' + | |
| 125 | + | '│ Best day │ -1.611 USDT │\n' + | |
| 126 | + | '│ Worst day │ -1.611 USDT │\n' + | |
| 127 | + | '│ Days win/draw/lose │ 0 / 0 / 1 │\n' + | |
| 128 | + | '│ Min/Max/Avg. Duration Winners │ 0d 00:00 / 0d 00:00 / 0d 00:00 │\n' + | |
| 129 | + | '│ Min/Max/Avg. Duration Losers │ 7d 00:00 / 7d 00:00 / 7d 00:00 │\n' + | |
| 130 | + | '│ Max Consecutive Wins / Loss │ 0 / 1 │\n' + | |
| 131 | + | '│ Rejected Entry signals │ 0 │\n' + | |
| 132 | + | '│ Entry/Exit Timeouts │ 0 / 0 │\n' + | |
| 133 | + | '│ │ │\n' + | |
| 134 | + | '│ Min balance │ 998.389 USDT │\n' + | |
| 135 | + | '│ Max balance │ 998.389 USDT │\n' + | |
| 136 | + | '│ Max % of account underwater │ 0.16% │\n' + | |
| 137 | + | '│ Absolute drawdown │ 1.611 USDT (0.16%) │\n' + | |
| 138 | + | '│ Drawdown duration │ 0 days 00:00:00 │\n' + | |
| 139 | + | '│ Profit at drawdown start │ 0 USDT │\n' + | |
| 140 | + | '│ Profit at drawdown end │ -1.611 USDT │\n' + | |
| 141 | + | '│ Drawdown start │ 2025-12-30 00:00:00 │\n' + | |
| 142 | + | '│ Drawdown end │ 2025-12-30 00:00:00 │\n' + | |
| 143 | + | '│ Market change │ -4.60% │\n' + | |
| 144 | + | '└───────────────────────────────┴────────────────────────────────┘\n' + | |
| 114 | 145 | '\n' + | |
| 115 | 146 | 'Backtested 2025-12-09 00:00:00 -> 2025-12-30 00:00:00 | Max open trades : 1\n' + | |
| 116 | - | ' STRATEGY SUMMARY \n' + | |
| 117 | - | '┏━━━━━━━━━━┳━━━━━━━━┳━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┓\n' + | |
| 118 | - | '┃ Strategy ┃ Trades ┃ Avg Profit % ┃ Tot Profit USDT ┃ Tot Profit % ┃ Avg Duration ┃ Win Draw Loss Win% ┃ Drawdown ┃\n' + | |
| 119 | - | '┡━━━━━━━━━━╇━━━━━━━━╇━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━┩\n' + | |
| 120 | - | '│ Strategy │ 0 │ 0.00 │ 0.000 │ 0.0 │ 0:00 │ 0 0 0 0 │ 0 USDT 0.00% │\n' + | |
| 121 | - | '└──────────┴────────┴──────────────┴─────────────────┴──────────────┴──────────────┴────────────────────────┴───────────────┘\n' + | |
| 122 | - | '2026-01-09 11:56:06,275 - freqtrade - INFO - freqtrade 2025.12\n' + | |
| 123 | - | '2026-01-09 11:56:06,680 - numexpr.utils - INFO - NumExpr defaulting to 8 threads.\n' + | |
| 124 | - | '2026-01-09 11:56:08,183 - freqtrade.configuration.load_config - INFO - Using config: /freqtrade/user_data/config.json ...\n' + | |
| 125 | - | '2026-01-09 11:56:08,186 - freqtrade.loggers - INFO - Enabling colorized output.\n' + | |
| 126 | - | '2026-01-09 11:56:08,187 - freqtrade.loggers - INFO - Logfile configured\n' + | |
| 127 | - | '2026-01-09 11:56:08,187 - freqtrade.loggers - INFO - Verbosity set to 0\n' + | |
| 128 | - | '2026-01-09 11:56:08,188 - freqtrade.configuration.configuration - INFO - Using max_open_trades: None ...\n' + | |
| 129 | - | '2026-01-09 11:56:08,188 - freqtrade.configuration.configuration - INFO - Parameter --timerange detected: 20251201-20251230 ...\n' + | |
| 130 | - | '2026-01-09 11:56:08,202 - freqtrade.configuration.configuration - INFO - Using user-data directory: /freqtrade/user_data ...\n' + | |
| 131 | - | '2026-01-09 11:56:08,202 - freqtrade.configuration.configuration - INFO - Using data directory: /freqtrade/user_data/data/binance ...\n' + | |
| 132 | - | '2026-01-09 11:56:08,203 - freqtrade.configuration.configuration - INFO - Parameter --export detected: trades ...\n' + | |
| 133 | - | '2026-01-09 11:56:08,204 - freqtrade.configuration.configuration - INFO - Parameter --cache=day detected ...\n' + | |
| 134 | - | '2026-01-09 11:56:08,204 - freqtrade.configuration.configuration - INFO - Using "json" to store OHLCV data.\n' + | |
| 135 | - | '2026-01-09 11:56:08,204 - freqtrade.configuration.configuration - INFO - Filter trades by timerange: 20251201-20251230\n' + | |
| 136 | - | '2026-01-09 11:56:08,206 - freqtrade.exchange.check_exchange - INFO - Checking exchange...\n' + | |
| 137 | - | '2026-01-09 11:56:08,217 - freqtrade.exchange.check_exchange - INFO - Exchange "binance" is officially supported by the Freqtrade development team.\n' + | |
| 138 | - | '2026-01-09 11:56:08,218 - freqtrade.configuration.configuration - INFO - Using pairlist from configuration.\n' + | |
| 139 | - | '2026-01-09 11:56:08,218 - freqtrade.configuration.config_validation - INFO - Validating configuration ...\n' + | |
| 140 | - | '2026-01-09 11:56:08,220 - freqtrade.commands.optimize_commands - INFO - Starting freqtrade in Backtesting mode\n' + | |
| 141 | - | '2026-01-09 11:56:08,220 - freqtrade.exchange.exchange - INFO - Instance is running with dry_run enabled\n' + | |
| 142 | - | '2026-01-09 11:56:08,221 - freqtrade.exchange.exchange - INFO - Using CCXT 4.5.29\n' + | |
| 143 | - | "2026-01-09 11:56:08,221 - freqtrade.exchange.exchange - INFO - Applying additional ccxt config: {'options': {'defaultType': 'swap'}}\n" + | |
| 144 | - | "2026-01-09 11:56:08,230 - freqtrade.exchange.exchange - INFO - Applying additional ccxt config: {'options': {'defaultType': 'swap'}}\n" + | |
| 145 | - | '2026-01-09 11:56:08,245 - freqtrade.exchange.exchange - INFO - Using Exchange "Binance"\n' + | |
| 146 | - | "2026-01-09 11:56:10,655 - freqtrade.resolvers.exchange_resolver - INFO - Using resolved exchange 'Binance'...\n" + | |
| 147 | - | "2026-01-09 11:56:10,687 - freqtrade.resolvers.iresolver - INFO - Using resolved strategy Strategy from '/freqtrade/user_data/strategies/strategy.py'...\n" + | |
| 148 | - | '2026-01-09 11:56:10,688 - freqtrade.strategy.hyper - INFO - Found no parameter file.\n' + | |
| 149 | - | "2026-01-09 11:56:10,688 - freqtrade.resolvers.strategy_resolver - INFO - Override strategy 'timeframe' with value from the configuration: 1d.\n" + | |
| 150 | - | "2026-01-09 11:56:10,689 - freqtrade.resolvers.strategy_resolver - INFO - Override strategy 'stake_currency' with value from the configuration: USDT.\n" + | |
| 151 | - | "2026-01-09 11:56:10,689 - freqtrade.resolvers.strategy_resolver - INFO - Override strategy 'stake_amount' with value from the configuration: 100.\n" + | |
| 152 | - | "2026-01-09 11:56:10,689 - freqtrade.resolvers.strategy_resolver - INFO - Strategy using minimal_roi: {'0': 0.03}\n" + | |
| 153 | - | '2026-01-09 11:56:10,689 - freqtrade.resolvers.strategy_resolver - INFO - Strategy using timeframe: 1d\n' + | |
| 154 | - | '2026-01-09 11:56:10,689 - freqtrade.resolvers.strategy_resolver - INFO - Strategy using stoploss: -0.05\n' + | |
| 155 | - | '2026-01-09 11:56:10,690 - freqtrade.resolvers.strategy_resolver - INFO - Strategy using trailing_stop: False\n' + | |
| 156 | - | '2026-01-09 11:56:10,690 - freqtrade.resolvers.strategy_resolver - INFO - Strategy using trailing_stop_positive_offset: 0.0\n' + | |
| 157 | - | '2026-01-09 11:56:10,690 - freqtrade.resolvers.strategy_resolver - INFO - Strategy using trailing_only_offset_is_reached: False\n' + | |
| 158 | - | '2026-01-09 11:56:10,690 - freqtrade.resolvers.strategy_resolver - INFO - Strategy using use_custom_stoploss: False\n' + | |
| 159 | - | '2026-01-09 11:56:10,691 - freqtrade.resolvers.strategy_resolver - INFO - Strategy using process_only_new_candles: True\n' + | |
| 160 | - | "2026-01-09 11:56:10,691 - freqtrade.resolvers.strategy_resolver - INFO - Strategy using order_types: {'entry': 'limit', 'exit': 'limit', 'stoploss': 'limit', 'stoploss_on_exchange': False, \n" + | |
| 161 | - | "'stoploss_on_exchange_interval': 60}\n" + | |
| 162 | - | "2026-01-09 11:56:10,691 - freqtrade.resolvers.strategy_resolver - INFO - Strategy using order_time_in_force: {'entry': 'GTC', 'exit': 'GTC'}\n" + | |
| 163 | - | '2026-01-09 11:56:10,691 - freqtrade.resolvers.strategy_resolver - INFO - Strategy using stake_currency: USDT\n' + | |
| 164 | - | '2026-01-09 11:56:10,691 - freqtrade.resolvers.strategy_resolver - INFO - Strategy using stake_amount: 100\n' + | |
| 165 | - | '2026-01-09 11:56:10,692 - freqtrade.resolvers.strategy_resolver - INFO - Strategy using startup_candle_count: 10\n' + | |
| 166 | - | '2026-01-09 11:56:10,692 - freqtrade.resolvers.strategy_resolver - INFO - Strategy using use_exit_signal: True\n' + | |
| 167 | - | '2026-01-09 11:56:10,692 - freqtrade.resolvers.strategy_resolver - INFO - Strategy using exit_profit_only: False\n' + | |
| 168 | - | '2026-01-09 11:56:10,692 - freqtrade.resolvers.strategy_resolver - INFO - Strategy using ignore_roi_if_entry_signal: False\n' + | |
| 169 | - | '2026-01-09 11:56:10,693 - freqtrade.resolvers.strategy_resolver - INFO - Strategy using exit_profit_offset: 0.0\n' + | |
| 170 | - | '2026-01-09 11:56:10,693 - freqtrade.resolvers.strategy_resolver - INFO - Strategy using disable_dataframe_checks: False\n' + | |
| 171 | - | '2026-01-09 11:56:1'... 23187 more characters | |
| 147 | + | ' STRATEGY SUMMARY \n' + | |
| 148 | + | '┏━━━━━━━━━━┳━━━━━━━━┳━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━┓\n' + | |
| 149 | + | '┃ Strategy ┃ Trades ┃ Avg Profit % ┃ Tot Profit USDT ┃ Tot Profit % ┃ Avg Duration ┃ Win Draw Loss Win% ┃ Drawdown ┃\n' + | |
| 150 | + | '┡━━━━━━━━━━╇━━━━━━━━╇━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━┩\n' + | |
| 151 | + | '│ Strategy │ 1 │ -1.82 │ -1.611 │ -0.16 │ 7 days, 0:00:00 │ 0 0 1 0 │ 1.611 USDT 0.16% │\n' + | |
| 152 | + | '└──────────┴────────┴──────────────┴─────────────────┴──────────────┴─────────────────┴────────────────────────┴───────────────────┘\n' + | |
| 153 | + | '2026-01-09 13:21:46,122 - freqtrade - INFO - freqtrade 2025.12\n' + | |
| 154 | + | '2026-01-09 13:21:46,652 - numexpr.utils - INFO - NumExpr defaulting to 8 threads.\n' + | |
| 155 | + | '2026-01-09 13:21:48,161 - freqtrade.configuration.load_config - INFO - Using config: /freqtrade/user_data/config.json ...\n' + | |
| 156 | + | '2026-01-09 13:21:48,164 - freqtrade.loggers - INFO - Enabling colorized output.\n' + | |
| 157 | + | '2026-01-09 13:21:48,164 - freqtrade.loggers - INFO - Logfile configured\n' + | |
| 158 | + | '2026-01-09 13:21:48,165 - freqtrade.loggers - INFO - Verbosity set to 0\n' + | |
| 159 | + | '2026-01-09 13:21:48,165 - freqtrade.configuration.configuration - INFO - Using max_open_trades: None ...\n' + | |
| 160 | + | '2026-01-09 13:21:48,166 - freqtrade.configuration.configuration - INFO - Parameter --timerange detected: 20251201-20251230 ...\n' + | |
| 161 | + | '2026-01-09 13:21:48,179 - freqtrade.configuration.configuration - INFO - Using user-data directory: /freqtrade/user_data ...\n' + | |
| 162 | + | '2026-01-09 13:21:48,179 - freqtrade.configuration.configuration - INFO - Using data directory: /freqtrade/user_data/data/binance ...\n' + | |
| 163 | + | '2026-01-09 13:21:48,180 - freqtrade.configuration.configuration - INFO - Parameter --export detected: trades ...\n' + | |
| 164 | + | '2026-01-09 13:21:48,180 - freqtrade.configuration.configuration - INFO - Parameter --cache=day detected ...\n' + | |
| 165 | + | '2026-01-09 13:21:48,180 - freqtrade.configuration.configuration - INFO - Using "json" to store OHLCV data.\n' + | |
| 166 | + | '2026-01-09 13:21:48,181 - freqtrade.configuration.configuration - INFO - Filter trades by timerange: 20251201-20251230\n' + | |
| 167 | + | '2026-01-09 13:21:48,181 - freqtrade.exchange.check_exchange - INFO - Checking exchange...\n' + | |
| 168 | + | '2026-01-09 13:21:48,192 - freqtrade.exchange.check_exchange - INFO - Exchange "binance" is officially supported by the Freqtrade developm'... 27101 more characters | |
| 172 | 169 | } | |
| 173 | - | [Test Success] Run ID: 861f6d55-71d7-4fb7-bec3-1852f3f713ed | |
| 174 | 170 | ||
| 175 | - | stdout | src/mastra/super/skills/backtest-runner/skill.spec.ts:119:1 > Backtest Runner: Copytrading Strategy Test (Real Docker) | |
| 176 | - | [Test Info] Artifacts preserved for threadId: copytrading-test-1767959762677 | |
| 171 | + | stdout | src/mastra/super/skills/backtest-runner/skill.spec.ts > Backtest Runner: Copytrading Strategy Test (Real Docker) | |
| 172 | + | [Test Info] Artifacts preserved for threadId: copytrading-test-1767964901498 | |
| 173 | + | ||
| 174 | + | ❯ src/mastra/super/skills/backtest-runner/skill.spec.ts (1 test | 1 failed) 23712ms | |
| 175 | + | ❯ Backtest Runner: Copytrading Strategy Test (Real Docker) (1) | |
| 176 | + | × should successfully prepare env, fetch data, and run freqtrade via docker 23711ms | |
| 177 | + | ||
| 178 | + | ⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯ Failed Tests 1 ⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯ | |
| 179 | + | ||
| 180 | + | FAIL src/mastra/super/skills/backtest-runner/skill.spec.ts > Backtest Runner: Copytrading Strategy Test (Real Docker) > should successfully prepare env, fetch data, and run freqtrade via docker | |
| 181 | + | AssertionError: expected 'Result for strategy Strategy\n …' to match /TOTAL\s+1\s+-1.82\s+-1.611\s+-0.16\s+…/ | |
| 177 | 182 | ||
| 178 | - | ✓ src/mastra/super/skills/backtest-runner/skill.spec.ts (2 tests | 1 skipped) 18216ms | |
| 179 | - | ↓ Backtest Runner: Full Integration Test (Real Docker) (1) | |
| 180 | - | ↓ should successfully prepare env, fetch data, and run freqtrade via docker | |
| 181 | - | ✓ Backtest Runner: Copytrading Strategy Test (Real Docker) (1) | |
| 182 | - | ✓ should successfully prepare env, fetch data, and run freqtrade via docker 18215ms | |
| 183 | + | - Expected: | |
| 184 | + | /TOTAL\s+1\s+-1.82\s+-1.611\s+-0.16\s+7 days, 0:00:00\s+0\s+0\s+1\s+0/ | |
| 183 | 185 | ||
| 184 | - | Test Files 1 passed (1) | |
| 185 | - | Tests 1 passed | 1 skipped (2) | |
| 186 | - | Start at 14:56:02 | |
| 187 | - | Duration 18.73s (transform 102ms, setup 291ms, import 96ms, tests 18.22s, environment 0ms) | |
| 186 | + | + Received: | |
| 187 | + | "Result for strategy Strategy | |
| 188 | + | BACKTESTING REPORT | |
| 189 | + | ┏━━━━━━━━━━━━━━━┳━━━━━━━━┳━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━━━━┓ | |
| 190 | + | ┃ Pair ┃ Trades ┃ Avg Profit % ┃ Tot Profit USDT ┃ Tot Profit % ┃ Avg Duration ┃ Win Draw Loss Win% ┃ | |
| 191 | + | ┡━━━━━━━━━━━━━━━╇━━━━━━━━╇━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━━━━┩ | |
| 192 | + | │ BTC/USDT:USDT │ 1 │ -1.82 │ -1.611 │ -0.16 │ 7 days, 0:00:00 │ 0 0 1 0 │ | |
| 193 | + | │ TOTAL │ 1 │ -1.82 │ -1.611 │ -0.16 │ 7 days, 0:00:00 │ 0 0 1 0 │ | |
| 194 | + | └───────────────┴────────┴──────────────┴─────────────────┴──────────────┴─────────────────┴────────────────────────┘ | |
| 195 | + | LEFT OPEN TRADES REPORT | |
| 196 | + | ┏━━━━━━━━━━━━━━━┳━━━━━━━━┳━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━━━━┓ | |
| 197 | + | ┃ Pair ┃ Trades ┃ Avg Profit % ┃ Tot Profit USDT ┃ Tot Profit % ┃ Avg Duration ┃ Win Draw Loss Win% ┃ | |
| 198 | + | ┡━━━━━━━━━━━━━━━╇━━━━━━━━╇━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━━━━┩ | |
| 199 | + | │ BTC/USDT:USDT │ 1 │ -1.82 │ -1.611 │ -0.16 │ 7 days, 0:00:00 │ 0 0 1 0 │ | |
| 200 | + | │ TOTAL │ 1 │ -1.82 │ -1.611 │ -0.16 │ 7 days, 0:00:00 │ 0 0 1 0 │ | |
| 201 | + | └───────────────┴────────┴──────────────┴─────────────────┴──────────────┴─────────────────┴────────────────────────┘ | |
| 202 | + | ENTER TAG STATS | |
| 203 | + | ┏━━━━━━━━━━━┳━━━━━━━━━┳━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━━━━┓ | |
| 204 | + | ┃ Enter Tag ┃ Entries ┃ Avg Profit % ┃ Tot Profit USDT ┃ Tot Profit % ┃ Avg Duration ┃ Win Draw Loss Win% ┃ | |
| 205 | + | ┡━━━━━━━━━━━╇━━━━━━━━━╇━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━━━━┩ | |
| 206 | + | │ OTHER │ 1 │ -1.82 │ -1.611 │ -0.16 │ 7 days, 0:00:00 │ 0 0 1 0 │ | |
| 207 | + | │ TOTAL │ 1 │ -1.82 │ -1.611 │ -0.16 │ 7 days, 0:00:00 │ 0 0 1 0 │ | |
| 208 | + | └───────────┴─────────┴──────────────┴─────────────────┴──────────────┴─────────────────┴────────────────────────┘ | |
| 209 | + | EXIT REASON STATS | |
| 210 | + | ┏━━━━━━━━━━━━━┳━━━━━━━┳━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━━━━┓ | |
| 211 | + | ┃ Exit Reason ┃ Exits ┃ Avg Profit % ┃ Tot Profit USDT ┃ Tot Profit % ┃ Avg Duration ┃ Win Draw Loss Win% ┃ | |
| 212 | + | ┡━━━━━━━━━━━━━╇━━━━━━━╇━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━━━━┩ | |
| 213 | + | │ force_exit │ 1 │ -1.82 │ -1.611 │ -0.16 │ 7 days, 0:00:00 │ 0 0 1 0 │ | |
| 214 | + | │ TOTAL │ 1 │ -1.82 │ -1.611 │ -0.16 │ 7 days, 0:00:00 │ 0 0 1 0 │ | |
| 215 | + | └─────────────┴───────┴──────────────┴─────────────────┴──────────────┴─────────────────┴────────────────────────┘ | |
| 216 | + | MIXED TAG STATS | |
| 217 | + | ┏━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━┳━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━━━━┓ | |
| 218 | + | ┃ Enter Tag ┃ Exit Reason ┃ Trades ┃ Avg Profit % ┃ Tot Profit USDT ┃ Tot Profit % ┃ Avg Duration ┃ Win Draw Loss Win% ┃ | |
| 219 | + | ┡━━━━━━━━━━━╇━━━━━━━━━━━━━╇━━━━━━━━╇━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━━━━┩ | |
| 220 | + | │ │ force_exit │ 1 │ -1.82 │ -1.611 │ -0.16 │ 7 days, 0:00:00 │ 0 0 1 0 │ | |
| 221 | + | │ TOTAL │ │ 1 │ -1.82 │ -1.611 │ -0.16 │ 7 days, 0:00:00 │ 0 0 1 0 │ | |
| 222 | + | └───────────┴─────────────┴────────┴──────────────┴─────────────────┴──────────────┴─────────────────┴────────────────────────┘ | |
| 223 | + | SUMMARY METRICS | |
| 224 | + | ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓ | |
| 225 | + | ┃ Metric ┃ Value ┃ | |
| 226 | + | ┡━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┩ | |
| 227 | + | │ Backtesting from │ 2025-12-09 00:00:00 │ | |
| 228 | + | │ Backtesting to │ 2025-12-30 00:00:00 │ | |
| 229 | + | │ Trading Mode │ Isolated Futures │ | |
| 230 | + | │ Max open trades │ 1 │ | |
| 231 | + | │ │ │ | |
| 232 | + | │ Total/Daily Avg Trades │ 1 / 0.05 │ | |
| 233 | + | │ Starting balance │ 1000 USDT │ | |
| 234 | + | │ Final balance │ 998.389 USDT │ | |
| 235 | + | │ Absolute profit │ -1.611 USDT │ | |
| 236 | + | │ Total profit % │ -0.16% │ | |
| 237 | + | │ CAGR % │ -2.76% │ | |
| 238 | + | │ Sortino │ -100.00 │ | |
| 239 | + | │ Sharpe │ -100.00 │ | |
| 240 | + | │ Calmar │ -90.98 │ | |
| 241 | + | │ SQN │ -100.00 │ | |
| 242 | + | │ Profit factor │ 0.00 │ | |
| 243 | + | │ Expectancy (Ratio) │ -1.61 (-1.00) │ | |
| 244 | + | │ Avg. daily profit │ -0.077 USDT │ | |
| 245 | + | │ Avg. stake amount │ 88.531 USDT │ | |
| 246 | + | │ Total trade volume │ 175.751 USDT │ | |
| 247 | + | │ │ │ | |
| 248 | + | │ Best Pair │ BTC/USDT:USDT -0.16% │ | |
| 249 | + | │ Worst Pair │ BTC/USDT:USDT -0.16% │ | |
| 250 | + | │ Best trade │ BTC/USDT:USDT -1.82% │ | |
| 251 | + | │ Worst trade │ BTC/USDT:USDT -1.82% │ | |
| 252 | + | │ Best day │ -1.611 USDT │ | |
| 253 | + | │ Worst day │ -1.611 USDT │ | |
| 254 | + | │ Days win/draw/lose │ 0 / 0 / 1 │ | |
| 255 | + | │ Min/Max/Avg. Duration Winners │ 0d 00:00 / 0d 00:00 / 0d 00:00 │ | |
| 256 | + | │ Min/Max/Avg. Duration Losers │ 7d 00:00 / 7d 00:00 / 7d 00:00 │ | |
| 257 | + | │ Max Consecutive Wins / Loss │ 0 / 1 │ | |
| 258 | + | │ Rejected Entry signals │ 0 │ | |
| 259 | + | │ Entry/Exit Timeouts │ 0 / 0 │ | |
| 260 | + | │ │ │ | |
| 261 | + | │ Min balance │ 998.389 USDT │ | |
| 262 | + | │ Max balance │ 998.389 USDT │ | |
| 263 | + | │ Max % of account underwater │ 0.16% │ | |
| 264 | + | │ Absolute drawdown │ 1.611 USDT (0.16%) │ | |
| 265 | + | │ Drawdown duration │ 0 days 00:00:00 │ | |
| 266 | + | │ Profit at drawdown start │ 0 USDT │ | |
| 267 | + | │ Profit at drawdown end │ -1.611 USDT │ | |
| 268 | + | │ Drawdown start │ 2025-12-30 00:00:00 │ | |
| 269 | + | │ Drawdown end │ 2025-12-30 00:00:00 │ | |
| 270 | + | │ Market change │ -4.60% │ | |
| 271 | + | └───────────────────────────────┴────────────────────────────────┘ | |
| 188 | 272 | ||
| 273 | + | Backtested 2025-12-09 00:00:00 -> 2025-12-30 00:00:00 | Max open trades : 1 | |
| 274 | + | STRATEGY SUMMARY | |
| 275 | + | ┏━━━━━━━━━━┳━━━━━━━━┳━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━┓ | |
| 276 | + | ┃ Strategy ┃ Trades ┃ Avg Profit % ┃ Tot Profit USDT ┃ Tot Profit % ┃ Avg Duration ┃ Win Draw Loss Win% ┃ Drawdown ┃ | |
| 277 | + | ┡━━━━━━━━━━╇━━━━━━━━╇━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━┩ | |
| 278 | + | │ Strategy │ 1 │ -1.82 │ -1.611 │ -0.16 │ 7 days, 0:00:00 │ 0 0 1 0 │ 1.611 USDT 0.16% │ | |
| 279 | + | └──────────┴────────┴──────────────┴─────────────────┴──────────────┴─────────────────┴────────────────────────┴───────────────────┘ | |
| 280 | + | 2026-01-09 13:21:46,122 - freqtrade - INFO - freqtrade 2025.12 | |
| 281 | + | 2026-01-09 13:21:46,652 - numexpr.utils - INFO - NumExpr defaulting to 8 threads. | |
| 282 | + | 2026-01-09 13:21:48,161 - freqtrade.configuration.load_config - INFO - Using config: /freqtrade/user_data/config.json ... | |
| 283 | + | 2026-01-09 13:21:48,164 - freqtrade.loggers - INFO - Enabling colorized output. | |
| 284 | + | 2026-01-09 13:21:48,164 - freqtrade.loggers - INFO - Logfile configured | |
| 285 | + | 2026-01-09 13:21:48,165 - freqtrade.loggers - INFO - Verbosity set to 0 | |
| 286 | + | 2026-01-09 13:21:48,165 - freqtrade.configuration.configuration - INFO - Using max_open_trades: None ... | |
| 287 | + | 2026-01-09 13:21:48,166 - freqtrade.configuration.configuration - INFO - Parameter --timerange detected: 20251201-20251230 ... | |
| 288 | + | 2026-01-09 13:21:48,179 - freqtrade.configuration.configuration - INFO - Using user-data directory: /freqtrade/user_data ... | |
| 289 | + | 2026-01-09 13:21:48,179 - freqtrade.configuration.configuration - INFO - Using data directory: /freqtrade/user_data/data/binance ... | |
| 290 | + | 2026-01-09 13:21:48,180 - freqtrade.configuration.configuration - INFO - Parameter --export detected: trades ... | |
| 291 | + | 2026-01-09 13:21:48,180 - freqtrade.configuration.configuration - INFO - Parameter --cache=day detected ... | |
| 292 | + | 2026-01-09 13:21:48,180 - freqtrade.configuration.configuration - INFO - Using \"json\" to store OHLCV data. | |
| 293 | + | 2026-01-09 13:21:48,181 - freqtrade.configuration.configuration - INFO - Filter trades by timerange: 20251201-20251230 | |
| 294 | + | 2026-01-09 13:21:48,181 - freqtrade.exchange.check_exchange - INFO - Checking exchange... | |
| 295 | + | 2026-01-09 13:21:48,192 - freqtrade.exchange.check_exchange - INFO - Exchange \"binance\" is officially supported by the Freqtrade development team. | |
| 296 | + | 2026-01-09 13:21:48,192 - freqtrade.configuration.configuration - INFO - Using pairlist from configuration. | |
| 297 | + | 2026-01-09 13:21:48,192 - freqtrade.configuration.config_validation - INFO - Validating configuration ... | |
| 298 | + | 2026-01-09 13:21:48,194 - freqtrade.commands.optimize_commands - INFO - Starting freqtrade in Backtesting mode | |
| 299 | + | 2026-01-09 13:21:48,194 - freqtrade.exchange.exchange - INFO - Instance is running with dry_run enabled | |
| 300 | + | 2026-01-09 13:21:48,195 - freqtrade.exchange.exchange - INFO - Using CCXT 4.5.29 | |
| 301 | + | 2026-01-09 13:21:48,195 - freqtrade.exchange.exchange - INFO - Applying additional ccxt config: {'options': {'defaultType': 'swap'}} | |
| 302 | + | 2026-01-09 13:21:48,204 - freqtrade.exchange.exchange - INFO - Applying additional ccxt config: {'options': {'defaultType': 'swap'}} | |
| 303 | + | 2026-01-09 13:21:48,215 - freqtrade.exchange.exchange - INFO - Using Exchange \"Binance\" | |
| 304 | + | 2026-01-09 13:21:50,833 - freqtrade.resolvers.exchange_resolver - INFO - Using resolved exchange 'Binance'... | |
| 305 | + | 2026-01-09 13:21:50,864 - freqtrade.resolvers.iresolver - INFO - Using resolved strategy Strategy from '/freqtrade/user_data/strategies/strategy.py'... | |
| 306 | + | 2026-01-09 13:21:50,865 - freqtrade.strategy.hyper - INFO - Found no parameter file. | |
| 307 | + | 2026-01-09 13:21:50,865 - freqtrade.resolvers.strategy_resolver - INFO - Override strategy 'timeframe' with value from the configuration: 1d. | |
| 308 | + | 2026-01-09 13:21:50,866 - freqtrade.resolvers.strategy_resolver - INFO - Override strategy 'stake_currency' with value from the configuration: USDT. | |
| 309 | + | 2026-01-09 13:21:50,866 - freqtrade.resolvers.strategy_resolver - INFO - Override strategy 'stake_amount' with value from the configuration: 100. | |
| 310 | + | 2026-01-09 13:21:50,866 - freqtrade.resolvers.strategy_resolver - INFO - Strategy using minimal_roi: {'0': 0.03} | |
| 311 | + | 2026-01-09 13:21:50,867 - freqtrade.resolvers.strategy_resolver - INFO - Strategy using timeframe: 1d | |
| 312 | + | 2026-01-09 13:21:50,867 - freqtrade.resolvers.strategy_resolver - INFO - Strategy using stoploss: -0.05 | |
| 313 | + | 2026-01-09 13:21:50,867 - freqtrade.resolvers.strategy_resolver - INFO - Strategy using trailing_stop: False | |
| 314 | + | 2026-01-09 13:21:50,868 - freqtrade.resolvers.strategy_resolver - INFO - Strategy using trailing_stop_positive_offset: 0.0 | |
| 315 | + | 2026-01-09 13:21:50,868 - freqtrade.resolvers.strategy_resolver - INFO - Strategy using trailing_only_offset_is_reached: False | |
| 316 | + | 2026-01-09 13:21:50,868 - freqtrade.resolvers.strategy_resolver - INFO - Strategy using use_custom_stoploss: False | |
| 317 | + | 2026-01-09 13:21:50,868 - freqtrade.resolvers.strategy_resolver - INFO - Strategy using process_only_new_candles: True | |
| 318 | + | 2026-01-09 13:21:50,868 - freqtrade.resolvers.strategy_resolver - INFO - Strategy using order_types: {'entry': 'limit', 'exit': 'limit', 'stoploss': 'limit', 'stoploss_on_exchange': False, | |
| 319 | + | 'stoploss_on_exchange_interval': 60} | |
| 320 | + | 2026-01-09 13:21:50,869 - freqtrade.resolvers.strategy_resolver - INFO - Strategy using order_time_in_force: {'entry': 'GTC', 'exit': 'GTC'} | |
| 321 | + | 2026-01-09 13:21:50,869 - freqtrade.resolvers.strategy_resolver - INFO - Strategy using stake_currency: USDT | |
| 322 | + | 2026-01-09 13:21:50,869 - freqtrade.resolvers.strategy_resolver - INFO - Strategy using stake_amount: 100 | |
| 323 | + | 2026-01-09 13:21:50,869 - freqtrade.resolvers.strategy_resolver - INFO - Strategy using startup_candle_count: 10 | |
| 324 | + | 2026-01-09 13:21:50,870 - freqtrade.resolvers.strategy_resolver - INFO - Strategy using use_exit_signal: True | |
| 325 | + | 2026-01-09 13:21:50,870 - freqtrade.resolvers.strategy_resolver - INFO - Strategy using exit_profit_only: False | |
| 326 | + | 2026-01-09 13:21:50,870 - freqtrade.resolvers.strategy_resolver - INFO - Strategy using ignore_roi_if_entry_signal: False | |
| 327 | + | 2026-01-09 13:21:50,870 - freqtrade.resolvers.strategy_resolver - INFO - Strategy using exit_profit_offset: 0.0 | |
| 328 | + | 2026-01-09 13:21:50,871 - freqtrade.resolvers.strategy_resolver - INFO - Strategy using disable_dataframe_checks: False | |
| 329 | + | 2026-01-09 13:21:50,871 - freqtrade.resolvers.strategy_resolver - INFO - Strategy using ignore_buying_expired_candle_after: 0 | |
| 330 | + | 2026-01-09 13:21:50,871 - freqtrade.resolvers.strategy_resolver - INFO - Strategy using position_adjustment_enable: False | |
| 331 | + | 2026-01-09 13:21:50,871 - freqtrade.resolvers.strategy_resolver - INFO - Strategy using max_entry_position_adjustment: -1 | |
| 332 | + | 2026-01-09 13:21:50,871 - freqtrade.resolvers.strategy_resolver - INFO - Strategy using max_open_trades: inf | |
| 333 | + | 2026-01-09 13:21:50,872 - freqtrade.configuration.config_validation - INFO - Validating configuration ... | |
| 334 | + | 2026-01-09 13:21:50,875 - freqtrade.resolvers.iresolver - INFO - Using resolved pairlist StaticPairList from '/freqtrade/freqtrade/plugins/pairlist/StaticPairList.py'... | |
| 335 | + | 2026-01-09 13:21:50,880 - freqtrade.optimize.backtesting - INFO - Using fee 0.0500% - worst case fee from exchange (lowest tier). | |
| 336 | + | 2026-01-09 13:21:50,883 - freqtrade.data.history.datahandlers.idatahandler - WARNING - /freqtrade/user_data/data/binance/futures/BTC_USDT_USDT-1h-futures.json exists already, can't migrate BTC/USDT. | |
| 337 | + | 2026-01-09 13:21:50,888 - freqtrade.data.history.datahandlers.idatahandler - WARNING - BTC/USDT:USDT, futures, 1d, data starts at 2025-11-29 00:00:00 | |
| 338 | + | 2026-01-09 13:21:50,896 - freqtrade.optimize.backtesting - INFO - Loading data from 2025-11-29 00:00:00 up to 2025-12-30 00:00:00 (31 days). | |
| 339 | + | 2026-01-09 13:21:50,916 - freqtrade.optimize.backtesting - INFO - Dataload complete. Calculating indicators | |
| 340 | + | 2026-01-09 13:21:50,917 - freqtrade.optimize.backtesting - INFO - Running backtesting for Strategy Strategy | |
| 341 | + | 2026-01-09 13:21:50,919 - freqtrade.optimize.backtesting - INFO - Backtesting with data from 2025-12-09 00:00:00 up to 2025-12-30 00:00:00 (21 days). | |
| 342 | + | 2026-01-09 13:21:50,920 - sdk - INFO - Fetching predictions for issuer='agent_phoenix', range=2025-11-29 00:00:00+00:00 to 2025-11-30 00:00:00+00:00, direction='any' | |
| 343 | + | 2026-01-09 13:21:50,921 - sdk - INFO - TIMERANGE env var not set. Using direct API fetch. | |
| 344 | + | 2026-01-09 13:21:50,921 - sdk - INFO - Sending request to https://sanr-proxy.uxna.me/predictions with params: {'issuerUsername': 'agent_phoenix', 'startDate': '2025-11-29T00:00:00Z', 'endDate': | |
| 345 | + | '2025-11-30T00:00:00Z', 'direction': 'any'} | |
| 346 | + | 2026-01-09 13:21:51,352 - sdk - INFO - Received 0 predictions for symbols: [] | |
| 347 | + | 2026-01-09 13:21:51,352 - sdk - INFO - Returning 0 predictions after filtering by direction. | |
| 348 | + | 2026-01-09 13:21:51,353 - sdk - INFO - Fetching predictions for issuer='agent_phoenix', range=2025-11-30 00:00:00+00:00 to 2025-12-01 00:00:00+00:00, direction='any' | |
| 349 | + | 2026-01-09 13:21:51,353 - sdk - INFO - TIMERANGE env var not set. Using direct API fetch. | |
| 350 | + | 2026-01-09 13:21:51,353 - sdk - INFO - Sending request to https://sanr-proxy.uxna.me/predictions with params: {'issuerUsername': 'agent_phoenix', 'startDate': '2025-11-30T00:00:00Z', 'endDate': | |
| 351 | + | '2025-12-01T00:00:00Z', 'direction': 'any'} | |
| 352 | + | 2026-01-09 13:21:51,731 - sdk - INFO - Received 0 predictions for symbols: [] | |
| 353 | + | 2026-01-09 13:21:51,731 - sdk - INFO - Returning 0 predictions after filtering by direction. | |
| 354 | + | 2026-01-09 13:21:51,732 - sdk - INFO - Fetching predictions for issuer='agent_phoenix', range=2025-12-01 00:00:00+00:00 to 2025-12-02 00:00:00+00:00, direction='any' | |
| 355 | + | 2026-01-09 13:21:51,732 - sdk - INFO - TIMERANGE env var not set. Using direct API fetch. | |
| 356 | + | 2026-01-09 13:21:51,733 - sdk - INFO - Sending request to https://sanr-proxy.uxna.me/predictions with params: {'issuerUsername': 'agent_phoenix', 'startDate': '2025-12-01T00:00:00Z', 'endDate': | |
| 357 | + | '2025-12-02T00:00:00Z', 'direction': 'any'} | |
| 358 | + | 2026-01-09 13:21:52,291 - sdk - INFO - Received 0 predictions for symbols: [] | |
| 359 | + | 2026-01-09 13:21:52,291 - sdk - INFO - Returning 0 predictions after filtering by direction. | |
| 360 | + | 2026-01-09 13:21:52,292 - sdk - INFO - Fetching predictions for issuer='agent_phoenix', range=2025-12-02 00:00:00+00:00 to 2025-12-03 00:00:00+00:00, direction='any' | |
| 361 | + | 2026-01-09 13:21:52,292 - sdk - INFO - TIMERANGE env var not set. Using direct API fetch. | |
| 362 | + | 2026-01-09 13:21:52,292 - sdk - INFO - Sending request to https://sanr-proxy.uxna.me/predictions with params: {'issuerUsername': 'agent_phoenix', 'startDate': '2025-12-02T00:00:00Z', 'endDate': | |
| 363 | + | '2025-12-03T00:00:00Z', 'direction': 'any'} | |
| 364 | + | 2026-01-09 13:21:52,681 - sdk - INFO - Received 0 predictions for symbols: [] | |
| 365 | + | 2026-01-09 13:21:52,681 - sdk - INFO - Returning 0 predictions after filtering by direction. | |
| 366 | + | 2026-01-09 13:21:52,682 - sdk - INFO - Fetching predictions for issuer='agent_phoenix', range=2025-12-03 00:00:00+00:00 to 2025-12-04 00:00:00+00:00, direction='any' | |
| 367 | + | 2026-01-09 13:21:52,683 - sdk - INFO - TIMERANGE env var not set. Using direct API fetch. | |
| 368 | + | 2026-01-09 13:21:52,683 - sdk - INFO - Sending request to https://sanr-proxy.uxna.me/predictions with params: {'issuerUsername': 'agent_phoenix', 'startDate': '2025-12-03T00:00:00Z', 'endDate': | |
| 369 | + | '2025-12-04T00:00:00Z', 'direction': 'any'} | |
| 370 | + | 2026-01-09 13:21:53,061 - sdk - INFO - Received 0 predictions for symbols: [] | |
| 371 | + | 2026-01-09 13:21:53,061 - sdk - INFO - Returning 0 predictions after filtering by direction. | |
| 372 | + | 2026-01-09 13:21:53,062 - sdk - INFO - Fetching predictions for issuer='agent_phoenix', range=2025-12-04 00:00:00+00:00 to 2025-12-05 00:00:00+00:00, direction='any' | |
| 373 | + | 2026-01-09 13:21:53,062 - sdk - INFO - TIMERANGE env var not set. Using direct API fetch. | |
| 374 | + | 2026-01-09 13:21:53,063 - sdk - INFO - Sending request to https://sanr-proxy.uxna.me/predictions with params: {'issuerUsername': 'agent_phoenix', 'startDate': '2025-12-04T00:00:00Z', 'endDate': | |
| 375 | + | '2025-12-05T00:00:00Z', 'direction': 'any'} | |
| 376 | + | 2026-01-09 13:21:53,451 - sdk - INFO - Received 1 predictions for symbols: ['ETH/USDT'] | |
| 377 | + | 2026-01-09 13:21:53,452 - sdk - INFO - Returning 1 predictions after filtering by direction. | |
| 378 | + | 2026-01-09 13:21:53,452 - sdk - INFO - Fetching predictions for issuer='agent_phoenix', range=2025-12-05 00:00:00+00:00 to 2025-12-06 00:00:00+00:00, direction='any' | |
| 379 | + | 2026-01-09 13:21:53,453 - sdk - INFO - TIMERANGE env var not set. Using direct API fetch. | |
| 380 | + | 2026-01-09 13:21:53,453 - sdk - INFO - Sending request to https://sanr-proxy.uxna.me/predictions with params: {'issuerUsername': 'agent_phoenix', 'startDate': '2025-12-05T00:00:00Z', 'endDate': | |
| 381 | + | '2025-12-06T00:00:00Z', 'direction': 'any'} | |
| 382 | + | 2026-01-09 13:21:54,011 - sdk - INFO - Received 0 predictions for symbols: [] | |
| 383 | + | 2026-01-09 13:21:54,011 - sdk - INFO - Returning 0 predictions after filtering by direction. | |
| 384 | + | 2026-01-09 13:21:54,012 - sdk - INFO - Fetching predictions for issuer='agent_phoenix', range=2025-12-06 00:00:00+00:00 to 2025-12-07 00:00:00+00:00, direction='any' | |
| 385 | + | 2026-01-09 13:21:54,012 - sdk - INFO - TIMERANGE env var not set. Using direct API fetch. | |
| 386 | + | 2026-01-09 13:21:54,012 - sdk - INFO - Sending request to https://sanr-proxy.uxna.me/predictions with params: {'issuerUsername': 'agent_phoenix', 'startDate': '2025-12-06T00:00:00Z', 'endDate': | |
| 387 | + | '2025-12-07T00:00:00Z', 'direction': 'any'} | |
| 388 | + | 2026-01-09 13:21:54,585 - sdk - INFO - Received 0 predictions for symbols: [] | |
| 389 | + | 2026-01-09 13:21:54,585 - sdk - INFO - Returning 0 predictions after filtering by direction. | |
| 390 | + | 2026-01-09 13:21:54,586 - sdk - INFO - Fetching predictions for issuer='agent_phoenix', range=2025-12-07 00:00:00+00:00 to 2025-12-08 00:00:00+00:00, direction='any' | |
| 391 | + | 2026-01-09 13:21:54,586 - sdk - INFO - TIMERANGE env var not set. Using direct API fetch. | |
| 392 | + | 2026-01-09 13:21:54,587 - sdk - INFO - Sending request to https://sanr-proxy.uxna.me/predictions with params: {'issuerUsername': 'agent_phoenix', 'startDate': '2025-12-07T00:00:00Z', 'endDate': | |
| 393 | + | '2025-12-08T00:00:00Z', 'direction': 'any'} | |
| 394 | + | 2026-01-09 13:21:54,971 - sdk - INFO - Received 0 predictions for symbols: [] | |
| 395 | + | 2026-01-09 13:21:54,971 - sdk - INFO - Returning 0 predictions after filtering by direction. | |
| 396 | + | 2026-01-09 13:21:54,972 - sdk - INFO - Fetching predictions for issuer='agent_phoenix', range=2025-12-08 00:00:00+00:00 to 2025-12-09 00:00:00+00:00, direction='any' | |
| 397 | + | 2026-01-09 13:21:54,972 - sdk - INFO - TIMERANGE env var not set. Using direct API fetch. | |
| 398 | + | 2026-01-09 13:21:54,972 - sdk - INFO - Sending request to https://sanr-proxy.uxna.me/predictions with params: {'issuerUsername': 'agent_phoenix', 'startDate': '2025-12-08T00:00:00Z', 'endDate': | |
| 399 | + | '2025-12-09T00:00:00Z', 'direction': 'any'} | |
| 400 | + | 2026-01-09 13:21:55,361 - sdk - INFO - Received 0 predictions for symbols: [] | |
| 401 | + | 2026-01-09 13:21:55,361 - sdk - INFO - Returning 0 predictions after filtering by direction. | |
| 402 | + | 2026-01-09 13:21:55,362 - sdk - INFO - Fetching predictions for issuer='agent_phoenix', range=2025-12-09 00:00:00+00:00 to 2025-12-10 00:00:00+00:00, direction='any' | |
| 403 | + | 2026-01-09 13:21:55,362 - sdk - INFO - TIMERANGE env var not set. Using direct API fetch. | |
| 404 | + | 2026-01-09 13:21:55,363 - sdk - INFO - Sending request to https://sanr-proxy.uxna.me/predictions with params: {'issuerUsername': 'agent_phoenix', 'startDate': '2025-12-09T00:00:00Z', 'endDate': | |
| 405 | + | '2025-12-10T00:00:00Z', 'direction': 'any'} | |
| 406 | + | 2026-01-09 13:21:55,931 - sdk - INFO - Received 0 predictions for symbols: [] | |
| 407 | + | 2026-01-09 13:21:55,932 - sdk - INFO - Returning 0 predictions after filtering by direction. | |
| 408 | + | 2026-01-09 13:21:55,933 - sdk - INFO - Fetching predictions for issuer='agent_phoenix', range=2025-12-10 00:00:00+00:00 to 2025-12-11 00:00:00+00:00, direction='any' | |
| 409 | + | 2026-01-09 13:21:55,933 - sdk - INFO - TIMERANGE env var not set. Using direct API fetch. | |
| 410 | + | 2026-01-09 13:21:55,933 - sdk - INFO - Sending request to https://sanr-proxy.uxna.me/predictions with params: {'issuerUsername': 'agent_phoenix', 'startDate': '2025-12-10T00:00:00Z', 'endDate': | |
| 411 | + | '2025-12-11T00:00:00Z', 'direction': 'any'} | |
| 412 | + | 2026-01-09 13:21:56,321 - sdk - INFO - Received 0 predictions for symbols: [] | |
| 413 | + | 2026-01-09 13:21:56,322 - sdk - INFO - Returning 0 predictions after filtering by direction. | |
| 414 | + | 2026-01-09 13:21:56,323 - sdk - INFO - Fetching predictions for issuer='agent_phoenix', range=2025-12-11 00:00:00+00:00 to 2025-12-12 00:00:00+00:00, direction='any' | |
| 415 | + | 2026-01-09 13:21:56,323 - sdk - INFO - TIMERANGE env var not set. Using direct API fetch. | |
| 416 | + | 2026-01-09 13:21:56,324 - sdk - INFO - Sending request to https://sanr-proxy.uxna.me/predictions with params: {'issuerUsername': 'agent_phoenix', 'startDate': '2025-12-11T00:00:00Z', 'endDate': | |
| 417 | + | '2025-12-12T00:00:00Z', 'direction': 'any'} | |
| 418 | + | 2026-01-09 13:21:56,742 - sdk - INFO - Received 0 predictions for symbols: [] | |
| 419 | + | 2026-01-09 13:21:56,743 - sdk - INFO - Returning 0 predictions after filtering by direction. | |
| 420 | + | 2026-01-09 13:21:56,744 - sdk - INFO - Fetching predictions for issuer='agent_phoenix', range=2025-12-12 00:00:00+00:00 to 2025-12-13 00:00:00+00:00, direction='any' | |
| 421 | + | 2026-01-09 13:21:56,744 - sdk - INFO - TIMERANGE env var not set. Using direct API fetch. | |
| 422 | + | 2026-01-09 13:21:56,745 - sdk - INFO - Sending request to https://sanr-proxy.uxna.me/predictions with params: {'issuerUsername': 'agent_phoenix', 'startDate': '2025-12-12T00:00:00Z', 'endDate': | |
| 423 | + | '2025-12-13T00:00:00Z', 'direction': 'any'} | |
| 424 | + | 2026-01-09 13:21:57,142 - sdk - INFO - Received 0 predictions for symbols: [] | |
| 425 | + | 2026-01-09 13:21:57,142 - sdk - INFO - Returning 0 predictions after filtering by direction. | |
| 426 | + | 2026-01-09 13:21:57,143 - sdk - INFO - Fetching predictions for issuer='agent_phoenix', range=2025-12-13 00:00:00+00:00 to 2025-12-14 00:00:00+00:00, direction='any' | |
| 427 | + | 2026-01-09 13:21:57,143 - sdk - INFO - TIMERANGE env var not set. Using direct API fetch. | |
| 428 | + | 2026-01-09 13:21:57,144 - sdk - INFO - Sending request to https://sanr-proxy.uxna.me/predictions with params: {'issuerUsername': 'agent_phoenix', 'startDate': '2025-12-13T00:00:00Z', 'endDate': | |
| 429 | + | '2025-12-14T00:00:00Z', 'direction': 'any'} | |
| 430 | + | 2026-01-09 13:21:57,521 - sdk - INFO - Received 0 predictions for symbols: [] | |
| 431 | + | 2026-01-09 13:21:57,521 - sdk - INFO - Returning 0 predictions after filtering by direction. | |
| 432 | + | 2026-01-09 13:21:57,522 - sdk - INFO - Fetching predictions for issuer='agent_phoenix', range=2025-12-14 00:00:00+00:00 to 2025-12-15 00:00:00+00:00, direction='any' | |
| 433 | + | 2026-01-09 13:21:57,522 - sdk - INFO - TIMERANGE env var not set. Using direct API fetch. | |
| 434 | + | 2026-01-09 13:21:57,523 - sdk - INFO - Sending request to https://sanr-proxy.uxna.me/predictions with params: {'issuerUsername': 'agent_phoenix', 'startDate': '2025-12-14T00:00:00Z', 'endDate': | |
| 435 | + | '2025-12-15T00:00:00Z', 'direction': 'any'} | |
| 436 | + | 2026-01-09 13:21:57,902 - sdk - INFO - Received 0 predictions for symbols: [] | |
| 437 | + | 2026-01-09 13:21:57,903 - sdk - INFO - Returning 0 predictions after filtering by direction. | |
| 438 | + | 2026-01-09 13:21:57,904 - sdk - INFO - Fetching predictions for issuer='agent_phoenix', range=2025-12-15 00:00:00+00:00 to 2025-12-16 00:00:00+00:00, direction='any' | |
| 439 | + | 2026-01-09 13:21:57,904 - sdk - INFO - TIMERANGE env var not set. Using direct API fetch. | |
| 440 | + | 2026-01-09 13:21:57,904 - sdk - INFO - Sending request to https://sanr-proxy.uxna.me/predictions with params: {'issuerUsername': 'agent_phoenix', 'startDate': '2025-12-15T00:00:00Z', 'endDate': | |
| 441 | + | '2025-12-16T00:00:00Z', 'direction': 'any'} | |
| 442 | + | 2026-01-09 13:21:58,292 - sdk - INFO - Received 0 predictions for symbols: [] | |
| 443 | + | 2026-01-09 13:21:58,292 - sdk - INFO - Returning 0 predictions after filtering by direction. | |
| 444 | + | 2026-01-09 13:21:58,293 - sdk - INFO - Fetching predictions for issuer='agent_phoenix', range=2025-12-16 00:00:00+00:00 to 2025-12-17 00:00:00+00:00, direction='any' | |
| 445 | + | 2026-01-09 13:21:58,294 - sdk - INFO - TIMERANGE env var not set. Using direct API fetch. | |
| 446 | + | 2026-01-09 13:21:58,294 - sdk - INFO - Sending request to https://sanr-proxy.uxna.me/predictions with params: {'issuerUsername': 'agent_phoenix', 'startDate': '2025-12-16T00:00:00Z', 'endDate': | |
| 447 | + | '2025-12-17T00:00:00Z', 'direction': 'any'} | |
| 448 | + | 2026-01-09 13:21:58,681 - sdk - INFO - Received 0 predictions for symbols: [] | |
| 449 | + | 2026-01-09 13:21:58,681 - sdk - INFO - Returning 0 predictions after filtering by direction. | |
| 450 | + | 2026-01-09 13:21:58,682 - sdk - INFO - Fetching predictions for issuer='agent_phoenix', range=2025-12-17 00:00:00+00:00 to 2025-12-18 00:00:00+00:00, direction='any' | |
| 451 | + | 2026-01-09 13:21:58,682 - sdk - INFO - TIMERANGE env var not set. Using direct API fetch. | |
| 452 | + | 2026-01-09 13:21:58,682 - sdk - INFO - Sending request to https://sanr-proxy.uxna.me/predictions with params: {'issuerUsername': 'agent_phoenix', 'startDate': '2025-12-17T00:00:00Z', 'endDate': | |
| 453 | + | '2025-12-18T00:00:00Z', 'direction': 'any'} | |
| 454 | + | 2026-01-09 13:21:59,071 - sdk - INFO - Received 0 predictions for symbols: [] | |
| 455 | + | 2026-01-09 13:21:59,071 - sdk - INFO - Returning 0 predictions after filtering by direction. | |
| 456 | + | 2026-01-09 13:21:59,072 - sdk - INFO - Fetching predictions for issuer='agent_phoenix', range=2025-12-18 00:00:00+00:00 to 2025-12-19 00:00:00+00:00, direction='any' | |
| 457 | + | 2026-01-09 13:21:59,073 - sdk - INFO - TIMERANGE env var not set. Using direct API fetch. | |
| 458 | + | 2026-01-09 13:21:59,073 - sdk - INFO - Sending request to https://sanr-proxy.uxna.me/predictions with params: {'issuerUsername': 'agent_phoenix', 'startDate': '2025-12-18T00:00:00Z', 'endDate': | |
| 459 | + | '2025-12-19T00:00:00Z', 'direction': 'any'} | |
| 460 | + | 2026-01-09 13:21:59,461 - sdk - INFO - Received 0 predictions for symbols: [] | |
| 461 | + | 2026-01-09 13:21:59,461 - sdk - INFO - Returning 0 predictions after filtering by direction. | |
| 462 | + | 2026-01-09 13:21:59,462 - sdk - INFO - Fetching predictions for issuer='agent_phoenix', range=2025-12-19 00:00:00+00:00 to 2025-12-20 00:00:00+00:00, direction='any' | |
| 463 | + | 2026-01-09 13:21:59,462 - sdk - INFO - TIMERANGE env var not set. Using direct API fetch. | |
| 464 | + | 2026-01-09 13:21:59,462 - sdk - INFO - Sending request to https://sanr-proxy.uxna.me/predictions with params: {'issuerUsername': 'agent_phoenix', 'startDate': '2025-12-19T00:00:00Z', 'endDate': | |
| 465 | + | '2025-12-20T00:00:00Z', 'direction': 'any'} | |
| 466 | + | 2026-01-09 13:21:59,841 - sdk - INFO - Received 0 predictions for symbols: [] | |
| 467 | + | 2026-01-09 13:21:59,841 - sdk - INFO - Returning 0 predictions after filtering by direction. | |
| 468 | + | 2026-01-09 13:21:59,842 - sdk - INFO - Fetching predictions for issuer='agent_phoenix', range=2025-12-20 00:00:00+00:00 to 2025-12-21 00:00:00+00:00, direction='any' | |
| 469 | + | 2026-01-09 13:21:59,843 - sdk - INFO - TIMERANGE env var not set. Using direct API fetch. | |
| 470 | + | 2026-01-09 13:21:59,843 - sdk - INFO - Sending request to https://sanr-proxy.uxna.me/predictions with params: {'issuerUsername': 'agent_phoenix', 'startDate': '2025-12-20T00:00:00Z', 'endDate': | |
| 471 | + | '2025-12-21T00:00:00Z', 'direction': 'any'} | |
| 472 | + | 2026-01-09 13:22:00,221 - sdk - INFO - Received 0 predictions for symbols: [] | |
| 473 | + | 2026-01-09 13:22:00,221 - sdk - INFO - Returning 0 predictions after filtering by direction. | |
| 474 | + | 2026-01-09 13:22:00,222 - sdk - INFO - Fetching predictions for issuer='agent_phoenix', range=2025-12-21 00:00:00+00:00 to 2025-12-22 00:00:00+00:00, direction='any' | |
| 475 | + | 2026-01-09 13:22:00,222 - sdk - INFO - TIMERANGE env var not set. Using direct API fetch. | |
| 476 | + | 2026-01-09 13:22:00,222 - sdk - INFO - Sending request to https://sanr-proxy.uxna.me/predictions with params: {'issuerUsername': 'agent_phoenix', 'startDate': '2025-12-21T00:00:00Z', 'endDate': | |
| 477 | + | '2025-12-22T00:00:00Z', 'direction': 'any'} | |
| 478 | + | 2026-01-09 13:22:00,601 - sdk - INFO - Received 0 predictions for symbols: [] | |
| 479 | + | 2026-01-09 13:22:00,601 - sdk - INFO - Returning 0 predictions after filtering by direction. | |
| 480 | + | 2026-01-09 13:22:00,602 - sdk - INFO - Fetching predictions for issuer='agent_phoenix', range=2025-12-22 00:00:00+00:00 to 2025-12-23 00:00:00+00:00, direction='any' | |
| 481 | + | 2026-01-09 13:22:00,602 - sdk - INFO - TIMERANGE env var not set. Using direct API fetch. | |
| 482 | + | 2026-01-09 13:22:00,603 - sdk - INFO - Sending request to https://sanr-proxy.uxna.me/predictions with params: {'issuerUsername': 'agent_phoenix', 'startDate': '2025-12-22T00:00:00Z', 'endDate': | |
| 483 | + | '2025-12-23T00:00:00Z', 'direction': 'any'} | |
| 484 | + | 2026-01-09 13:22:00,981 - sdk - INFO - Received 3 predictions for symbols: ['ETH/USDT', 'BTC/USDT', 'BTC/USDT'] | |
| 485 | + | 2026-01-09 13:22:00,981 - sdk - INFO - Returning 3 predictions after filtering by direction. | |
| 486 | + | 2026-01-09 13:22:00,982 - sdk - INFO - Fetching predictions for issuer='agent_phoenix', range=2025-12-23 00:00:00+00:00 to 2025-12-24 00:00:00+00:00, direction='any' | |
| 487 | + | 2026-01-09 13:22:00,982 - sdk - INFO - TIMERANGE env var not set. Using direct API fetch. | |
| 488 | + | 2026-01-09 13:22:00,983 - sdk - INFO - Sending request to https://sanr-proxy.uxna.me/predictions with params: {'issuerUsername': 'agent_phoenix', 'startDate': '2025-12-23T00:00:00Z', 'endDate': | |
| 489 | + | '2025-12-24T00:00:00Z', 'direction': 'any'} | |
| 490 | + | 2026-01-09 13:22:01,372 - sdk - INFO - Received 0 predictions for symbols: [] | |
| 491 | + | 2026-01-09 13:22:01,372 - sdk - INFO - Returning 0 predictions after filtering by direction. | |
| 492 | + | 2026-01-09 13:22:01,373 - sdk - INFO - Fetching predictions for issuer='agent_phoenix', range=2025-12-24 00:00:00+00:00 to 2025-12-25 00:00:00+00:00, direction='any' | |
| 493 | + | 2026-01-09 13:22:01,374 - sdk - INFO - TIMERANGE env var not set. Using direct API fetch. | |
| 494 | + | 2026-01-09 13:22:01,374 - sdk - INFO - Sending request to https://sanr-proxy.uxna.me/predictions with params: {'issuerUsername': 'agent_phoenix', 'startDate': '2025-12-24T00:00:00Z', 'endDate': | |
| 495 | + | '2025-12-25T00:00:00Z', 'direction': 'any'} | |
| 496 | + | 2026-01-09 13:22:01,751 - sdk - INFO - Received 1 predictions for symbols: ['ETH/USDT'] | |
| 497 | + | 2026-01-09 13:22:01,751 - sdk - INFO - Returning 1 predictions after filtering by direction. | |
| 498 | + | 2026-01-09 13:22:01,752 - sdk - INFO - Fetching predictions for issuer='agent_phoenix', range=2025-12-25 00:00:00+00:00 to 2025-12-26 00:00:00+00:00, direction='any' | |
| 499 | + | 2026-01-09 13:22:01,752 - sdk - INFO - TIMERANGE env var not set. Using direct API fetch. | |
| 500 | + | 2026-01-09 13:22:01,753 - sdk - INFO - Sending request to https://sanr-proxy.uxna.me/predictions with params: {'issuerUsername': 'agent_phoenix', 'startDate': '2025-12-25T00:00:00Z', 'endDate': | |
| 501 | + | '2025-12-26T00:00:00Z', 'direction': 'any'} | |
| 502 | + | 2026-01-09 13:22:02,311 - sdk - INFO - Received 0 predictions for symbols: [] | |
| 503 | + | 2026-01-09 13:22:02,311 - sdk - INFO - Returning 0 predictions after filtering by direction. | |
| 504 | + | 2026-01-09 13:22:02,312 - sdk - INFO - Fetching predictions for issuer='agent_phoenix', range=2025-12-26 00:00:00+00:00 to 2025-12-27 00:00:00+00:00, direction='any' | |
| 505 | + | 2026-01-09 13:22:02,313 - sdk - INFO - TIMERANGE env var not set. Using direct API fetch. | |
| 506 | + | 2026-01-09 13:22:02,313 - sdk - INFO - Sending request to https://sanr-proxy.uxna.me/predictions with params: {'issuerUsername': 'agent_phoenix', 'startDate': '2025-12-26T00:00:00Z', 'endDate': | |
| 507 | + | '2025-12-27T00:00:00Z', 'direction': 'any'} | |
| 508 | + | 2026-01-09 13:22:02,701 - sdk - INFO - Received 0 predictions for symbols: [] | |
| 509 | + | 2026-01-09 13:22:02,701 - sdk - INFO - Returning 0 predictions after filtering by direction. | |
| 510 | + | 2026-01-09 13:22:02,702 - sdk - INFO - Fetching predictions for issuer='agent_phoenix', range=2025-12-27 00:00:00+00:00 to 2025-12-28 00:00:00+00:00, direction='any' | |
| 511 | + | 2026-01-09 13:22:02,702 - sdk - INFO - TIMERANGE env var not set. Using direct API fetch. | |
| 512 | + | 2026-01-09 13:22:02,703 - sdk - INFO - Sending request to https://sanr-proxy.uxna.me/predictions with params: {'issuerUsername': 'agent_phoenix', 'startDate': '2025-12-27T00:00:00Z', 'endDate': | |
| 513 | + | '2025-12-28T00:00:00Z', 'direction': 'any'} | |
| 514 | + | 2026-01-09 13:22:03,091 - sdk - INFO - Received 0 predictions for symbols: [] | |
| 515 | + | 2026-01-09 13:22:03,092 - sdk - INFO - Returning 0 predictions after filtering by direction. | |
| 516 | + | 2026-01-09 13:22:03,093 - sdk - INFO - Fetching predictions for issuer='agent_phoenix', range=2025-12-28 00:00:00+00:00 to 2025-12-29 00:00:00+00:00, direction='any' | |
| 517 | + | 2026-01-09 13:22:03,093 - sdk - INFO - TIMERANGE env var not set. Using direct API fetch. | |
| 518 | + | 2026-01-09 13:22:03,093 - sdk - INFO - Sending request to https://sanr-proxy.uxna.me/predictions with params: {'issuerUsername': 'agent_phoenix', 'startDate': '2025-12-28T00:00:00Z', 'endDate': | |
| 519 | + | '2025-12-29T00:00:00Z', 'direction': 'any'} | |
| 520 | + | 2026-01-09 13:22:03,511 - sdk - INFO - Received 0 predictions for symbols: [] | |
| 521 | + | 2026-01-09 13:22:03,511 - sdk - INFO - Returning 0 predictions after filtering by direction. | |
| 522 | + | 2026-01-09 13:22:03,512 - sdk - INFO - Fetching predictions for issuer='agent_phoenix', range=2025-12-29 00:00:00+00:00 to 2025-12-30 00:00:00+00:00, direction='any' | |
| 523 | + | 2026-01-09 13:22:03,512 - sdk - INFO - TIMERANGE env var not set. Using direct API fetch. | |
| 524 | + | 2026-01-09 13:22:03,513 - sdk - INFO - Sending request to https://sanr-proxy.uxna.me/predictions with params: {'issuerUsername': 'agent_phoenix', 'startDate': '2025-12-29T00:00:00Z', 'endDate': | |
| 525 | + | '2025-12-30T00:00:00Z', 'direction': 'any'} | |
| 526 | + | 2026-01-09 13:22:03,891 - sdk - INFO - Received 0 predictions for symbols: [] | |
| 527 | + | 2026-01-09 13:22:03,891 - sdk - INFO - Returning 0 predictions after filtering by direction. | |
| 528 | + | 2026-01-09 13:22:03,892 - sdk - INFO - Fetching predictions for issuer='agent_phoenix', range=2025-12-30 00:00:00+00:00 to 2025-12-31 00:00:00+00:00, direction='any' | |
| 529 | + | 2026-01-09 13:22:03,892 - sdk - INFO - TIMERANGE env var not set. Using direct API fetch. | |
| 530 | + | 2026-01-09 13:22:03,893 - sdk - INFO - Sending request to https://sanr-proxy.uxna.me/predictions with params: {'issuerUsername': 'agent_phoenix', 'startDate': '2025-12-30T00:00:00Z', 'endDate': | |
| 531 | + | '2025-12-31T00:00:00Z', 'direction': 'any'} | |
| 532 | + | 2026-01-09 13:22:04,271 - sdk - INFO - Received 0 predictions for symbols: [] | |
| 533 | + | 2026-01-09 13:22:04,271 - sdk - INFO - Returning 0 predictions after filtering by direction. | |
| 534 | + | 2026-01-09 13:22:04,415 - freqtrade.misc - INFO - dumping json to \"/freqtrade/user_data/backtest_results/backtest-result-2026-01-09_13-22-04.meta.json\" | |
| 535 | + | " | |
| 189 | 536 | ||
| 190 | - | ~/Документы/Work/santiment-ai/strategy-agent master* 19s | |
| 191 | - | ❯ | |
| 537 | + | ❯ src/mastra/super/skills/backtest-runner/skill.spec.ts:209:28 | |
| 538 | + | 207| | |
| 539 | + | 208| // 1. Проверки общей сводки стратегии | |
| 540 | + | 209| expect(output.logTail).toMatch(/TOTAL\s+1\s+-1.82\s+-1.611\s+-0.16\s+7 days, 0:00:00\s+0\s+0\s+1\s+0/); | |
| 541 | + | | ^ | |
| 542 | + | 210| expect(output.logTail).toContain('Total/Daily Avg Trades │ 1 / 0.05'); | |
| 543 | + | 211| expect(output.logTail).toContain('Total profit % │ -0.16%'); | |
2.log (fájl törölve)
| @@ -1,171 +0,0 @@ | |||
| 1 | - | ❯ vitest run src/mastra/super/skills/backtest-runner/skill.spec.ts:119 | |
| 2 | - | ||
| 3 | - | RUN v4.0.16 /home/dex/Документы/Work/santiment-ai/strategy-agent | |
| 4 | - | ||
| 5 | - | stdout | src/mastra/super/skills/backtest-runner/skill.spec.ts:303:3 > Backtest Runner: Copytrading Strategy Test (Real Docker) > should successfully prepare env, fetch data, and run freqtrade via docker | |
| 6 | - | [Isolation] Environment prepared for run 193121d8-f574-4840-bb61-534aa28b4bda | |
| 7 | - | ||
| 8 | - | stdout | src/mastra/super/skills/backtest-runner/skill.spec.ts:303:3 > Backtest Runner: Copytrading Strategy Test (Real Docker) > should successfully prepare env, fetch data, and run freqtrade via docker | |
| 9 | - | [RunBacktest] Enforcing config overrides: { | |
| 10 | - | trading_mode: 'futures', | |
| 11 | - | margin_mode: 'isolated', | |
| 12 | - | dataformat_ohlcv: 'json', | |
| 13 | - | dataformat_trades: 'json' | |
| 14 | - | } | |
| 15 | - | ||
| 16 | - | stdout | src/mastra/super/skills/backtest-runner/skill.spec.ts:303:3 > Backtest Runner: Copytrading Strategy Test (Real Docker) > should successfully prepare env, fetch data, and run freqtrade via docker | |
| 17 | - | [DataFetcher] Downloading 1 pairs... | |
| 18 | - | ||
| 19 | - | stdout | src/mastra/super/skills/backtest-runner/skill.spec.ts:303:3 > Backtest Runner: Copytrading Strategy Test (Real Docker) > should successfully prepare env, fetch data, and run freqtrade via docker | |
| 20 | - | [DataFetcher] Completed. Processed: 1 | |
| 21 | - | ||
| 22 | - | stdout | src/mastra/super/skills/backtest-runner/skill.spec.ts:303:3 > Backtest Runner: Copytrading Strategy Test (Real Docker) > should successfully prepare env, fetch data, and run freqtrade via docker | |
| 23 | - | Checking/Rebuilding Docker image "mastra-freqtrade:latest"... | |
| 24 | - | Docker command: cd /home/dex/Документы/Work/santiment-ai/strategy-agent/docker/freqtrade && docker build -t mastra-freqtrade:latest . | |
| 25 | - | ||
| 26 | - | stdout | src/mastra/super/skills/backtest-runner/skill.spec.ts:303:3 > Backtest Runner: Copytrading Strategy Test (Real Docker) > should successfully prepare env, fetch data, and run freqtrade via docker | |
| 27 | - | Sending build context to Docker daemon 221.2kB | |
| 28 | - | Step 1/7 : FROM freqtradeorg/freqtrade:stable | |
| 29 | - | ---> dfd23153a7f2 | |
| 30 | - | Step 2/7 : COPY requirements.txt /freqtrade/ | |
| 31 | - | ---> Using cache | |
| 32 | - | ---> 2d950a4622c1 | |
| 33 | - | Step 3/7 : RUN pip install --no-cache-dir -r /freqtrade/requirements.txt | |
| 34 | - | ---> Using cache | |
| 35 | - | ---> 298f67123821 | |
| 36 | - | Step 4/7 : COPY add_pair.py /freqtrade/add_pair.py | |
| 37 | - | ---> Using cache | |
| 38 | - | ---> e3274112fd45 | |
| 39 | - | Step 5/7 : COPY pairs.json /freqtrade/pairs.json | |
| 40 | - | ---> Using cache | |
| 41 | - | ---> d4fc1270df5a | |
| 42 | - | Step 6/7 : COPY exchange.py /freqtrade/freqtrade/exchange/exchange.py | |
| 43 | - | ---> Using cache | |
| 44 | - | ---> 04e7579357c7 | |
| 45 | - | Step 7/7 : RUN python /freqtrade/add_pair.py | |
| 46 | - | ---> Using cache | |
| 47 | - | ---> 2d26f279b9b1 | |
| 48 | - | Successfully built 2d26f279b9b1 | |
| 49 | - | Successfully tagged mastra-freqtrade:latest | |
| 50 | - | ||
| 51 | - | Docker image "mastra-freqtrade:latest" is ready ✅ | |
| 52 | - | ||
| 53 | - | stdout | src/mastra/super/skills/backtest-runner/skill.spec.ts:303:3 > Backtest Runner: Copytrading Strategy Test (Real Docker) > should successfully prepare env, fetch data, and run freqtrade via docker | |
| 54 | - | [DOCKER CMD] docker run --rm --memory 1g -v "/home/dex/Документы/Work/santiment-ai/strategy-agent/data/freqtrade_runs/193121d8-f574-4840-bb61-534aa28b4bda:/freqtrade/user_data" -v "/home/dex/Документы/Work/santiment-ai/strategy-agent/data/market_cache/binance:/freqtrade/user_data/data/binance" mastra-freqtrade:latest backtesting --config /freqtrade/user_data/config.json --strategy Strategy --timerange 20251201-20251230 --export trades --data-format-ohlcv json --logfile /freqtrade/user_data/logs/freqtrade.log | |
| 55 | - | ||
| 56 | - | stdout | src/mastra/super/skills/backtest-runner/skill.spec.ts:303:3 > Backtest Runner: Copytrading Strategy Test (Real Docker) > should successfully prepare env, fetch data, and run freqtrade via docker | |
| 57 | - | !!!!!!!!!!! { | |
| 58 | - | success: true, | |
| 59 | - | runId: '193121d8-f574-4840-bb61-534aa28b4bda', | |
| 60 | - | logTail: 'Result for strategy Strategy\n' + | |
| 61 | - | ' BACKTESTING REPORT \n' + | |
| 62 | - | '┏━━━━━━━━━━━━━━━┳━━━━━━━━┳━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━━━━┓\n' + | |
| 63 | - | '┃ Pair ┃ Trades ┃ Avg Profit % ┃ Tot Profit USDT ┃ Tot Profit % ┃ Avg Duration ┃ Win Draw Loss Win% ┃\n' + | |
| 64 | - | '┡━━━━━━━━━━━━━━━╇━━━━━━━━╇━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━━━━┩\n' + | |
| 65 | - | '│ BTC/USDT:USDT │ 0 │ 0.0 │ 0.000 │ 0.0 │ 0:00 │ 0 0 0 0 │\n' + | |
| 66 | - | '│ TOTAL │ 0 │ 0.0 │ 0.000 │ 0.0 │ 0:00 │ 0 0 0 0 │\n' + | |
| 67 | - | '└───────────────┴────────┴──────────────┴─────────────────┴──────────────┴──────────────┴────────────────────────┘\n' + | |
| 68 | - | ' LEFT OPEN TRADES REPORT \n' + | |
| 69 | - | '┏━━━━━━━┳━━━━━━━━┳━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━━━━┓\n' + | |
| 70 | - | '┃ Pair ┃ Trades ┃ Avg Profit % ┃ Tot Profit USDT ┃ Tot Profit % ┃ Avg Duration ┃ Win Draw Loss Win% ┃\n' + | |
| 71 | - | '┡━━━━━━━╇━━━━━━━━╇━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━━━━┩\n' + | |
| 72 | - | '│ TOTAL │ 0 │ 0.0 │ 0.000 │ 0.0 │ 0:00 │ 0 0 0 0 │\n' + | |
| 73 | - | '└───────┴────────┴──────────────┴─────────────────┴──────────────┴──────────────┴────────────────────────┘\n' + | |
| 74 | - | ' ENTER TAG STATS \n' + | |
| 75 | - | '┏━━━━━━━━━━━┳━━━━━━━━━┳━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━━━━┓\n' + | |
| 76 | - | '┃ Enter Tag ┃ Entries ┃ Avg Profit % ┃ Tot Profit USDT ┃ Tot Profit % ┃ Avg Duration ┃ Win Draw Loss Win% ┃\n' + | |
| 77 | - | '┡━━━━━━━━━━━╇━━━━━━━━━╇━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━━━━┩\n' + | |
| 78 | - | '│ TOTAL │ 0 │ 0.0 │ 0.000 │ 0.0 │ 0:00 │ 0 0 0 0 │\n' + | |
| 79 | - | '└───────────┴─────────┴──────────────┴─────────────────┴──────────────┴──────────────┴────────────────────────┘\n' + | |
| 80 | - | ' EXIT REASON STATS \n' + | |
| 81 | - | '┏━━━━━━━━━━━━━┳━━━━━━━┳━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━━━━┓\n' + | |
| 82 | - | '┃ Exit Reason ┃ Exits ┃ Avg Profit % ┃ Tot Profit USDT ┃ Tot Profit % ┃ Avg Duration ┃ Win Draw Loss Win% ┃\n' + | |
| 83 | - | '┡━━━━━━━━━━━━━╇━━━━━━━╇━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━━━━┩\n' + | |
| 84 | - | '│ TOTAL │ 0 │ 0.0 │ 0.000 │ 0.0 │ 0:00 │ 0 0 0 0 │\n' + | |
| 85 | - | '└─────────────┴───────┴──────────────┴─────────────────┴──────────────┴──────────────┴────────────────────────┘\n' + | |
| 86 | - | ' MIXED TAG STATS \n' + | |
| 87 | - | '┏━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━┳━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━━━━┓\n' + | |
| 88 | - | '┃ Enter Tag ┃ Exit Reason ┃ Trades ┃ Avg Profit % ┃ Tot Profit USDT ┃ Tot Profit % ┃ Avg Duration ┃ Win Draw Loss Win% ┃\n' + | |
| 89 | - | '┡━━━━━━━━━━━╇━━━━━━━━━━━━━╇━━━━━━━━╇━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━━━━┩\n' + | |
| 90 | - | '│ TOTAL │ │ 0 │ 0.0 │ 0.000 │ 0.0 │ 0:00 │ 0 0 0 0 │\n' + | |
| 91 | - | '└───────────┴─────────────┴────────┴──────────────┴─────────────────┴──────────────┴──────────────┴────────────────────────┘\n' + | |
| 92 | - | 'No trades made. Your starting balance was 1000 USDT, and your stake was 100 USDT.\n' + | |
| 93 | - | '\n' + | |
| 94 | - | 'Backtested 2025-12-09 00:00:00 -> 2025-12-30 00:00:00 | Max open trades : 1\n' + | |
| 95 | - | ' STRATEGY SUMMARY \n' + | |
| 96 | - | '┏━━━━━━━━━━┳━━━━━━━━┳━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┓\n' + | |
| 97 | - | '┃ Strategy ┃ Trades ┃ Avg Profit % ┃ Tot Profit USDT ┃ Tot Profit % ┃ Avg Duration ┃ Win Draw Loss Win% ┃ Drawdown ┃\n' + | |
| 98 | - | '┡━━━━━━━━━━╇━━━━━━━━╇━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━┩\n' + | |
| 99 | - | '│ Strategy │ 0 │ 0.00 │ 0.000 │ 0.0 │ 0:00 │ 0 0 0 0 │ 0 USDT 0.00% │\n' + | |
| 100 | - | '└──────────┴────────┴──────────────┴─────────────────┴──────────────┴──────────────┴────────────────────────┴───────────────┘\n' + | |
| 101 | - | '2026-01-09 12:05:18,201 - freqtrade - INFO - freqtrade 2025.12\n' + | |
| 102 | - | '2026-01-09 12:05:18,559 - numexpr.utils - INFO - NumExpr defaulting to 8 threads.\n' + | |
| 103 | - | '2026-01-09 12:05:19,950 - freqtrade.configuration.load_config - INFO - Using config: /freqtrade/user_data/config.json ...\n' + | |
| 104 | - | '2026-01-09 12:05:19,952 - freqtrade.loggers - INFO - Enabling colorized output.\n' + | |
| 105 | - | '2026-01-09 12:05:19,953 - freqtrade.loggers - INFO - Logfile configured\n' + | |
| 106 | - | '2026-01-09 12:05:19,953 - freqtrade.loggers - INFO - Verbosity set to 0\n' + | |
| 107 | - | '2026-01-09 12:05:19,953 - freqtrade.configuration.configuration - INFO - Using max_open_trades: None ...\n' + | |
| 108 | - | '2026-01-09 12:05:19,954 - freqtrade.configuration.configuration - INFO - Parameter --timerange detected: 20251201-20251230 ...\n' + | |
| 109 | - | '2026-01-09 12:05:19,966 - freqtrade.configuration.configuration - INFO - Using user-data directory: /freqtrade/user_data ...\n' + | |
| 110 | - | '2026-01-09 12:05:19,966 - freqtrade.configuration.configuration - INFO - Using data directory: /freqtrade/user_data/data/binance ...\n' + | |
| 111 | - | '2026-01-09 12:05:19,967 - freqtrade.configuration.configuration - INFO - Parameter --export detected: trades ...\n' + | |
| 112 | - | '2026-01-09 12:05:19,967 - freqtrade.configuration.configuration - INFO - Parameter --cache=day detected ...\n' + | |
| 113 | - | '2026-01-09 12:05:19,967 - freqtrade.configuration.configuration - INFO - Using "json" to store OHLCV data.\n' + | |
| 114 | - | '2026-01-09 12:05:19,968 - freqtrade.configuration.configuration - INFO - Filter trades by timerange: 20251201-20251230\n' + | |
| 115 | - | '2026-01-09 12:05:19,968 - freqtrade.exchange.check_exchange - INFO - Checking exchange...\n' + | |
| 116 | - | '2026-01-09 12:05:19,978 - freqtrade.exchange.check_exchange - INFO - Exchange "binance" is officially supported by the Freqtrade development team.\n' + | |
| 117 | - | '2026-01-09 12:05:19,979 - freqtrade.configuration.configuration - INFO - Using pairlist from configuration.\n' + | |
| 118 | - | '2026-01-09 12:05:19,979 - freqtrade.configuration.config_validation - INFO - Validating configuration ...\n' + | |
| 119 | - | '2026-01-09 12:05:19,981 - freqtrade.commands.optimize_commands - INFO - Starting freqtrade in Backtesting mode\n' + | |
| 120 | - | '2026-01-09 12:05:19,981 - freqtrade.exchange.exchange - INFO - Instance is running with dry_run enabled\n' + | |
| 121 | - | '2026-01-09 12:05:19,982 - freqtrade.exchange.exchange - INFO - Using CCXT 4.5.29\n' + | |
| 122 | - | "2026-01-09 12:05:19,982 - freqtrade.exchange.exchange - INFO - Applying additional ccxt config: {'options': {'defaultType': 'swap'}}\n" + | |
| 123 | - | "2026-01-09 12:05:19,990 - freqtrade.exchange.exchange - INFO - Applying additional ccxt config: {'options': {'defaultType': 'swap'}}\n" + | |
| 124 | - | '2026-01-09 12:05:20,001 - freqtrade.exchange.exchange - INFO - Using Exchange "Binance"\n' + | |
| 125 | - | "2026-01-09 12:05:22,145 - freqtrade.resolvers.exchange_resolver - INFO - Using resolved exchange 'Binance'...\n" + | |
| 126 | - | "2026-01-09 12:05:22,180 - freqtrade.resolvers.iresolver - INFO - Using resolved strategy Strategy from '/freqtrade/user_data/strategies/strategy.py'...\n" + | |
| 127 | - | '2026-01-09 12:05:22,180 - freqtrade.strategy.hyper - INFO - Found no parameter file.\n' + | |
| 128 | - | "2026-01-09 12:05:22,181 - freqtrade.resolvers.strategy_resolver - INFO - Override strategy 'timeframe' with value from the configuration: 1d.\n" + | |
| 129 | - | "2026-01-09 12:05:22,181 - freqtrade.resolvers.strategy_resolver - INFO - Override strategy 'stake_currency' with value from the configuration: USDT.\n" + | |
| 130 | - | "2026-01-09 12:05:22,181 - freqtrade.resolvers.strategy_resolver - INFO - Override strategy 'stake_amount' with value from the configuration: 100.\n" + | |
| 131 | - | "2026-01-09 12:05:22,182 - freqtrade.resolvers.strategy_resolver - INFO - Strategy using minimal_roi: {'0': 0.03}\n" + | |
| 132 | - | '2026-01-09 12:05:22,182 - freqtrade.resolvers.strategy_resolver - INFO - Strategy using timeframe: 1d\n' + | |
| 133 | - | '2026-01-09 12:05:22,182 - freqtrade.resolvers.strategy_resolver - INFO - Strategy using stoploss: -0.05\n' + | |
| 134 | - | '2026-01-09 12:05:22,183 - freqtrade.resolvers.strategy_resolver - INFO - Strategy using trailing_stop: False\n' + | |
| 135 | - | '2026-01-09 12:05:22,183 - freqtrade.resolvers.strategy_resolver - INFO - Strategy using trailing_stop_positive_offset: 0.0\n' + | |
| 136 | - | '2026-01-09 12:05:22,183 - freqtrade.resolvers.strategy_resolver - INFO - Strategy using trailing_only_offset_is_reached: False\n' + | |
| 137 | - | '2026-01-09 12:05:22,183 - freqtrade.resolvers.strategy_resolver - INFO - Strategy using use_custom_stoploss: False\n' + | |
| 138 | - | '2026-01-09 12:05:22,183 - freqtrade.resolvers.strategy_resolver - INFO - Strategy using process_only_new_candles: True\n' + | |
| 139 | - | "2026-01-09 12:05:22,184 - freqtrade.resolvers.strategy_resolver - INFO - Strategy using order_types: {'entry': 'limit', 'exit': 'limit', 'stoploss': 'limit', 'stoploss_on_exchange': False, \n" + | |
| 140 | - | "'stoploss_on_exchange_interval': 60}\n" + | |
| 141 | - | "2026-01-09 12:05:22,184 - freqtrade.resolvers.strategy_resolver - INFO - Strategy using order_time_in_force: {'entry': 'GTC', 'exit': 'GTC'}\n" + | |
| 142 | - | '2026-01-09 12:05:22,184 - freqtrade.resolvers.strategy_resolver - INFO - Strategy using stake_currency: USDT\n' + | |
| 143 | - | '2026-01-09 12:05:22,185 - freqtrade.resolvers.strategy_resolver - INFO - Strategy using stake_amount: 100\n' + | |
| 144 | - | '2026-01-09 12:05:22,185 - freqtrade.resolvers.strategy_resolver - INFO - Strategy using startup_candle_count: 10\n' + | |
| 145 | - | '2026-01-09 12:05:22,185 - freqtrade.resolvers.strategy_resolver - INFO - Strategy using use_exit_signal: True\n' + | |
| 146 | - | '2026-01-09 12:05:22,185 - freqtrade.resolvers.strategy_resolver - INFO - Strategy using exit_profit_only: False\n' + | |
| 147 | - | '2026-01-09 12:05:22,185 - freqtrade.resolvers.strategy_resolver - INFO - Strategy using ignore_roi_if_entry_signal: False\n' + | |
| 148 | - | '2026-01-09 12:05:22,186 - freqtrade.resolvers.strategy_resolver - INFO - Strategy using exit_profit_offset: 0.0\n' + | |
| 149 | - | '2026-01-09 12:05:22,186 - freqtrade.resolvers.strategy_resolver - INFO - Strategy using disable_dataframe_checks: False\n' + | |
| 150 | - | '2026-01-09 12:05:2'... 23241 more characters | |
| 151 | - | } | |
| 152 | - | [Test Success] Run ID: 193121d8-f574-4840-bb61-534aa28b4bda | |
| 153 | - | ||
| 154 | - | stdout | src/mastra/super/skills/backtest-runner/skill.spec.ts:119:1 > Backtest Runner: Copytrading Strategy Test (Real Docker) | |
| 155 | - | [Test Info] Artifacts preserved for threadId: copytrading-test-1767960313204 | |
| 156 | - | ||
| 157 | - | ✓ src/mastra/super/skills/backtest-runner/skill.spec.ts (2 tests | 1 skipped) 28901ms | |
| 158 | - | ↓ Backtest Runner: Full Integration Test (Real Docker) (1) | |
| 159 | - | ↓ should successfully prepare env, fetch data, and run freqtrade via docker | |
| 160 | - | ✓ Backtest Runner: Copytrading Strategy Test (Real Docker) (1) | |
| 161 | - | ✓ should successfully prepare env, fetch data, and run freqtrade via docker 28900ms | |
| 162 | - | ||
| 163 | - | Test Files 1 passed (1) | |
| 164 | - | Tests 1 passed | 1 skipped (2) | |
| 165 | - | Start at 15:05:10 | |
| 166 | - | Duration 32.01s (transform 109ms, setup 2.60s, import 88ms, tests 28.90s, environment 0ms) | |
| 167 | - | ||
| 168 | - | ||
| 169 | - | ~/Документы/Work/santiment-ai/strategy-agent master* 32s | |
| 170 | - | ❯ | |
| 171 | - | ~/Документы/Work/santiment-ai/strategy-agent master* 32s | |
3.log (fájl törölve)
| @@ -1,189 +0,0 @@ | |||
| 1 | - | ❯ vitest run src/mastra/super/skills/backtest-runner/skill.spec.ts:119 | |
| 2 | - | ||
| 3 | - | RUN v4.0.16 /home/dex/Документы/Work/santiment-ai/strategy-agent | |
| 4 | - | ||
| 5 | - | stdout | src/mastra/super/skills/backtest-runner/skill.spec.ts:296:3 > Backtest Runner: Copytrading Strategy Test (Real Docker) > should successfully prepare env, fetch data, and run freqtrade via docker | |
| 6 | - | [Isolation] Environment prepared for run f08195dc-6440-4e72-a906-75e5894b36bf | |
| 7 | - | ||
| 8 | - | stdout | src/mastra/super/skills/backtest-runner/skill.spec.ts:296:3 > Backtest Runner: Copytrading Strategy Test (Real Docker) > should successfully prepare env, fetch data, and run freqtrade via docker | |
| 9 | - | [RunBacktest] Enforcing config overrides: { | |
| 10 | - | trading_mode: 'futures', | |
| 11 | - | margin_mode: 'isolated', | |
| 12 | - | dataformat_ohlcv: 'json', | |
| 13 | - | dataformat_trades: 'json' | |
| 14 | - | } | |
| 15 | - | ||
| 16 | - | stdout | src/mastra/super/skills/backtest-runner/skill.spec.ts:296:3 > Backtest Runner: Copytrading Strategy Test (Real Docker) > should successfully prepare env, fetch data, and run freqtrade via docker | |
| 17 | - | [DataFetcher] Downloading 1 pairs... | |
| 18 | - | ||
| 19 | - | stdout | src/mastra/super/skills/backtest-runner/skill.spec.ts:296:3 > Backtest Runner: Copytrading Strategy Test (Real Docker) > should successfully prepare env, fetch data, and run freqtrade via docker | |
| 20 | - | [DataFetcher] Completed. Processed: 1 | |
| 21 | - | ||
| 22 | - | stdout | src/mastra/super/skills/backtest-runner/skill.spec.ts:296:3 > Backtest Runner: Copytrading Strategy Test (Real Docker) > should successfully prepare env, fetch data, and run freqtrade via docker | |
| 23 | - | Checking/Rebuilding Docker image "mastra-freqtrade:latest"... | |
| 24 | - | Docker command: cd /home/dex/Документы/Work/santiment-ai/strategy-agent/docker/freqtrade && docker build -t mastra-freqtrade:latest . | |
| 25 | - | ||
| 26 | - | stdout | src/mastra/super/skills/backtest-runner/skill.spec.ts:296:3 > Backtest Runner: Copytrading Strategy Test (Real Docker) > should successfully prepare env, fetch data, and run freqtrade via docker | |
| 27 | - | Sending build context to Docker daemon 221.2kB | |
| 28 | - | Step 1/7 : FROM freqtradeorg/freqtrade:stable | |
| 29 | - | ---> dfd23153a7f2 | |
| 30 | - | Step 2/7 : COPY requirements.txt /freqtrade/ | |
| 31 | - | ---> Using cache | |
| 32 | - | ---> 2d950a4622c1 | |
| 33 | - | Step 3/7 : RUN pip install --no-cache-dir -r /freqtrade/requirements.txt | |
| 34 | - | ---> Using cache | |
| 35 | - | ---> 298f67123821 | |
| 36 | - | Step 4/7 : COPY add_pair.py /freqtrade/add_pair.py | |
| 37 | - | ---> Using cache | |
| 38 | - | ---> e3274112fd45 | |
| 39 | - | Step 5/7 : COPY pairs.json /freqtrade/pairs.json | |
| 40 | - | ---> Using cache | |
| 41 | - | ---> d4fc1270df5a | |
| 42 | - | Step 6/7 : COPY exchange.py /freqtrade/freqtrade/exchange/exchange.py | |
| 43 | - | ---> Using cache | |
| 44 | - | ---> 04e7579357c7 | |
| 45 | - | Step 7/7 : RUN python /freqtrade/add_pair.py | |
| 46 | - | ---> Using cache | |
| 47 | - | ---> 2d26f279b9b1 | |
| 48 | - | Successfully built 2d26f279b9b1 | |
| 49 | - | Successfully tagged mastra-freqtrade:latest | |
| 50 | - | ||
| 51 | - | Docker image "mastra-freqtrade:latest" is ready ✅ | |
| 52 | - | ||
| 53 | - | stdout | src/mastra/super/skills/backtest-runner/skill.spec.ts:296:3 > Backtest Runner: Copytrading Strategy Test (Real Docker) > should successfully prepare env, fetch data, and run freqtrade via docker | |
| 54 | - | [DOCKER CMD] docker run --rm --memory 1g -v "/home/dex/Документы/Work/santiment-ai/strategy-agent/data/freqtrade_runs/f08195dc-6440-4e72-a906-75e5894b36bf:/freqtrade/user_data" -v "/home/dex/Документы/Work/santiment-ai/strategy-agent/data/market_cache/binance:/freqtrade/user_data/data/binance" mastra-freqtrade:latest backtesting --config /freqtrade/user_data/config.json --strategy Strategy --timerange 20251201-20251230 --export trades --data-format-ohlcv json --logfile /freqtrade/user_data/logs/freqtrade.log | |
| 55 | - | ||
| 56 | - | stdout | src/mastra/super/skills/backtest-runner/skill.spec.ts:296:3 > Backtest Runner: Copytrading Strategy Test (Real Docker) > should successfully prepare env, fetch data, and run freqtrade via docker | |
| 57 | - | { | |
| 58 | - | success: true, | |
| 59 | - | runId: 'f08195dc-6440-4e72-a906-75e5894b36bf', | |
| 60 | - | logTail: 'Result for strategy Strategy\n' + | |
| 61 | - | ' BACKTESTING REPORT \n' + | |
| 62 | - | '┏━━━━━━━━━━━━━━━┳━━━━━━━━┳━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━━━━┓\n' + | |
| 63 | - | '┃ Pair ┃ Trades ┃ Avg Profit % ┃ Tot Profit USDT ┃ Tot Profit % ┃ Avg Duration ┃ Win Draw Loss Win% ┃\n' + | |
| 64 | - | '┡━━━━━━━━━━━━━━━╇━━━━━━━━╇━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━━━━┩\n' + | |
| 65 | - | '│ BTC/USDT:USDT │ 1 │ -1.82 │ -1.611 │ -0.16 │ 7 days, 0:00:00 │ 0 0 1 0 │\n' + | |
| 66 | - | '│ TOTAL │ 1 │ -1.82 │ -1.611 │ -0.16 │ 7 days, 0:00:00 │ 0 0 1 0 │\n' + | |
| 67 | - | '└───────────────┴────────┴──────────────┴─────────────────┴──────────────┴─────────────────┴────────────────────────┘\n' + | |
| 68 | - | ' LEFT OPEN TRADES REPORT \n' + | |
| 69 | - | '┏━━━━━━━━━━━━━━━┳━━━━━━━━┳━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━━━━┓\n' + | |
| 70 | - | '┃ Pair ┃ Trades ┃ Avg Profit % ┃ Tot Profit USDT ┃ Tot Profit % ┃ Avg Duration ┃ Win Draw Loss Win% ┃\n' + | |
| 71 | - | '┡━━━━━━━━━━━━━━━╇━━━━━━━━╇━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━━━━┩\n' + | |
| 72 | - | '│ BTC/USDT:USDT │ 1 │ -1.82 │ -1.611 │ -0.16 │ 7 days, 0:00:00 │ 0 0 1 0 │\n' + | |
| 73 | - | '│ TOTAL │ 1 │ -1.82 │ -1.611 │ -0.16 │ 7 days, 0:00:00 │ 0 0 1 0 │\n' + | |
| 74 | - | '└───────────────┴────────┴──────────────┴─────────────────┴──────────────┴─────────────────┴────────────────────────┘\n' + | |
| 75 | - | ' ENTER TAG STATS \n' + | |
| 76 | - | '┏━━━━━━━━━━━┳━━━━━━━━━┳━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━━━━┓\n' + | |
| 77 | - | '┃ Enter Tag ┃ Entries ┃ Avg Profit % ┃ Tot Profit USDT ┃ Tot Profit % ┃ Avg Duration ┃ Win Draw Loss Win% ┃\n' + | |
| 78 | - | '┡━━━━━━━━━━━╇━━━━━━━━━╇━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━━━━┩\n' + | |
| 79 | - | '│ OTHER │ 1 │ -1.82 │ -1.611 │ -0.16 │ 7 days, 0:00:00 │ 0 0 1 0 │\n' + | |
| 80 | - | '│ TOTAL │ 1 │ -1.82 │ -1.611 │ -0.16 │ 7 days, 0:00:00 │ 0 0 1 0 │\n' + | |
| 81 | - | '└───────────┴─────────┴──────────────┴─────────────────┴──────────────┴─────────────────┴────────────────────────┘\n' + | |
| 82 | - | ' EXIT REASON STATS \n' + | |
| 83 | - | '┏━━━━━━━━━━━━━┳━━━━━━━┳━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━━━━┓\n' + | |
| 84 | - | '┃ Exit Reason ┃ Exits ┃ Avg Profit % ┃ Tot Profit USDT ┃ Tot Profit % ┃ Avg Duration ┃ Win Draw Loss Win% ┃\n' + | |
| 85 | - | '┡━━━━━━━━━━━━━╇━━━━━━━╇━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━━━━┩\n' + | |
| 86 | - | '│ force_exit │ 1 │ -1.82 │ -1.611 │ -0.16 │ 7 days, 0:00:00 │ 0 0 1 0 │\n' + | |
| 87 | - | '│ TOTAL │ 1 │ -1.82 │ -1.611 │ -0.16 │ 7 days, 0:00:00 │ 0 0 1 0 │\n' + | |
| 88 | - | '└─────────────┴───────┴──────────────┴─────────────────┴──────────────┴─────────────────┴────────────────────────┘\n' + | |
| 89 | - | ' MIXED TAG STATS \n' + | |
| 90 | - | '┏━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━┳━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━━━━┓\n' + | |
| 91 | - | '┃ Enter Tag ┃ Exit Reason ┃ Trades ┃ Avg Profit % ┃ Tot Profit USDT ┃ Tot Profit % ┃ Avg Duration ┃ Win Draw Loss Win% ┃\n' + | |
| 92 | - | '┡━━━━━━━━━━━╇━━━━━━━━━━━━━╇━━━━━━━━╇━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━━━━┩\n' + | |
| 93 | - | '│ │ force_exit │ 1 │ -1.82 │ -1.611 │ -0.16 │ 7 days, 0:00:00 │ 0 0 1 0 │\n' + | |
| 94 | - | '│ TOTAL │ │ 1 │ -1.82 │ -1.611 │ -0.16 │ 7 days, 0:00:00 │ 0 0 1 0 │\n' + | |
| 95 | - | '└───────────┴─────────────┴────────┴──────────────┴─────────────────┴──────────────┴─────────────────┴────────────────────────┘\n' + | |
| 96 | - | ' SUMMARY METRICS \n' + | |
| 97 | - | '┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓\n' + | |
| 98 | - | '┃ Metric ┃ Value ┃\n' + | |
| 99 | - | '┡━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┩\n' + | |
| 100 | - | '│ Backtesting from │ 2025-12-09 00:00:00 │\n' + | |
| 101 | - | '│ Backtesting to │ 2025-12-30 00:00:00 │\n' + | |
| 102 | - | '│ Trading Mode │ Isolated Futures │\n' + | |
| 103 | - | '│ Max open trades │ 1 │\n' + | |
| 104 | - | '│ │ │\n' + | |
| 105 | - | '│ Total/Daily Avg Trades │ 1 / 0.05 │\n' + | |
| 106 | - | '│ Starting balance │ 1000 USDT │\n' + | |
| 107 | - | '│ Final balance │ 998.389 USDT │\n' + | |
| 108 | - | '│ Absolute profit │ -1.611 USDT │\n' + | |
| 109 | - | '│ Total profit % │ -0.16% │\n' + | |
| 110 | - | '│ CAGR % │ -2.76% │\n' + | |
| 111 | - | '│ Sortino │ -100.00 │\n' + | |
| 112 | - | '│ Sharpe │ -100.00 │\n' + | |
| 113 | - | '│ Calmar │ -90.98 │\n' + | |
| 114 | - | '│ SQN │ -100.00 │\n' + | |
| 115 | - | '│ Profit factor │ 0.00 │\n' + | |
| 116 | - | '│ Expectancy (Ratio) │ -1.61 (-1.00) │\n' + | |
| 117 | - | '│ Avg. daily profit │ -0.077 USDT │\n' + | |
| 118 | - | '│ Avg. stake amount │ 88.531 USDT │\n' + | |
| 119 | - | '│ Total trade volume │ 175.751 USDT │\n' + | |
| 120 | - | '│ │ │\n' + | |
| 121 | - | '│ Best Pair │ BTC/USDT:USDT -0.16% │\n' + | |
| 122 | - | '│ Worst Pair │ BTC/USDT:USDT -0.16% │\n' + | |
| 123 | - | '│ Best trade │ BTC/USDT:USDT -1.82% │\n' + | |
| 124 | - | '│ Worst trade │ BTC/USDT:USDT -1.82% │\n' + | |
| 125 | - | '│ Best day │ -1.611 USDT │\n' + | |
| 126 | - | '│ Worst day │ -1.611 USDT │\n' + | |
| 127 | - | '│ Days win/draw/lose │ 0 / 0 / 1 │\n' + | |
| 128 | - | '│ Min/Max/Avg. Duration Winners │ 0d 00:00 / 0d 00:00 / 0d 00:00 │\n' + | |
| 129 | - | '│ Min/Max/Avg. Duration Losers │ 7d 00:00 / 7d 00:00 / 7d 00:00 │\n' + | |
| 130 | - | '│ Max Consecutive Wins / Loss │ 0 / 1 │\n' + | |
| 131 | - | '│ Rejected Entry signals │ 0 │\n' + | |
| 132 | - | '│ Entry/Exit Timeouts │ 0 / 0 │\n' + | |
| 133 | - | '│ │ │\n' + | |
| 134 | - | '│ Min balance │ 998.389 USDT │\n' + | |
| 135 | - | '│ Max balance │ 998.389 USDT │\n' + | |
| 136 | - | '│ Max % of account underwater │ 0.16% │\n' + | |
| 137 | - | '│ Absolute drawdown │ 1.611 USDT (0.16%) │\n' + | |
| 138 | - | '│ Drawdown duration │ 0 days 00:00:00 │\n' + | |
| 139 | - | '│ Profit at drawdown start │ 0 USDT │\n' + | |
| 140 | - | '│ Profit at drawdown end │ -1.611 USDT │\n' + | |
| 141 | - | '│ Drawdown start │ 2025-12-30 00:00:00 │\n' + | |
| 142 | - | '│ Drawdown end │ 2025-12-30 00:00:00 │\n' + | |
| 143 | - | '│ Market change │ -4.60% │\n' + | |
| 144 | - | '└───────────────────────────────┴────────────────────────────────┘\n' + | |
| 145 | - | '\n' + | |
| 146 | - | 'Backtested 2025-12-09 00:00:00 -> 2025-12-30 00:00:00 | Max open trades : 1\n' + | |
| 147 | - | ' STRATEGY SUMMARY \n' + | |
| 148 | - | '┏━━━━━━━━━━┳━━━━━━━━┳━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━┓\n' + | |
| 149 | - | '┃ Strategy ┃ Trades ┃ Avg Profit % ┃ Tot Profit USDT ┃ Tot Profit % ┃ Avg Duration ┃ Win Draw Loss Win% ┃ Drawdown ┃\n' + | |
| 150 | - | '┡━━━━━━━━━━╇━━━━━━━━╇━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━┩\n' + | |
| 151 | - | '│ Strategy │ 1 │ -1.82 │ -1.611 │ -0.16 │ 7 days, 0:00:00 │ 0 0 1 0 │ 1.611 USDT 0.16% │\n' + | |
| 152 | - | '└──────────┴────────┴──────────────┴─────────────────┴──────────────┴─────────────────┴────────────────────────┴───────────────────┘\n' + | |
| 153 | - | '2026-01-09 13:04:17,356 - freqtrade - INFO - freqtrade 2025.12\n' + | |
| 154 | - | '2026-01-09 13:04:17,801 - numexpr.utils - INFO - NumExpr defaulting to 8 threads.\n' + | |
| 155 | - | '2026-01-09 13:04:19,631 - freqtrade.configuration.load_config - INFO - Using config: /freqtrade/user_data/config.json ...\n' + | |
| 156 | - | '2026-01-09 13:04:19,634 - freqtrade.loggers - INFO - Enabling colorized output.\n' + | |
| 157 | - | '2026-01-09 13:04:19,635 - freqtrade.loggers - INFO - Logfile configured\n' + | |
| 158 | - | '2026-01-09 13:04:19,635 - freqtrade.loggers - INFO - Verbosity set to 0\n' + | |
| 159 | - | '2026-01-09 13:04:19,636 - freqtrade.configuration.configuration - INFO - Using max_open_trades: None ...\n' + | |
| 160 | - | '2026-01-09 13:04:19,636 - freqtrade.configuration.configuration - INFO - Parameter --timerange detected: 20251201-20251230 ...\n' + | |
| 161 | - | '2026-01-09 13:04:19,651 - freqtrade.configuration.configuration - INFO - Using user-data directory: /freqtrade/user_data ...\n' + | |
| 162 | - | '2026-01-09 13:04:19,651 - freqtrade.configuration.configuration - INFO - Using data directory: /freqtrade/user_data/data/binance ...\n' + | |
| 163 | - | '2026-01-09 13:04:19,652 - freqtrade.configuration.configuration - INFO - Parameter --export detected: trades ...\n' + | |
| 164 | - | '2026-01-09 13:04:19,652 - freqtrade.configuration.configuration - INFO - Parameter --cache=day detected ...\n' + | |
| 165 | - | '2026-01-09 13:04:19,653 - freqtrade.configuration.configuration - INFO - Using "json" to store OHLCV data.\n' + | |
| 166 | - | '2026-01-09 13:04:19,653 - freqtrade.configuration.configuration - INFO - Filter trades by timerange: 20251201-20251230\n' + | |
| 167 | - | '2026-01-09 13:04:19,654 - freqtrade.exchange.check_exchange - INFO - Checking exchange...\n' + | |
| 168 | - | '2026-01-09 13:04:19,670 - freqtrade.exchange.check_exchange - INFO - Exchange "binance" is officially supported by the Freqtrade developm'... 27101 more characters | |
| 169 | - | } | |
| 170 | - | [Test Success] Run ID: f08195dc-6440-4e72-a906-75e5894b36bf | |
| 171 | - | ||
| 172 | - | stdout | src/mastra/super/skills/backtest-runner/skill.spec.ts:119:1 > Backtest Runner: Copytrading Strategy Test (Real Docker) | |
| 173 | - | [Test Info] Artifacts preserved for threadId: copytrading-test-1767963852908 | |
| 174 | - | ||
| 175 | - | ✓ src/mastra/super/skills/backtest-runner/skill.spec.ts (2 tests | 1 skipped) 23326ms | |
| 176 | - | ↓ Backtest Runner: Full Integration Test (Real Docker) (1) | |
| 177 | - | ↓ should successfully prepare env, fetch data, and run freqtrade via docker | |
| 178 | - | ✓ Backtest Runner: Copytrading Strategy Test (Real Docker) (1) | |
| 179 | - | ✓ should successfully prepare env, fetch data, and run freqtrade via docker 23325ms | |
| 180 | - | ||
| 181 | - | Test Files 1 passed (1) | |
| 182 | - | Tests 1 passed | 1 skipped (2) | |
| 183 | - | Start at 16:04:12 | |
| 184 | - | Duration 23.83s (transform 101ms, setup 298ms, import 100ms, tests 23.33s, environment 0ms) | |
| 185 | - | ||
| 186 | - | ||
| 187 | - | ~/Документы/Work/santiment-ai/strategy-agent master* 24s | |
| 188 | - | ❯ | |
| 189 | - | ||
uxname gist felülvizsgálása 2 days ago. Revízióhoz ugrás
1 file changed, 189 insertions
3.log(fájl létrehozva)
| @@ -0,0 +1,189 @@ | |||
| 1 | + | ❯ vitest run src/mastra/super/skills/backtest-runner/skill.spec.ts:119 | |
| 2 | + | ||
| 3 | + | RUN v4.0.16 /home/dex/Документы/Work/santiment-ai/strategy-agent | |
| 4 | + | ||
| 5 | + | stdout | src/mastra/super/skills/backtest-runner/skill.spec.ts:296:3 > Backtest Runner: Copytrading Strategy Test (Real Docker) > should successfully prepare env, fetch data, and run freqtrade via docker | |
| 6 | + | [Isolation] Environment prepared for run f08195dc-6440-4e72-a906-75e5894b36bf | |
| 7 | + | ||
| 8 | + | stdout | src/mastra/super/skills/backtest-runner/skill.spec.ts:296:3 > Backtest Runner: Copytrading Strategy Test (Real Docker) > should successfully prepare env, fetch data, and run freqtrade via docker | |
| 9 | + | [RunBacktest] Enforcing config overrides: { | |
| 10 | + | trading_mode: 'futures', | |
| 11 | + | margin_mode: 'isolated', | |
| 12 | + | dataformat_ohlcv: 'json', | |
| 13 | + | dataformat_trades: 'json' | |
| 14 | + | } | |
| 15 | + | ||
| 16 | + | stdout | src/mastra/super/skills/backtest-runner/skill.spec.ts:296:3 > Backtest Runner: Copytrading Strategy Test (Real Docker) > should successfully prepare env, fetch data, and run freqtrade via docker | |
| 17 | + | [DataFetcher] Downloading 1 pairs... | |
| 18 | + | ||
| 19 | + | stdout | src/mastra/super/skills/backtest-runner/skill.spec.ts:296:3 > Backtest Runner: Copytrading Strategy Test (Real Docker) > should successfully prepare env, fetch data, and run freqtrade via docker | |
| 20 | + | [DataFetcher] Completed. Processed: 1 | |
| 21 | + | ||
| 22 | + | stdout | src/mastra/super/skills/backtest-runner/skill.spec.ts:296:3 > Backtest Runner: Copytrading Strategy Test (Real Docker) > should successfully prepare env, fetch data, and run freqtrade via docker | |
| 23 | + | Checking/Rebuilding Docker image "mastra-freqtrade:latest"... | |
| 24 | + | Docker command: cd /home/dex/Документы/Work/santiment-ai/strategy-agent/docker/freqtrade && docker build -t mastra-freqtrade:latest . | |
| 25 | + | ||
| 26 | + | stdout | src/mastra/super/skills/backtest-runner/skill.spec.ts:296:3 > Backtest Runner: Copytrading Strategy Test (Real Docker) > should successfully prepare env, fetch data, and run freqtrade via docker | |
| 27 | + | Sending build context to Docker daemon 221.2kB | |
| 28 | + | Step 1/7 : FROM freqtradeorg/freqtrade:stable | |
| 29 | + | ---> dfd23153a7f2 | |
| 30 | + | Step 2/7 : COPY requirements.txt /freqtrade/ | |
| 31 | + | ---> Using cache | |
| 32 | + | ---> 2d950a4622c1 | |
| 33 | + | Step 3/7 : RUN pip install --no-cache-dir -r /freqtrade/requirements.txt | |
| 34 | + | ---> Using cache | |
| 35 | + | ---> 298f67123821 | |
| 36 | + | Step 4/7 : COPY add_pair.py /freqtrade/add_pair.py | |
| 37 | + | ---> Using cache | |
| 38 | + | ---> e3274112fd45 | |
| 39 | + | Step 5/7 : COPY pairs.json /freqtrade/pairs.json | |
| 40 | + | ---> Using cache | |
| 41 | + | ---> d4fc1270df5a | |
| 42 | + | Step 6/7 : COPY exchange.py /freqtrade/freqtrade/exchange/exchange.py | |
| 43 | + | ---> Using cache | |
| 44 | + | ---> 04e7579357c7 | |
| 45 | + | Step 7/7 : RUN python /freqtrade/add_pair.py | |
| 46 | + | ---> Using cache | |
| 47 | + | ---> 2d26f279b9b1 | |
| 48 | + | Successfully built 2d26f279b9b1 | |
| 49 | + | Successfully tagged mastra-freqtrade:latest | |
| 50 | + | ||
| 51 | + | Docker image "mastra-freqtrade:latest" is ready ✅ | |
| 52 | + | ||
| 53 | + | stdout | src/mastra/super/skills/backtest-runner/skill.spec.ts:296:3 > Backtest Runner: Copytrading Strategy Test (Real Docker) > should successfully prepare env, fetch data, and run freqtrade via docker | |
| 54 | + | [DOCKER CMD] docker run --rm --memory 1g -v "/home/dex/Документы/Work/santiment-ai/strategy-agent/data/freqtrade_runs/f08195dc-6440-4e72-a906-75e5894b36bf:/freqtrade/user_data" -v "/home/dex/Документы/Work/santiment-ai/strategy-agent/data/market_cache/binance:/freqtrade/user_data/data/binance" mastra-freqtrade:latest backtesting --config /freqtrade/user_data/config.json --strategy Strategy --timerange 20251201-20251230 --export trades --data-format-ohlcv json --logfile /freqtrade/user_data/logs/freqtrade.log | |
| 55 | + | ||
| 56 | + | stdout | src/mastra/super/skills/backtest-runner/skill.spec.ts:296:3 > Backtest Runner: Copytrading Strategy Test (Real Docker) > should successfully prepare env, fetch data, and run freqtrade via docker | |
| 57 | + | { | |
| 58 | + | success: true, | |
| 59 | + | runId: 'f08195dc-6440-4e72-a906-75e5894b36bf', | |
| 60 | + | logTail: 'Result for strategy Strategy\n' + | |
| 61 | + | ' BACKTESTING REPORT \n' + | |
| 62 | + | '┏━━━━━━━━━━━━━━━┳━━━━━━━━┳━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━━━━┓\n' + | |
| 63 | + | '┃ Pair ┃ Trades ┃ Avg Profit % ┃ Tot Profit USDT ┃ Tot Profit % ┃ Avg Duration ┃ Win Draw Loss Win% ┃\n' + | |
| 64 | + | '┡━━━━━━━━━━━━━━━╇━━━━━━━━╇━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━━━━┩\n' + | |
| 65 | + | '│ BTC/USDT:USDT │ 1 │ -1.82 │ -1.611 │ -0.16 │ 7 days, 0:00:00 │ 0 0 1 0 │\n' + | |
| 66 | + | '│ TOTAL │ 1 │ -1.82 │ -1.611 │ -0.16 │ 7 days, 0:00:00 │ 0 0 1 0 │\n' + | |
| 67 | + | '└───────────────┴────────┴──────────────┴─────────────────┴──────────────┴─────────────────┴────────────────────────┘\n' + | |
| 68 | + | ' LEFT OPEN TRADES REPORT \n' + | |
| 69 | + | '┏━━━━━━━━━━━━━━━┳━━━━━━━━┳━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━━━━┓\n' + | |
| 70 | + | '┃ Pair ┃ Trades ┃ Avg Profit % ┃ Tot Profit USDT ┃ Tot Profit % ┃ Avg Duration ┃ Win Draw Loss Win% ┃\n' + | |
| 71 | + | '┡━━━━━━━━━━━━━━━╇━━━━━━━━╇━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━━━━┩\n' + | |
| 72 | + | '│ BTC/USDT:USDT │ 1 │ -1.82 │ -1.611 │ -0.16 │ 7 days, 0:00:00 │ 0 0 1 0 │\n' + | |
| 73 | + | '│ TOTAL │ 1 │ -1.82 │ -1.611 │ -0.16 │ 7 days, 0:00:00 │ 0 0 1 0 │\n' + | |
| 74 | + | '└───────────────┴────────┴──────────────┴─────────────────┴──────────────┴─────────────────┴────────────────────────┘\n' + | |
| 75 | + | ' ENTER TAG STATS \n' + | |
| 76 | + | '┏━━━━━━━━━━━┳━━━━━━━━━┳━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━━━━┓\n' + | |
| 77 | + | '┃ Enter Tag ┃ Entries ┃ Avg Profit % ┃ Tot Profit USDT ┃ Tot Profit % ┃ Avg Duration ┃ Win Draw Loss Win% ┃\n' + | |
| 78 | + | '┡━━━━━━━━━━━╇━━━━━━━━━╇━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━━━━┩\n' + | |
| 79 | + | '│ OTHER │ 1 │ -1.82 │ -1.611 │ -0.16 │ 7 days, 0:00:00 │ 0 0 1 0 │\n' + | |
| 80 | + | '│ TOTAL │ 1 │ -1.82 │ -1.611 │ -0.16 │ 7 days, 0:00:00 │ 0 0 1 0 │\n' + | |
| 81 | + | '└───────────┴─────────┴──────────────┴─────────────────┴──────────────┴─────────────────┴────────────────────────┘\n' + | |
| 82 | + | ' EXIT REASON STATS \n' + | |
| 83 | + | '┏━━━━━━━━━━━━━┳━━━━━━━┳━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━━━━┓\n' + | |
| 84 | + | '┃ Exit Reason ┃ Exits ┃ Avg Profit % ┃ Tot Profit USDT ┃ Tot Profit % ┃ Avg Duration ┃ Win Draw Loss Win% ┃\n' + | |
| 85 | + | '┡━━━━━━━━━━━━━╇━━━━━━━╇━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━━━━┩\n' + | |
| 86 | + | '│ force_exit │ 1 │ -1.82 │ -1.611 │ -0.16 │ 7 days, 0:00:00 │ 0 0 1 0 │\n' + | |
| 87 | + | '│ TOTAL │ 1 │ -1.82 │ -1.611 │ -0.16 │ 7 days, 0:00:00 │ 0 0 1 0 │\n' + | |
| 88 | + | '└─────────────┴───────┴──────────────┴─────────────────┴──────────────┴─────────────────┴────────────────────────┘\n' + | |
| 89 | + | ' MIXED TAG STATS \n' + | |
| 90 | + | '┏━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━┳━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━━━━┓\n' + | |
| 91 | + | '┃ Enter Tag ┃ Exit Reason ┃ Trades ┃ Avg Profit % ┃ Tot Profit USDT ┃ Tot Profit % ┃ Avg Duration ┃ Win Draw Loss Win% ┃\n' + | |
| 92 | + | '┡━━━━━━━━━━━╇━━━━━━━━━━━━━╇━━━━━━━━╇━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━━━━┩\n' + | |
| 93 | + | '│ │ force_exit │ 1 │ -1.82 │ -1.611 │ -0.16 │ 7 days, 0:00:00 │ 0 0 1 0 │\n' + | |
| 94 | + | '│ TOTAL │ │ 1 │ -1.82 │ -1.611 │ -0.16 │ 7 days, 0:00:00 │ 0 0 1 0 │\n' + | |
| 95 | + | '└───────────┴─────────────┴────────┴──────────────┴─────────────────┴──────────────┴─────────────────┴────────────────────────┘\n' + | |
| 96 | + | ' SUMMARY METRICS \n' + | |
| 97 | + | '┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓\n' + | |
| 98 | + | '┃ Metric ┃ Value ┃\n' + | |
| 99 | + | '┡━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┩\n' + | |
| 100 | + | '│ Backtesting from │ 2025-12-09 00:00:00 │\n' + | |
| 101 | + | '│ Backtesting to │ 2025-12-30 00:00:00 │\n' + | |
| 102 | + | '│ Trading Mode │ Isolated Futures │\n' + | |
| 103 | + | '│ Max open trades │ 1 │\n' + | |
| 104 | + | '│ │ │\n' + | |
| 105 | + | '│ Total/Daily Avg Trades │ 1 / 0.05 │\n' + | |
| 106 | + | '│ Starting balance │ 1000 USDT │\n' + | |
| 107 | + | '│ Final balance │ 998.389 USDT │\n' + | |
| 108 | + | '│ Absolute profit │ -1.611 USDT │\n' + | |
| 109 | + | '│ Total profit % │ -0.16% │\n' + | |
| 110 | + | '│ CAGR % │ -2.76% │\n' + | |
| 111 | + | '│ Sortino │ -100.00 │\n' + | |
| 112 | + | '│ Sharpe │ -100.00 │\n' + | |
| 113 | + | '│ Calmar │ -90.98 │\n' + | |
| 114 | + | '│ SQN │ -100.00 │\n' + | |
| 115 | + | '│ Profit factor │ 0.00 │\n' + | |
| 116 | + | '│ Expectancy (Ratio) │ -1.61 (-1.00) │\n' + | |
| 117 | + | '│ Avg. daily profit │ -0.077 USDT │\n' + | |
| 118 | + | '│ Avg. stake amount │ 88.531 USDT │\n' + | |
| 119 | + | '│ Total trade volume │ 175.751 USDT │\n' + | |
| 120 | + | '│ │ │\n' + | |
| 121 | + | '│ Best Pair │ BTC/USDT:USDT -0.16% │\n' + | |
| 122 | + | '│ Worst Pair │ BTC/USDT:USDT -0.16% │\n' + | |
| 123 | + | '│ Best trade │ BTC/USDT:USDT -1.82% │\n' + | |
| 124 | + | '│ Worst trade │ BTC/USDT:USDT -1.82% │\n' + | |
| 125 | + | '│ Best day │ -1.611 USDT │\n' + | |
| 126 | + | '│ Worst day │ -1.611 USDT │\n' + | |
| 127 | + | '│ Days win/draw/lose │ 0 / 0 / 1 │\n' + | |
| 128 | + | '│ Min/Max/Avg. Duration Winners │ 0d 00:00 / 0d 00:00 / 0d 00:00 │\n' + | |
| 129 | + | '│ Min/Max/Avg. Duration Losers │ 7d 00:00 / 7d 00:00 / 7d 00:00 │\n' + | |
| 130 | + | '│ Max Consecutive Wins / Loss │ 0 / 1 │\n' + | |
| 131 | + | '│ Rejected Entry signals │ 0 │\n' + | |
| 132 | + | '│ Entry/Exit Timeouts │ 0 / 0 │\n' + | |
| 133 | + | '│ │ │\n' + | |
| 134 | + | '│ Min balance │ 998.389 USDT │\n' + | |
| 135 | + | '│ Max balance │ 998.389 USDT │\n' + | |
| 136 | + | '│ Max % of account underwater │ 0.16% │\n' + | |
| 137 | + | '│ Absolute drawdown │ 1.611 USDT (0.16%) │\n' + | |
| 138 | + | '│ Drawdown duration │ 0 days 00:00:00 │\n' + | |
| 139 | + | '│ Profit at drawdown start │ 0 USDT │\n' + | |
| 140 | + | '│ Profit at drawdown end │ -1.611 USDT │\n' + | |
| 141 | + | '│ Drawdown start │ 2025-12-30 00:00:00 │\n' + | |
| 142 | + | '│ Drawdown end │ 2025-12-30 00:00:00 │\n' + | |
| 143 | + | '│ Market change │ -4.60% │\n' + | |
| 144 | + | '└───────────────────────────────┴────────────────────────────────┘\n' + | |
| 145 | + | '\n' + | |
| 146 | + | 'Backtested 2025-12-09 00:00:00 -> 2025-12-30 00:00:00 | Max open trades : 1\n' + | |
| 147 | + | ' STRATEGY SUMMARY \n' + | |
| 148 | + | '┏━━━━━━━━━━┳━━━━━━━━┳━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━┓\n' + | |
| 149 | + | '┃ Strategy ┃ Trades ┃ Avg Profit % ┃ Tot Profit USDT ┃ Tot Profit % ┃ Avg Duration ┃ Win Draw Loss Win% ┃ Drawdown ┃\n' + | |
| 150 | + | '┡━━━━━━━━━━╇━━━━━━━━╇━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━┩\n' + | |
| 151 | + | '│ Strategy │ 1 │ -1.82 │ -1.611 │ -0.16 │ 7 days, 0:00:00 │ 0 0 1 0 │ 1.611 USDT 0.16% │\n' + | |
| 152 | + | '└──────────┴────────┴──────────────┴─────────────────┴──────────────┴─────────────────┴────────────────────────┴───────────────────┘\n' + | |
| 153 | + | '2026-01-09 13:04:17,356 - freqtrade - INFO - freqtrade 2025.12\n' + | |
| 154 | + | '2026-01-09 13:04:17,801 - numexpr.utils - INFO - NumExpr defaulting to 8 threads.\n' + | |
| 155 | + | '2026-01-09 13:04:19,631 - freqtrade.configuration.load_config - INFO - Using config: /freqtrade/user_data/config.json ...\n' + | |
| 156 | + | '2026-01-09 13:04:19,634 - freqtrade.loggers - INFO - Enabling colorized output.\n' + | |
| 157 | + | '2026-01-09 13:04:19,635 - freqtrade.loggers - INFO - Logfile configured\n' + | |
| 158 | + | '2026-01-09 13:04:19,635 - freqtrade.loggers - INFO - Verbosity set to 0\n' + | |
| 159 | + | '2026-01-09 13:04:19,636 - freqtrade.configuration.configuration - INFO - Using max_open_trades: None ...\n' + | |
| 160 | + | '2026-01-09 13:04:19,636 - freqtrade.configuration.configuration - INFO - Parameter --timerange detected: 20251201-20251230 ...\n' + | |
| 161 | + | '2026-01-09 13:04:19,651 - freqtrade.configuration.configuration - INFO - Using user-data directory: /freqtrade/user_data ...\n' + | |
| 162 | + | '2026-01-09 13:04:19,651 - freqtrade.configuration.configuration - INFO - Using data directory: /freqtrade/user_data/data/binance ...\n' + | |
| 163 | + | '2026-01-09 13:04:19,652 - freqtrade.configuration.configuration - INFO - Parameter --export detected: trades ...\n' + | |
| 164 | + | '2026-01-09 13:04:19,652 - freqtrade.configuration.configuration - INFO - Parameter --cache=day detected ...\n' + | |
| 165 | + | '2026-01-09 13:04:19,653 - freqtrade.configuration.configuration - INFO - Using "json" to store OHLCV data.\n' + | |
| 166 | + | '2026-01-09 13:04:19,653 - freqtrade.configuration.configuration - INFO - Filter trades by timerange: 20251201-20251230\n' + | |
| 167 | + | '2026-01-09 13:04:19,654 - freqtrade.exchange.check_exchange - INFO - Checking exchange...\n' + | |
| 168 | + | '2026-01-09 13:04:19,670 - freqtrade.exchange.check_exchange - INFO - Exchange "binance" is officially supported by the Freqtrade developm'... 27101 more characters | |
| 169 | + | } | |
| 170 | + | [Test Success] Run ID: f08195dc-6440-4e72-a906-75e5894b36bf | |
| 171 | + | ||
| 172 | + | stdout | src/mastra/super/skills/backtest-runner/skill.spec.ts:119:1 > Backtest Runner: Copytrading Strategy Test (Real Docker) | |
| 173 | + | [Test Info] Artifacts preserved for threadId: copytrading-test-1767963852908 | |
| 174 | + | ||
| 175 | + | ✓ src/mastra/super/skills/backtest-runner/skill.spec.ts (2 tests | 1 skipped) 23326ms | |
| 176 | + | ↓ Backtest Runner: Full Integration Test (Real Docker) (1) | |
| 177 | + | ↓ should successfully prepare env, fetch data, and run freqtrade via docker | |
| 178 | + | ✓ Backtest Runner: Copytrading Strategy Test (Real Docker) (1) | |
| 179 | + | ✓ should successfully prepare env, fetch data, and run freqtrade via docker 23325ms | |
| 180 | + | ||
| 181 | + | Test Files 1 passed (1) | |
| 182 | + | Tests 1 passed | 1 skipped (2) | |
| 183 | + | Start at 16:04:12 | |
| 184 | + | Duration 23.83s (transform 101ms, setup 298ms, import 100ms, tests 23.33s, environment 0ms) | |
| 185 | + | ||
| 186 | + | ||
| 187 | + | ~/Документы/Work/santiment-ai/strategy-agent master* 24s | |
| 188 | + | ❯ | |
| 189 | + | ||
uxname gist felülvizsgálása 2 days ago. Revízióhoz ugrás
1 file changed, 171 insertions
2.log(fájl létrehozva)
| @@ -0,0 +1,171 @@ | |||
| 1 | + | ❯ vitest run src/mastra/super/skills/backtest-runner/skill.spec.ts:119 | |
| 2 | + | ||
| 3 | + | RUN v4.0.16 /home/dex/Документы/Work/santiment-ai/strategy-agent | |
| 4 | + | ||
| 5 | + | stdout | src/mastra/super/skills/backtest-runner/skill.spec.ts:303:3 > Backtest Runner: Copytrading Strategy Test (Real Docker) > should successfully prepare env, fetch data, and run freqtrade via docker | |
| 6 | + | [Isolation] Environment prepared for run 193121d8-f574-4840-bb61-534aa28b4bda | |
| 7 | + | ||
| 8 | + | stdout | src/mastra/super/skills/backtest-runner/skill.spec.ts:303:3 > Backtest Runner: Copytrading Strategy Test (Real Docker) > should successfully prepare env, fetch data, and run freqtrade via docker | |
| 9 | + | [RunBacktest] Enforcing config overrides: { | |
| 10 | + | trading_mode: 'futures', | |
| 11 | + | margin_mode: 'isolated', | |
| 12 | + | dataformat_ohlcv: 'json', | |
| 13 | + | dataformat_trades: 'json' | |
| 14 | + | } | |
| 15 | + | ||
| 16 | + | stdout | src/mastra/super/skills/backtest-runner/skill.spec.ts:303:3 > Backtest Runner: Copytrading Strategy Test (Real Docker) > should successfully prepare env, fetch data, and run freqtrade via docker | |
| 17 | + | [DataFetcher] Downloading 1 pairs... | |
| 18 | + | ||
| 19 | + | stdout | src/mastra/super/skills/backtest-runner/skill.spec.ts:303:3 > Backtest Runner: Copytrading Strategy Test (Real Docker) > should successfully prepare env, fetch data, and run freqtrade via docker | |
| 20 | + | [DataFetcher] Completed. Processed: 1 | |
| 21 | + | ||
| 22 | + | stdout | src/mastra/super/skills/backtest-runner/skill.spec.ts:303:3 > Backtest Runner: Copytrading Strategy Test (Real Docker) > should successfully prepare env, fetch data, and run freqtrade via docker | |
| 23 | + | Checking/Rebuilding Docker image "mastra-freqtrade:latest"... | |
| 24 | + | Docker command: cd /home/dex/Документы/Work/santiment-ai/strategy-agent/docker/freqtrade && docker build -t mastra-freqtrade:latest . | |
| 25 | + | ||
| 26 | + | stdout | src/mastra/super/skills/backtest-runner/skill.spec.ts:303:3 > Backtest Runner: Copytrading Strategy Test (Real Docker) > should successfully prepare env, fetch data, and run freqtrade via docker | |
| 27 | + | Sending build context to Docker daemon 221.2kB | |
| 28 | + | Step 1/7 : FROM freqtradeorg/freqtrade:stable | |
| 29 | + | ---> dfd23153a7f2 | |
| 30 | + | Step 2/7 : COPY requirements.txt /freqtrade/ | |
| 31 | + | ---> Using cache | |
| 32 | + | ---> 2d950a4622c1 | |
| 33 | + | Step 3/7 : RUN pip install --no-cache-dir -r /freqtrade/requirements.txt | |
| 34 | + | ---> Using cache | |
| 35 | + | ---> 298f67123821 | |
| 36 | + | Step 4/7 : COPY add_pair.py /freqtrade/add_pair.py | |
| 37 | + | ---> Using cache | |
| 38 | + | ---> e3274112fd45 | |
| 39 | + | Step 5/7 : COPY pairs.json /freqtrade/pairs.json | |
| 40 | + | ---> Using cache | |
| 41 | + | ---> d4fc1270df5a | |
| 42 | + | Step 6/7 : COPY exchange.py /freqtrade/freqtrade/exchange/exchange.py | |
| 43 | + | ---> Using cache | |
| 44 | + | ---> 04e7579357c7 | |
| 45 | + | Step 7/7 : RUN python /freqtrade/add_pair.py | |
| 46 | + | ---> Using cache | |
| 47 | + | ---> 2d26f279b9b1 | |
| 48 | + | Successfully built 2d26f279b9b1 | |
| 49 | + | Successfully tagged mastra-freqtrade:latest | |
| 50 | + | ||
| 51 | + | Docker image "mastra-freqtrade:latest" is ready ✅ | |
| 52 | + | ||
| 53 | + | stdout | src/mastra/super/skills/backtest-runner/skill.spec.ts:303:3 > Backtest Runner: Copytrading Strategy Test (Real Docker) > should successfully prepare env, fetch data, and run freqtrade via docker | |
| 54 | + | [DOCKER CMD] docker run --rm --memory 1g -v "/home/dex/Документы/Work/santiment-ai/strategy-agent/data/freqtrade_runs/193121d8-f574-4840-bb61-534aa28b4bda:/freqtrade/user_data" -v "/home/dex/Документы/Work/santiment-ai/strategy-agent/data/market_cache/binance:/freqtrade/user_data/data/binance" mastra-freqtrade:latest backtesting --config /freqtrade/user_data/config.json --strategy Strategy --timerange 20251201-20251230 --export trades --data-format-ohlcv json --logfile /freqtrade/user_data/logs/freqtrade.log | |
| 55 | + | ||
| 56 | + | stdout | src/mastra/super/skills/backtest-runner/skill.spec.ts:303:3 > Backtest Runner: Copytrading Strategy Test (Real Docker) > should successfully prepare env, fetch data, and run freqtrade via docker | |
| 57 | + | !!!!!!!!!!! { | |
| 58 | + | success: true, | |
| 59 | + | runId: '193121d8-f574-4840-bb61-534aa28b4bda', | |
| 60 | + | logTail: 'Result for strategy Strategy\n' + | |
| 61 | + | ' BACKTESTING REPORT \n' + | |
| 62 | + | '┏━━━━━━━━━━━━━━━┳━━━━━━━━┳━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━━━━┓\n' + | |
| 63 | + | '┃ Pair ┃ Trades ┃ Avg Profit % ┃ Tot Profit USDT ┃ Tot Profit % ┃ Avg Duration ┃ Win Draw Loss Win% ┃\n' + | |
| 64 | + | '┡━━━━━━━━━━━━━━━╇━━━━━━━━╇━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━━━━┩\n' + | |
| 65 | + | '│ BTC/USDT:USDT │ 0 │ 0.0 │ 0.000 │ 0.0 │ 0:00 │ 0 0 0 0 │\n' + | |
| 66 | + | '│ TOTAL │ 0 │ 0.0 │ 0.000 │ 0.0 │ 0:00 │ 0 0 0 0 │\n' + | |
| 67 | + | '└───────────────┴────────┴──────────────┴─────────────────┴──────────────┴──────────────┴────────────────────────┘\n' + | |
| 68 | + | ' LEFT OPEN TRADES REPORT \n' + | |
| 69 | + | '┏━━━━━━━┳━━━━━━━━┳━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━━━━┓\n' + | |
| 70 | + | '┃ Pair ┃ Trades ┃ Avg Profit % ┃ Tot Profit USDT ┃ Tot Profit % ┃ Avg Duration ┃ Win Draw Loss Win% ┃\n' + | |
| 71 | + | '┡━━━━━━━╇━━━━━━━━╇━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━━━━┩\n' + | |
| 72 | + | '│ TOTAL │ 0 │ 0.0 │ 0.000 │ 0.0 │ 0:00 │ 0 0 0 0 │\n' + | |
| 73 | + | '└───────┴────────┴──────────────┴─────────────────┴──────────────┴──────────────┴────────────────────────┘\n' + | |
| 74 | + | ' ENTER TAG STATS \n' + | |
| 75 | + | '┏━━━━━━━━━━━┳━━━━━━━━━┳━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━━━━┓\n' + | |
| 76 | + | '┃ Enter Tag ┃ Entries ┃ Avg Profit % ┃ Tot Profit USDT ┃ Tot Profit % ┃ Avg Duration ┃ Win Draw Loss Win% ┃\n' + | |
| 77 | + | '┡━━━━━━━━━━━╇━━━━━━━━━╇━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━━━━┩\n' + | |
| 78 | + | '│ TOTAL │ 0 │ 0.0 │ 0.000 │ 0.0 │ 0:00 │ 0 0 0 0 │\n' + | |
| 79 | + | '└───────────┴─────────┴──────────────┴─────────────────┴──────────────┴──────────────┴────────────────────────┘\n' + | |
| 80 | + | ' EXIT REASON STATS \n' + | |
| 81 | + | '┏━━━━━━━━━━━━━┳━━━━━━━┳━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━━━━┓\n' + | |
| 82 | + | '┃ Exit Reason ┃ Exits ┃ Avg Profit % ┃ Tot Profit USDT ┃ Tot Profit % ┃ Avg Duration ┃ Win Draw Loss Win% ┃\n' + | |
| 83 | + | '┡━━━━━━━━━━━━━╇━━━━━━━╇━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━━━━┩\n' + | |
| 84 | + | '│ TOTAL │ 0 │ 0.0 │ 0.000 │ 0.0 │ 0:00 │ 0 0 0 0 │\n' + | |
| 85 | + | '└─────────────┴───────┴──────────────┴─────────────────┴──────────────┴──────────────┴────────────────────────┘\n' + | |
| 86 | + | ' MIXED TAG STATS \n' + | |
| 87 | + | '┏━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━┳━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━━━━┓\n' + | |
| 88 | + | '┃ Enter Tag ┃ Exit Reason ┃ Trades ┃ Avg Profit % ┃ Tot Profit USDT ┃ Tot Profit % ┃ Avg Duration ┃ Win Draw Loss Win% ┃\n' + | |
| 89 | + | '┡━━━━━━━━━━━╇━━━━━━━━━━━━━╇━━━━━━━━╇━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━━━━┩\n' + | |
| 90 | + | '│ TOTAL │ │ 0 │ 0.0 │ 0.000 │ 0.0 │ 0:00 │ 0 0 0 0 │\n' + | |
| 91 | + | '└───────────┴─────────────┴────────┴──────────────┴─────────────────┴──────────────┴──────────────┴────────────────────────┘\n' + | |
| 92 | + | 'No trades made. Your starting balance was 1000 USDT, and your stake was 100 USDT.\n' + | |
| 93 | + | '\n' + | |
| 94 | + | 'Backtested 2025-12-09 00:00:00 -> 2025-12-30 00:00:00 | Max open trades : 1\n' + | |
| 95 | + | ' STRATEGY SUMMARY \n' + | |
| 96 | + | '┏━━━━━━━━━━┳━━━━━━━━┳━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┓\n' + | |
| 97 | + | '┃ Strategy ┃ Trades ┃ Avg Profit % ┃ Tot Profit USDT ┃ Tot Profit % ┃ Avg Duration ┃ Win Draw Loss Win% ┃ Drawdown ┃\n' + | |
| 98 | + | '┡━━━━━━━━━━╇━━━━━━━━╇━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━┩\n' + | |
| 99 | + | '│ Strategy │ 0 │ 0.00 │ 0.000 │ 0.0 │ 0:00 │ 0 0 0 0 │ 0 USDT 0.00% │\n' + | |
| 100 | + | '└──────────┴────────┴──────────────┴─────────────────┴──────────────┴──────────────┴────────────────────────┴───────────────┘\n' + | |
| 101 | + | '2026-01-09 12:05:18,201 - freqtrade - INFO - freqtrade 2025.12\n' + | |
| 102 | + | '2026-01-09 12:05:18,559 - numexpr.utils - INFO - NumExpr defaulting to 8 threads.\n' + | |
| 103 | + | '2026-01-09 12:05:19,950 - freqtrade.configuration.load_config - INFO - Using config: /freqtrade/user_data/config.json ...\n' + | |
| 104 | + | '2026-01-09 12:05:19,952 - freqtrade.loggers - INFO - Enabling colorized output.\n' + | |
| 105 | + | '2026-01-09 12:05:19,953 - freqtrade.loggers - INFO - Logfile configured\n' + | |
| 106 | + | '2026-01-09 12:05:19,953 - freqtrade.loggers - INFO - Verbosity set to 0\n' + | |
| 107 | + | '2026-01-09 12:05:19,953 - freqtrade.configuration.configuration - INFO - Using max_open_trades: None ...\n' + | |
| 108 | + | '2026-01-09 12:05:19,954 - freqtrade.configuration.configuration - INFO - Parameter --timerange detected: 20251201-20251230 ...\n' + | |
| 109 | + | '2026-01-09 12:05:19,966 - freqtrade.configuration.configuration - INFO - Using user-data directory: /freqtrade/user_data ...\n' + | |
| 110 | + | '2026-01-09 12:05:19,966 - freqtrade.configuration.configuration - INFO - Using data directory: /freqtrade/user_data/data/binance ...\n' + | |
| 111 | + | '2026-01-09 12:05:19,967 - freqtrade.configuration.configuration - INFO - Parameter --export detected: trades ...\n' + | |
| 112 | + | '2026-01-09 12:05:19,967 - freqtrade.configuration.configuration - INFO - Parameter --cache=day detected ...\n' + | |
| 113 | + | '2026-01-09 12:05:19,967 - freqtrade.configuration.configuration - INFO - Using "json" to store OHLCV data.\n' + | |
| 114 | + | '2026-01-09 12:05:19,968 - freqtrade.configuration.configuration - INFO - Filter trades by timerange: 20251201-20251230\n' + | |
| 115 | + | '2026-01-09 12:05:19,968 - freqtrade.exchange.check_exchange - INFO - Checking exchange...\n' + | |
| 116 | + | '2026-01-09 12:05:19,978 - freqtrade.exchange.check_exchange - INFO - Exchange "binance" is officially supported by the Freqtrade development team.\n' + | |
| 117 | + | '2026-01-09 12:05:19,979 - freqtrade.configuration.configuration - INFO - Using pairlist from configuration.\n' + | |
| 118 | + | '2026-01-09 12:05:19,979 - freqtrade.configuration.config_validation - INFO - Validating configuration ...\n' + | |
| 119 | + | '2026-01-09 12:05:19,981 - freqtrade.commands.optimize_commands - INFO - Starting freqtrade in Backtesting mode\n' + | |
| 120 | + | '2026-01-09 12:05:19,981 - freqtrade.exchange.exchange - INFO - Instance is running with dry_run enabled\n' + | |
| 121 | + | '2026-01-09 12:05:19,982 - freqtrade.exchange.exchange - INFO - Using CCXT 4.5.29\n' + | |
| 122 | + | "2026-01-09 12:05:19,982 - freqtrade.exchange.exchange - INFO - Applying additional ccxt config: {'options': {'defaultType': 'swap'}}\n" + | |
| 123 | + | "2026-01-09 12:05:19,990 - freqtrade.exchange.exchange - INFO - Applying additional ccxt config: {'options': {'defaultType': 'swap'}}\n" + | |
| 124 | + | '2026-01-09 12:05:20,001 - freqtrade.exchange.exchange - INFO - Using Exchange "Binance"\n' + | |
| 125 | + | "2026-01-09 12:05:22,145 - freqtrade.resolvers.exchange_resolver - INFO - Using resolved exchange 'Binance'...\n" + | |
| 126 | + | "2026-01-09 12:05:22,180 - freqtrade.resolvers.iresolver - INFO - Using resolved strategy Strategy from '/freqtrade/user_data/strategies/strategy.py'...\n" + | |
| 127 | + | '2026-01-09 12:05:22,180 - freqtrade.strategy.hyper - INFO - Found no parameter file.\n' + | |
| 128 | + | "2026-01-09 12:05:22,181 - freqtrade.resolvers.strategy_resolver - INFO - Override strategy 'timeframe' with value from the configuration: 1d.\n" + | |
| 129 | + | "2026-01-09 12:05:22,181 - freqtrade.resolvers.strategy_resolver - INFO - Override strategy 'stake_currency' with value from the configuration: USDT.\n" + | |
| 130 | + | "2026-01-09 12:05:22,181 - freqtrade.resolvers.strategy_resolver - INFO - Override strategy 'stake_amount' with value from the configuration: 100.\n" + | |
| 131 | + | "2026-01-09 12:05:22,182 - freqtrade.resolvers.strategy_resolver - INFO - Strategy using minimal_roi: {'0': 0.03}\n" + | |
| 132 | + | '2026-01-09 12:05:22,182 - freqtrade.resolvers.strategy_resolver - INFO - Strategy using timeframe: 1d\n' + | |
| 133 | + | '2026-01-09 12:05:22,182 - freqtrade.resolvers.strategy_resolver - INFO - Strategy using stoploss: -0.05\n' + | |
| 134 | + | '2026-01-09 12:05:22,183 - freqtrade.resolvers.strategy_resolver - INFO - Strategy using trailing_stop: False\n' + | |
| 135 | + | '2026-01-09 12:05:22,183 - freqtrade.resolvers.strategy_resolver - INFO - Strategy using trailing_stop_positive_offset: 0.0\n' + | |
| 136 | + | '2026-01-09 12:05:22,183 - freqtrade.resolvers.strategy_resolver - INFO - Strategy using trailing_only_offset_is_reached: False\n' + | |
| 137 | + | '2026-01-09 12:05:22,183 - freqtrade.resolvers.strategy_resolver - INFO - Strategy using use_custom_stoploss: False\n' + | |
| 138 | + | '2026-01-09 12:05:22,183 - freqtrade.resolvers.strategy_resolver - INFO - Strategy using process_only_new_candles: True\n' + | |
| 139 | + | "2026-01-09 12:05:22,184 - freqtrade.resolvers.strategy_resolver - INFO - Strategy using order_types: {'entry': 'limit', 'exit': 'limit', 'stoploss': 'limit', 'stoploss_on_exchange': False, \n" + | |
| 140 | + | "'stoploss_on_exchange_interval': 60}\n" + | |
| 141 | + | "2026-01-09 12:05:22,184 - freqtrade.resolvers.strategy_resolver - INFO - Strategy using order_time_in_force: {'entry': 'GTC', 'exit': 'GTC'}\n" + | |
| 142 | + | '2026-01-09 12:05:22,184 - freqtrade.resolvers.strategy_resolver - INFO - Strategy using stake_currency: USDT\n' + | |
| 143 | + | '2026-01-09 12:05:22,185 - freqtrade.resolvers.strategy_resolver - INFO - Strategy using stake_amount: 100\n' + | |
| 144 | + | '2026-01-09 12:05:22,185 - freqtrade.resolvers.strategy_resolver - INFO - Strategy using startup_candle_count: 10\n' + | |
| 145 | + | '2026-01-09 12:05:22,185 - freqtrade.resolvers.strategy_resolver - INFO - Strategy using use_exit_signal: True\n' + | |
| 146 | + | '2026-01-09 12:05:22,185 - freqtrade.resolvers.strategy_resolver - INFO - Strategy using exit_profit_only: False\n' + | |
| 147 | + | '2026-01-09 12:05:22,185 - freqtrade.resolvers.strategy_resolver - INFO - Strategy using ignore_roi_if_entry_signal: False\n' + | |
| 148 | + | '2026-01-09 12:05:22,186 - freqtrade.resolvers.strategy_resolver - INFO - Strategy using exit_profit_offset: 0.0\n' + | |
| 149 | + | '2026-01-09 12:05:22,186 - freqtrade.resolvers.strategy_resolver - INFO - Strategy using disable_dataframe_checks: False\n' + | |
| 150 | + | '2026-01-09 12:05:2'... 23241 more characters | |
| 151 | + | } | |
| 152 | + | [Test Success] Run ID: 193121d8-f574-4840-bb61-534aa28b4bda | |
| 153 | + | ||
| 154 | + | stdout | src/mastra/super/skills/backtest-runner/skill.spec.ts:119:1 > Backtest Runner: Copytrading Strategy Test (Real Docker) | |
| 155 | + | [Test Info] Artifacts preserved for threadId: copytrading-test-1767960313204 | |
| 156 | + | ||
| 157 | + | ✓ src/mastra/super/skills/backtest-runner/skill.spec.ts (2 tests | 1 skipped) 28901ms | |
| 158 | + | ↓ Backtest Runner: Full Integration Test (Real Docker) (1) | |
| 159 | + | ↓ should successfully prepare env, fetch data, and run freqtrade via docker | |
| 160 | + | ✓ Backtest Runner: Copytrading Strategy Test (Real Docker) (1) | |
| 161 | + | ✓ should successfully prepare env, fetch data, and run freqtrade via docker 28900ms | |
| 162 | + | ||
| 163 | + | Test Files 1 passed (1) | |
| 164 | + | Tests 1 passed | 1 skipped (2) | |
| 165 | + | Start at 15:05:10 | |
| 166 | + | Duration 32.01s (transform 109ms, setup 2.60s, import 88ms, tests 28.90s, environment 0ms) | |
| 167 | + | ||
| 168 | + | ||
| 169 | + | ~/Документы/Work/santiment-ai/strategy-agent master* 32s | |
| 170 | + | ❯ | |
| 171 | + | ~/Документы/Work/santiment-ai/strategy-agent master* 32s | |
uxname gist felülvizsgálása 2 days ago. Revízióhoz ugrás
1 file changed, 191 insertions
1.log(fájl létrehozva)
| @@ -0,0 +1,191 @@ | |||
| 1 | + | ❯ vitest run src/mastra/super/skills/backtest-runner/skill.spec.ts:119 | |
| 2 | + | ||
| 3 | + | RUN v4.0.16 /home/dex/Документы/Work/santiment-ai/strategy-agent | |
| 4 | + | ||
| 5 | + | ||
| 6 | + | ⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯ Failed Suites 1 ⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯ | |
| 7 | + | ||
| 8 | + | FAIL src/mastra/super/skills/backtest-runner/skill.spec.ts [ src/mastra/super/skills/backtest-runner/skill.spec.ts ] | |
| 9 | + | Error: No test found in src/mastra/super/skills/backtest-runner/skill.spec.ts in line 119 | |
| 10 | + | ⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯[1/1]⎯ | |
| 11 | + | ||
| 12 | + | ||
| 13 | + | Test Files 1 failed | 1 skipped (1) | |
| 14 | + | Tests 2 skipped (2) | |
| 15 | + | Start at 14:55:20 | |
| 16 | + | Duration 624ms (transform 148ms, setup 353ms, import 158ms, tests 0ms, environment 0ms) | |
| 17 | + | ||
| 18 | + | ||
| 19 | + | ~/Документы/Work/santiment-ai/strategy-agent master* | |
| 20 | + | ❯ vitest run src/mastra/super/skills/backtest-runner/skill.spec.ts:119 | |
| 21 | + | ~/Документы/Work/santiment-ai/strategy-agent master* | |
| 22 | + | ❯ vitest run src/mastra/super/skills/backtest-runner/skill.spec.ts:119 | |
| 23 | + | ||
| 24 | + | RUN v4.0.16 /home/dex/Документы/Work/santiment-ai/strategy-agent | |
| 25 | + | ||
| 26 | + | stdout | src/mastra/super/skills/backtest-runner/skill.spec.ts:304:3 > Backtest Runner: Copytrading Strategy Test (Real Docker) > should successfully prepare env, fetch data, and run freqtrade via docker | |
| 27 | + | [Isolation] Environment prepared for run 861f6d55-71d7-4fb7-bec3-1852f3f713ed | |
| 28 | + | ||
| 29 | + | stdout | src/mastra/super/skills/backtest-runner/skill.spec.ts:304:3 > Backtest Runner: Copytrading Strategy Test (Real Docker) > should successfully prepare env, fetch data, and run freqtrade via docker | |
| 30 | + | [RunBacktest] Enforcing config overrides: { | |
| 31 | + | trading_mode: 'futures', | |
| 32 | + | margin_mode: 'isolated', | |
| 33 | + | dataformat_ohlcv: 'json', | |
| 34 | + | dataformat_trades: 'json' | |
| 35 | + | } | |
| 36 | + | ||
| 37 | + | stdout | src/mastra/super/skills/backtest-runner/skill.spec.ts:304:3 > Backtest Runner: Copytrading Strategy Test (Real Docker) > should successfully prepare env, fetch data, and run freqtrade via docker | |
| 38 | + | [DataFetcher] Downloading 1 pairs... | |
| 39 | + | ||
| 40 | + | stdout | src/mastra/super/skills/backtest-runner/skill.spec.ts:304:3 > Backtest Runner: Copytrading Strategy Test (Real Docker) > should successfully prepare env, fetch data, and run freqtrade via docker | |
| 41 | + | [DataFetcher] Completed. Processed: 1 | |
| 42 | + | ||
| 43 | + | stdout | src/mastra/super/skills/backtest-runner/skill.spec.ts:304:3 > Backtest Runner: Copytrading Strategy Test (Real Docker) > should successfully prepare env, fetch data, and run freqtrade via docker | |
| 44 | + | Checking/Rebuilding Docker image "mastra-freqtrade:latest"... | |
| 45 | + | Docker command: cd /home/dex/Документы/Work/santiment-ai/strategy-agent/docker/freqtrade && docker build -t mastra-freqtrade:latest . | |
| 46 | + | ||
| 47 | + | stdout | src/mastra/super/skills/backtest-runner/skill.spec.ts:304:3 > Backtest Runner: Copytrading Strategy Test (Real Docker) > should successfully prepare env, fetch data, and run freqtrade via docker | |
| 48 | + | Sending build context to Docker daemon 221.2kB | |
| 49 | + | Step 1/7 : FROM freqtradeorg/freqtrade:stable | |
| 50 | + | ---> dfd23153a7f2 | |
| 51 | + | Step 2/7 : COPY requirements.txt /freqtrade/ | |
| 52 | + | ---> Using cache | |
| 53 | + | ---> 2d950a4622c1 | |
| 54 | + | Step 3/7 : RUN pip install --no-cache-dir -r /freqtrade/requirements.txt | |
| 55 | + | ---> Using cache | |
| 56 | + | ---> 298f67123821 | |
| 57 | + | Step 4/7 : COPY add_pair.py /freqtrade/add_pair.py | |
| 58 | + | ---> Using cache | |
| 59 | + | ---> e3274112fd45 | |
| 60 | + | Step 5/7 : COPY pairs.json /freqtrade/pairs.json | |
| 61 | + | ---> Using cache | |
| 62 | + | ---> d4fc1270df5a | |
| 63 | + | Step 6/7 : COPY exchange.py /freqtrade/freqtrade/exchange/exchange.py | |
| 64 | + | ---> Using cache | |
| 65 | + | ---> 04e7579357c7 | |
| 66 | + | Step 7/7 : RUN python /freqtrade/add_pair.py | |
| 67 | + | ---> Using cache | |
| 68 | + | ---> 2d26f279b9b1 | |
| 69 | + | Successfully built 2d26f279b9b1 | |
| 70 | + | Successfully tagged mastra-freqtrade:latest | |
| 71 | + | ||
| 72 | + | Docker image "mastra-freqtrade:latest" is ready ✅ | |
| 73 | + | ||
| 74 | + | stdout | src/mastra/super/skills/backtest-runner/skill.spec.ts:304:3 > Backtest Runner: Copytrading Strategy Test (Real Docker) > should successfully prepare env, fetch data, and run freqtrade via docker | |
| 75 | + | [DOCKER CMD] docker run --rm --memory 1g -v "/home/dex/Документы/Work/santiment-ai/strategy-agent/data/freqtrade_runs/861f6d55-71d7-4fb7-bec3-1852f3f713ed:/freqtrade/user_data" -v "/home/dex/Документы/Work/santiment-ai/strategy-agent/data/market_cache/binance:/freqtrade/user_data/data/binance" mastra-freqtrade:latest backtesting --config /freqtrade/user_data/config.json --strategy Strategy --timerange 20251201-20251230 --export trades --data-format-ohlcv json --logfile /freqtrade/user_data/logs/freqtrade.log | |
| 76 | + | ||
| 77 | + | stdout | src/mastra/super/skills/backtest-runner/skill.spec.ts:304:3 > Backtest Runner: Copytrading Strategy Test (Real Docker) > should successfully prepare env, fetch data, and run freqtrade via docker | |
| 78 | + | !!!!!!!!!!! { | |
| 79 | + | success: true, | |
| 80 | + | runId: '861f6d55-71d7-4fb7-bec3-1852f3f713ed', | |
| 81 | + | logTail: 'Result for strategy Strategy\n' + | |
| 82 | + | ' BACKTESTING REPORT \n' + | |
| 83 | + | '┏━━━━━━━━━━━━━━━┳━━━━━━━━┳━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━━━━┓\n' + | |
| 84 | + | '┃ Pair ┃ Trades ┃ Avg Profit % ┃ Tot Profit USDT ┃ Tot Profit % ┃ Avg Duration ┃ Win Draw Loss Win% ┃\n' + | |
| 85 | + | '┡━━━━━━━━━━━━━━━╇━━━━━━━━╇━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━━━━┩\n' + | |
| 86 | + | '│ BTC/USDT:USDT │ 0 │ 0.0 │ 0.000 │ 0.0 │ 0:00 │ 0 0 0 0 │\n' + | |
| 87 | + | '│ TOTAL │ 0 │ 0.0 │ 0.000 │ 0.0 │ 0:00 │ 0 0 0 0 │\n' + | |
| 88 | + | '└───────────────┴────────┴──────────────┴─────────────────┴──────────────┴──────────────┴────────────────────────┘\n' + | |
| 89 | + | ' LEFT OPEN TRADES REPORT \n' + | |
| 90 | + | '┏━━━━━━━┳━━━━━━━━┳━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━━━━┓\n' + | |
| 91 | + | '┃ Pair ┃ Trades ┃ Avg Profit % ┃ Tot Profit USDT ┃ Tot Profit % ┃ Avg Duration ┃ Win Draw Loss Win% ┃\n' + | |
| 92 | + | '┡━━━━━━━╇━━━━━━━━╇━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━━━━┩\n' + | |
| 93 | + | '│ TOTAL │ 0 │ 0.0 │ 0.000 │ 0.0 │ 0:00 │ 0 0 0 0 │\n' + | |
| 94 | + | '└───────┴────────┴──────────────┴─────────────────┴──────────────┴──────────────┴────────────────────────┘\n' + | |
| 95 | + | ' ENTER TAG STATS \n' + | |
| 96 | + | '┏━━━━━━━━━━━┳━━━━━━━━━┳━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━━━━┓\n' + | |
| 97 | + | '┃ Enter Tag ┃ Entries ┃ Avg Profit % ┃ Tot Profit USDT ┃ Tot Profit % ┃ Avg Duration ┃ Win Draw Loss Win% ┃\n' + | |
| 98 | + | '┡━━━━━━━━━━━╇━━━━━━━━━╇━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━━━━┩\n' + | |
| 99 | + | '│ TOTAL │ 0 │ 0.0 │ 0.000 │ 0.0 │ 0:00 │ 0 0 0 0 │\n' + | |
| 100 | + | '└───────────┴─────────┴──────────────┴─────────────────┴──────────────┴──────────────┴────────────────────────┘\n' + | |
| 101 | + | ' EXIT REASON STATS \n' + | |
| 102 | + | '┏━━━━━━━━━━━━━┳━━━━━━━┳━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━━━━┓\n' + | |
| 103 | + | '┃ Exit Reason ┃ Exits ┃ Avg Profit % ┃ Tot Profit USDT ┃ Tot Profit % ┃ Avg Duration ┃ Win Draw Loss Win% ┃\n' + | |
| 104 | + | '┡━━━━━━━━━━━━━╇━━━━━━━╇━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━━━━┩\n' + | |
| 105 | + | '│ TOTAL │ 0 │ 0.0 │ 0.000 │ 0.0 │ 0:00 │ 0 0 0 0 │\n' + | |
| 106 | + | '└─────────────┴───────┴──────────────┴─────────────────┴──────────────┴──────────────┴────────────────────────┘\n' + | |
| 107 | + | ' MIXED TAG STATS \n' + | |
| 108 | + | '┏━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━┳━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━━━━┓\n' + | |
| 109 | + | '┃ Enter Tag ┃ Exit Reason ┃ Trades ┃ Avg Profit % ┃ Tot Profit USDT ┃ Tot Profit % ┃ Avg Duration ┃ Win Draw Loss Win% ┃\n' + | |
| 110 | + | '┡━━━━━━━━━━━╇━━━━━━━━━━━━━╇━━━━━━━━╇━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━━━━┩\n' + | |
| 111 | + | '│ TOTAL │ │ 0 │ 0.0 │ 0.000 │ 0.0 │ 0:00 │ 0 0 0 0 │\n' + | |
| 112 | + | '└───────────┴─────────────┴────────┴──────────────┴─────────────────┴──────────────┴──────────────┴────────────────────────┘\n' + | |
| 113 | + | 'No trades made. Your starting balance was 1000 USDT, and your stake was 100 USDT.\n' + | |
| 114 | + | '\n' + | |
| 115 | + | 'Backtested 2025-12-09 00:00:00 -> 2025-12-30 00:00:00 | Max open trades : 1\n' + | |
| 116 | + | ' STRATEGY SUMMARY \n' + | |
| 117 | + | '┏━━━━━━━━━━┳━━━━━━━━┳━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┓\n' + | |
| 118 | + | '┃ Strategy ┃ Trades ┃ Avg Profit % ┃ Tot Profit USDT ┃ Tot Profit % ┃ Avg Duration ┃ Win Draw Loss Win% ┃ Drawdown ┃\n' + | |
| 119 | + | '┡━━━━━━━━━━╇━━━━━━━━╇━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━┩\n' + | |
| 120 | + | '│ Strategy │ 0 │ 0.00 │ 0.000 │ 0.0 │ 0:00 │ 0 0 0 0 │ 0 USDT 0.00% │\n' + | |
| 121 | + | '└──────────┴────────┴──────────────┴─────────────────┴──────────────┴──────────────┴────────────────────────┴───────────────┘\n' + | |
| 122 | + | '2026-01-09 11:56:06,275 - freqtrade - INFO - freqtrade 2025.12\n' + | |
| 123 | + | '2026-01-09 11:56:06,680 - numexpr.utils - INFO - NumExpr defaulting to 8 threads.\n' + | |
| 124 | + | '2026-01-09 11:56:08,183 - freqtrade.configuration.load_config - INFO - Using config: /freqtrade/user_data/config.json ...\n' + | |
| 125 | + | '2026-01-09 11:56:08,186 - freqtrade.loggers - INFO - Enabling colorized output.\n' + | |
| 126 | + | '2026-01-09 11:56:08,187 - freqtrade.loggers - INFO - Logfile configured\n' + | |
| 127 | + | '2026-01-09 11:56:08,187 - freqtrade.loggers - INFO - Verbosity set to 0\n' + | |
| 128 | + | '2026-01-09 11:56:08,188 - freqtrade.configuration.configuration - INFO - Using max_open_trades: None ...\n' + | |
| 129 | + | '2026-01-09 11:56:08,188 - freqtrade.configuration.configuration - INFO - Parameter --timerange detected: 20251201-20251230 ...\n' + | |
| 130 | + | '2026-01-09 11:56:08,202 - freqtrade.configuration.configuration - INFO - Using user-data directory: /freqtrade/user_data ...\n' + | |
| 131 | + | '2026-01-09 11:56:08,202 - freqtrade.configuration.configuration - INFO - Using data directory: /freqtrade/user_data/data/binance ...\n' + | |
| 132 | + | '2026-01-09 11:56:08,203 - freqtrade.configuration.configuration - INFO - Parameter --export detected: trades ...\n' + | |
| 133 | + | '2026-01-09 11:56:08,204 - freqtrade.configuration.configuration - INFO - Parameter --cache=day detected ...\n' + | |
| 134 | + | '2026-01-09 11:56:08,204 - freqtrade.configuration.configuration - INFO - Using "json" to store OHLCV data.\n' + | |
| 135 | + | '2026-01-09 11:56:08,204 - freqtrade.configuration.configuration - INFO - Filter trades by timerange: 20251201-20251230\n' + | |
| 136 | + | '2026-01-09 11:56:08,206 - freqtrade.exchange.check_exchange - INFO - Checking exchange...\n' + | |
| 137 | + | '2026-01-09 11:56:08,217 - freqtrade.exchange.check_exchange - INFO - Exchange "binance" is officially supported by the Freqtrade development team.\n' + | |
| 138 | + | '2026-01-09 11:56:08,218 - freqtrade.configuration.configuration - INFO - Using pairlist from configuration.\n' + | |
| 139 | + | '2026-01-09 11:56:08,218 - freqtrade.configuration.config_validation - INFO - Validating configuration ...\n' + | |
| 140 | + | '2026-01-09 11:56:08,220 - freqtrade.commands.optimize_commands - INFO - Starting freqtrade in Backtesting mode\n' + | |
| 141 | + | '2026-01-09 11:56:08,220 - freqtrade.exchange.exchange - INFO - Instance is running with dry_run enabled\n' + | |
| 142 | + | '2026-01-09 11:56:08,221 - freqtrade.exchange.exchange - INFO - Using CCXT 4.5.29\n' + | |
| 143 | + | "2026-01-09 11:56:08,221 - freqtrade.exchange.exchange - INFO - Applying additional ccxt config: {'options': {'defaultType': 'swap'}}\n" + | |
| 144 | + | "2026-01-09 11:56:08,230 - freqtrade.exchange.exchange - INFO - Applying additional ccxt config: {'options': {'defaultType': 'swap'}}\n" + | |
| 145 | + | '2026-01-09 11:56:08,245 - freqtrade.exchange.exchange - INFO - Using Exchange "Binance"\n' + | |
| 146 | + | "2026-01-09 11:56:10,655 - freqtrade.resolvers.exchange_resolver - INFO - Using resolved exchange 'Binance'...\n" + | |
| 147 | + | "2026-01-09 11:56:10,687 - freqtrade.resolvers.iresolver - INFO - Using resolved strategy Strategy from '/freqtrade/user_data/strategies/strategy.py'...\n" + | |
| 148 | + | '2026-01-09 11:56:10,688 - freqtrade.strategy.hyper - INFO - Found no parameter file.\n' + | |
| 149 | + | "2026-01-09 11:56:10,688 - freqtrade.resolvers.strategy_resolver - INFO - Override strategy 'timeframe' with value from the configuration: 1d.\n" + | |
| 150 | + | "2026-01-09 11:56:10,689 - freqtrade.resolvers.strategy_resolver - INFO - Override strategy 'stake_currency' with value from the configuration: USDT.\n" + | |
| 151 | + | "2026-01-09 11:56:10,689 - freqtrade.resolvers.strategy_resolver - INFO - Override strategy 'stake_amount' with value from the configuration: 100.\n" + | |
| 152 | + | "2026-01-09 11:56:10,689 - freqtrade.resolvers.strategy_resolver - INFO - Strategy using minimal_roi: {'0': 0.03}\n" + | |
| 153 | + | '2026-01-09 11:56:10,689 - freqtrade.resolvers.strategy_resolver - INFO - Strategy using timeframe: 1d\n' + | |
| 154 | + | '2026-01-09 11:56:10,689 - freqtrade.resolvers.strategy_resolver - INFO - Strategy using stoploss: -0.05\n' + | |
| 155 | + | '2026-01-09 11:56:10,690 - freqtrade.resolvers.strategy_resolver - INFO - Strategy using trailing_stop: False\n' + | |
| 156 | + | '2026-01-09 11:56:10,690 - freqtrade.resolvers.strategy_resolver - INFO - Strategy using trailing_stop_positive_offset: 0.0\n' + | |
| 157 | + | '2026-01-09 11:56:10,690 - freqtrade.resolvers.strategy_resolver - INFO - Strategy using trailing_only_offset_is_reached: False\n' + | |
| 158 | + | '2026-01-09 11:56:10,690 - freqtrade.resolvers.strategy_resolver - INFO - Strategy using use_custom_stoploss: False\n' + | |
| 159 | + | '2026-01-09 11:56:10,691 - freqtrade.resolvers.strategy_resolver - INFO - Strategy using process_only_new_candles: True\n' + | |
| 160 | + | "2026-01-09 11:56:10,691 - freqtrade.resolvers.strategy_resolver - INFO - Strategy using order_types: {'entry': 'limit', 'exit': 'limit', 'stoploss': 'limit', 'stoploss_on_exchange': False, \n" + | |
| 161 | + | "'stoploss_on_exchange_interval': 60}\n" + | |
| 162 | + | "2026-01-09 11:56:10,691 - freqtrade.resolvers.strategy_resolver - INFO - Strategy using order_time_in_force: {'entry': 'GTC', 'exit': 'GTC'}\n" + | |
| 163 | + | '2026-01-09 11:56:10,691 - freqtrade.resolvers.strategy_resolver - INFO - Strategy using stake_currency: USDT\n' + | |
| 164 | + | '2026-01-09 11:56:10,691 - freqtrade.resolvers.strategy_resolver - INFO - Strategy using stake_amount: 100\n' + | |
| 165 | + | '2026-01-09 11:56:10,692 - freqtrade.resolvers.strategy_resolver - INFO - Strategy using startup_candle_count: 10\n' + | |
| 166 | + | '2026-01-09 11:56:10,692 - freqtrade.resolvers.strategy_resolver - INFO - Strategy using use_exit_signal: True\n' + | |
| 167 | + | '2026-01-09 11:56:10,692 - freqtrade.resolvers.strategy_resolver - INFO - Strategy using exit_profit_only: False\n' + | |
| 168 | + | '2026-01-09 11:56:10,692 - freqtrade.resolvers.strategy_resolver - INFO - Strategy using ignore_roi_if_entry_signal: False\n' + | |
| 169 | + | '2026-01-09 11:56:10,693 - freqtrade.resolvers.strategy_resolver - INFO - Strategy using exit_profit_offset: 0.0\n' + | |
| 170 | + | '2026-01-09 11:56:10,693 - freqtrade.resolvers.strategy_resolver - INFO - Strategy using disable_dataframe_checks: False\n' + | |
| 171 | + | '2026-01-09 11:56:1'... 23187 more characters | |
| 172 | + | } | |
| 173 | + | [Test Success] Run ID: 861f6d55-71d7-4fb7-bec3-1852f3f713ed | |
| 174 | + | ||
| 175 | + | stdout | src/mastra/super/skills/backtest-runner/skill.spec.ts:119:1 > Backtest Runner: Copytrading Strategy Test (Real Docker) | |
| 176 | + | [Test Info] Artifacts preserved for threadId: copytrading-test-1767959762677 | |
| 177 | + | ||
| 178 | + | ✓ src/mastra/super/skills/backtest-runner/skill.spec.ts (2 tests | 1 skipped) 18216ms | |
| 179 | + | ↓ Backtest Runner: Full Integration Test (Real Docker) (1) | |
| 180 | + | ↓ should successfully prepare env, fetch data, and run freqtrade via docker | |
| 181 | + | ✓ Backtest Runner: Copytrading Strategy Test (Real Docker) (1) | |
| 182 | + | ✓ should successfully prepare env, fetch data, and run freqtrade via docker 18215ms | |
| 183 | + | ||
| 184 | + | Test Files 1 passed (1) | |
| 185 | + | Tests 1 passed | 1 skipped (2) | |
| 186 | + | Start at 14:56:02 | |
| 187 | + | Duration 18.73s (transform 102ms, setup 291ms, import 96ms, tests 18.22s, environment 0ms) | |
| 188 | + | ||
| 189 | + | ||
| 190 | + | ~/Документы/Work/santiment-ai/strategy-agent master* 19s | |
| 191 | + | ❯ | |