| 03-12 20:45:57 |
INFO
|
trailing_stop |
|
trailing_stop_scheduler |
🔄 Full sync: Processing 1 active trailing stop positions (API verification) |
| 03-12 20:45:57 |
INFO
|
error |
|
trailing_stop_engine |
⚡ Paper account: API failed, using database fallback |
| 03-12 20:45:57 |
INFO
|
position |
|
trailing_stop_engine |
📦 paper: using DB holdings fallback (10 positions) |
| 03-12 20:45:57 |
ERROR
|
error |
|
tiger_client |
Failed to initialize Tiger Paper Trading client: [Errno 13] Permission denied: './tiger_openapi_config.properties' |
| 03-12 20:45:57 |
INFO
|
position |
|
trailing_stop_scheduler |
[HOOD] Old triggered TS#3379 (triggered 2026-03-11 17:23:02.265993) belongs to previous lifecycle, current OPEN position created 2026-03-12 20:17:08.757732 — allowing re-creation |
| 03-12 20:45:57 |
INFO
|
position |
TSM |
trailing_stop_scheduler |
[TSM] Old triggered TS#3470 (triggered 2026-03-12 20:01:18.122453) belongs to previous lifecycle, current OPEN position created 2026-03-12 20:09:50.090808 — allowing re-creation |
| 03-12 20:45:57 |
INFO
|
position |
AAPL |
trailing_stop_scheduler |
[AAPL] Old triggered TS#3456 (triggered 2026-03-12 16:22:49.909435) belongs to previous lifecycle, current OPEN position created 2026-03-12 20:17:08.833505 — allowing re-creation |
| 03-12 20:45:57 |
INFO
|
position |
TSM |
trailing_stop_scheduler |
[TSM] Old triggered TS#3470 (triggered 2026-03-12 20:01:18.122453) belongs to previous lifecycle, current OPEN position created 2026-03-12 20:09:50.090808 — allowing re-creation |
| 03-12 20:45:57 |
INFO
|
position |
|
trailing_stop_scheduler |
[TEM] Old triggered TS#3487 (triggered 2026-03-12 20:01:12.916464) belongs to previous lifecycle, current OPEN position created 2026-03-12 20:09:50.017196 — allowing re-creation |
| 03-12 20:45:57 |
INFO
|
position |
|
trailing_stop_scheduler |
[TEM] Old triggered TS#3487 (triggered 2026-03-12 20:01:12.916464) belongs to previous lifecycle, current OPEN position created 2026-03-12 20:09:50.017196 — allowing re-creation |
| 03-12 20:45:57 |
INFO
|
websocket |
|
tiger_push_client |
🔄 Reconnecting attempt 1/20 in 2s... |
| 03-12 20:45:57 |
ERROR
|
error |
|
tiger_push_client |
❌ Failed to connect Tiger Push Client: ('Could not deserialize key data. The data may be in an incorrect format, it may be encrypted with an unsupported algorithm, or it may be an unsupported key type (e.g. EC curves with explicit parameters).', [<OpenSSLError(code=503841036, lib=60, reason=524556, reason_text=unsupported)>]) |
| 03-12 20:45:57 |
INFO
|
position |
|
trailing_stop_scheduler |
[TEM] Old triggered TS#3487 (triggered 2026-03-12 20:01:12.916464) belongs to previous lifecycle, current OPEN position created 2026-03-12 20:09:50.017196 — allowing re-creation |
| 03-12 20:45:57 |
ERROR
|
general |
|
root |
[Errno 13] Permission denied: './tiger_openapi_config.properties' |
| 03-12 20:45:57 |
INFO
|
error |
|
trailing_stop_engine |
⚡ Real account: API failed, using database fallback |
| 03-12 20:45:57 |
INFO
|
position |
|
trailing_stop_engine |
📦 real: using DB holdings fallback (3 positions) |
| 03-12 20:45:57 |
ERROR
|
error |
|
tiger_client |
Failed to initialize Tiger client: [Errno 13] Permission denied: './tiger_openapi_config.properties' |
| 03-12 20:45:57 |
INFO
|
position |
QCOM |
trailing_stop_scheduler |
[QCOM] Old triggered TS#3431 (triggered 2026-03-12 15:00:18.382396) belongs to previous lifecycle, current OPEN position created 2026-03-12 20:17:08.788182 — allowing re-creation |
| 03-12 20:45:56 |
INFO
|
position |
|
trailing_stop_scheduler |
[ON] Old triggered TS#3418 (triggered 2026-03-12 20:07:50.031860) belongs to previous lifecycle, current OPEN position created 2026-03-12 20:08:10.294728 — allowing re-creation |
| 03-12 20:45:56 |
INFO
|
position |
QCOM |
trailing_stop_scheduler |
[QCOM] Old triggered TS#3431 (triggered 2026-03-12 15:00:18.382396) belongs to previous lifecycle, current OPEN position created 2026-03-12 20:17:08.788182 — allowing re-creation |
| 03-12 20:45:56 |
ERROR
|
general |
|
root |
[Errno 13] Permission denied: './tiger_openapi_config.properties' |
| 03-12 20:45:56 |
INFO
|
position |
|
trailing_stop_scheduler |
[ON] Old triggered TS#3418 (triggered 2026-03-12 20:07:50.031860) belongs to previous lifecycle, current OPEN position created 2026-03-12 20:08:10.294728 — allowing re-creation |
| 03-12 20:45:56 |
INFO
|
position |
|
trailing_stop_scheduler |
[TEM] Old triggered TS#3487 (triggered 2026-03-12 20:01:12.916464) belongs to previous lifecycle, current OPEN position created 2026-03-12 20:09:50.017196 — allowing re-creation |
| 03-12 20:45:56 |
INFO
|
position |
|
trailing_stop_scheduler |
[ON] Old triggered TS#3418 (triggered 2026-03-12 20:07:50.031860) belongs to previous lifecycle, current OPEN position created 2026-03-12 20:08:10.294728 — allowing re-creation |
| 03-12 20:45:56 |
INFO
|
position |
|
trailing_stop_scheduler |
[ON] Old triggered TS#3418 (triggered 2026-03-12 20:07:50.031860) belongs to previous lifecycle, current OPEN position created 2026-03-12 20:08:10.294728 — allowing re-creation |
| 03-12 20:45:56 |
ERROR
|
general |
|
tiger_client |
Quote client not initialized |
| 03-12 20:45:56 |
WARN
|
general |
COIN |
tiger_client |
Extended hours price not available for COIN, falling back to briefs |
| 03-12 20:45:56 |
ERROR
|
general |
|
tiger_client |
Quote client not initialized |
| 03-12 20:45:56 |
INFO
|
general |
COIN |
trailing_stop_engine |
📊 EODHD batch fallback: 1/1 symbols: ['COIN'] |
| 03-12 20:45:56 |
WARN
|
error |
|
tiger_client |
Batch briefs fallback failed: 'NoneType' object has no attribute 'get_stock_briefs' |
| 03-12 20:45:56 |
WARN
|
error |
|
tiger_client |
Batch timeline fetch failed: 'NoneType' object has no attribute 'get_timeline' |
| 03-12 20:45:56 |
INFO
|
websocket |
|
tiger_push_client |
🔄 Force reconnect requested - resetting attempt counter |
| 03-12 20:45:56 |
WARN
|
websocket |
|
trailing_stop_scheduler |
⚠️ WebSocket disconnected during market hours, forcing reconnect... |
| 03-12 20:45:55 |
ERROR
|
general |
|
tiger_client |
Quote client not initialized |
| 03-12 20:45:55 |
WARN
|
general |
COIN |
tiger_client |
Extended hours price not available for COIN, falling back to briefs |
| 03-12 20:45:55 |
ERROR
|
general |
|
tiger_client |
Quote client not initialized |
| 03-12 20:45:55 |
INFO
|
trailing_stop |
|
trailing_stop_scheduler |
🔄 Full sync: Processing 1 active trailing stop positions (API verification) |
| 03-12 20:45:55 |
INFO
|
error |
|
trailing_stop_engine |
⚡ Paper account: API failed, using database fallback |
| 03-12 20:45:55 |
INFO
|
position |
|
trailing_stop_engine |
📦 paper: using DB holdings fallback (10 positions) |
| 03-12 20:45:55 |
ERROR
|
error |
|
tiger_client |
Failed to initialize Tiger Paper Trading client: [Errno 13] Permission denied: './tiger_openapi_config.properties' |
| 03-12 20:45:55 |
ERROR
|
general |
|
root |
[Errno 13] Permission denied: './tiger_openapi_config.properties' |
| 03-12 20:45:55 |
INFO
|
error |
|
trailing_stop_engine |
⚡ Real account: API failed, using database fallback |
| 03-12 20:45:55 |
INFO
|
position |
|
trailing_stop_engine |
📦 real: using DB holdings fallback (3 positions) |
| 03-12 20:45:55 |
ERROR
|
error |
|
tiger_client |
Failed to initialize Tiger client: [Errno 13] Permission denied: './tiger_openapi_config.properties' |
| 03-12 20:45:55 |
ERROR
|
general |
|
root |
[Errno 13] Permission denied: './tiger_openapi_config.properties' |
| 03-12 20:45:54 |
ERROR
|
general |
|
tiger_client |
Quote client not initialized |
| 03-12 20:45:54 |
WARN
|
general |
COIN |
tiger_client |
Extended hours price not available for COIN, falling back to briefs |
| 03-12 20:45:54 |
ERROR
|
general |
|
tiger_client |
Quote client not initialized |
| 03-12 20:45:54 |
INFO
|
general |
COIN |
trailing_stop_engine |
📊 EODHD batch fallback: 1/1 symbols: ['COIN'] |
| 03-12 20:45:54 |
WARN
|
error |
|
tiger_client |
Batch briefs fallback failed: 'NoneType' object has no attribute 'get_stock_briefs' |
| 03-12 20:45:54 |
WARN
|
error |
|
tiger_client |
Batch timeline fetch failed: 'NoneType' object has no attribute 'get_timeline' |
| 03-12 20:45:54 |
INFO
|
websocket |
|
tiger_push_client |
🔄 Force reconnect requested - resetting attempt counter |
| 03-12 20:45:54 |
WARN
|
websocket |
|
trailing_stop_scheduler |
⚠️ WebSocket disconnected during market hours, forcing reconnect... |
| 03-12 20:45:51 |
WARN
|
websocket |
COIN |
trailing_stop_scheduler |
🔄 Auto re-subscribed symbols with stale WebSocket data: ['COIN'] |
| 03-12 20:45:51 |
WARN
|
websocket |
|
tiger_push_client |
Push client not connected, cannot subscribe quotes |
| 03-12 20:45:50 |
ERROR
|
general |
|
tiger_client |
Quote client not initialized |
| 03-12 20:45:50 |
WARN
|
general |
COIN |
tiger_client |
Extended hours price not available for COIN, falling back to briefs |
| 03-12 20:45:50 |
ERROR
|
general |
|
tiger_client |
Quote client not initialized |
| 03-12 20:45:50 |
INFO
|
general |
COIN |
trailing_stop_engine |
📊 EODHD batch fallback: 1/1 symbols: ['COIN'] |
| 03-12 20:45:50 |
WARN
|
error |
|
tiger_client |
Batch briefs fallback failed: 'NoneType' object has no attribute 'get_stock_briefs' |
| 03-12 20:45:50 |
WARN
|
error |
|
tiger_client |
Batch timeline fetch failed: 'NoneType' object has no attribute 'get_timeline' |
| 03-12 20:45:49 |
WARN
|
websocket |
COIN |
trailing_stop_scheduler |
🔄 Auto re-subscribed symbols with stale WebSocket data: ['COIN'] |
| 03-12 20:45:49 |
WARN
|
websocket |
|
tiger_push_client |
Push client not connected, cannot subscribe quotes |
| 03-12 20:45:49 |
ERROR
|
general |
|
tiger_client |
Quote client not initialized |
| 03-12 20:45:49 |
WARN
|
general |
COIN |
tiger_client |
Extended hours price not available for COIN, falling back to briefs |
| 03-12 20:45:49 |
ERROR
|
general |
|
tiger_client |
Quote client not initialized |
| 03-12 20:45:49 |
INFO
|
general |
COIN |
trailing_stop_engine |
📊 EODHD batch fallback: 1/1 symbols: ['COIN'] |
| 03-12 20:45:49 |
WARN
|
error |
|
tiger_client |
Batch briefs fallback failed: 'NoneType' object has no attribute 'get_stock_briefs' |
| 03-12 20:45:49 |
WARN
|
error |
|
tiger_client |
Batch timeline fetch failed: 'NoneType' object has no attribute 'get_timeline' |
| 03-12 20:45:47 |
WARN
|
error |
|
tiger_client |
Batch briefs fallback failed: 'NoneType' object has no attribute 'get_stock_briefs' |
| 03-12 20:45:47 |
WARN
|
error |
|
tiger_client |
Batch timeline fetch failed: 'NoneType' object has no attribute 'get_timeline' |
| 03-12 20:45:47 |
INFO
|
general |
MSFT |
trailing_stop_engine |
📊 EODHD batch fallback: 6/6 symbols: ['MSFT', 'NVDA', 'MS', 'SLAB', 'IR', 'APH'] |
| 03-12 20:45:45 |
WARN
|
error |
|
tiger_client |
Batch briefs fallback failed: 'NoneType' object has no attribute 'get_stock_briefs' |
| 03-12 20:45:45 |
WARN
|
error |
|
tiger_client |
Batch timeline fetch failed: 'NoneType' object has no attribute 'get_timeline' |
| 03-12 20:45:45 |
ERROR
|
general |
|
tiger_client |
Quote client not initialized |
| 03-12 20:45:45 |
WARN
|
general |
COIN |
tiger_client |
Extended hours price not available for COIN, falling back to briefs |
| 03-12 20:45:45 |
ERROR
|
general |
|
tiger_client |
Quote client not initialized |
| 03-12 20:45:45 |
INFO
|
general |
COIN |
trailing_stop_engine |
📊 EODHD batch fallback: 1/1 symbols: ['COIN'] |
| 03-12 20:45:45 |
WARN
|
error |
|
tiger_client |
Batch briefs fallback failed: 'NoneType' object has no attribute 'get_stock_briefs' |
| 03-12 20:45:45 |
WARN
|
error |
|
tiger_client |
Batch timeline fetch failed: 'NoneType' object has no attribute 'get_timeline' |
| 03-12 20:45:44 |
WARN
|
error |
|
tiger_client |
Batch briefs fallback failed: 'NoneType' object has no attribute 'get_stock_briefs' |
| 03-12 20:45:44 |
WARN
|
error |
|
tiger_client |
Batch timeline fetch failed: 'NoneType' object has no attribute 'get_timeline' |
| 03-12 20:45:44 |
INFO
|
general |
IR |
trailing_stop_engine |
📊 EODHD batch fallback: 6/6 symbols: ['MS', 'SLAB', 'IR', 'APH', 'MSFT', 'NVDA'] |
| 03-12 20:45:44 |
WARN
|
error |
|
tiger_client |
Batch briefs fallback failed: 'NoneType' object has no attribute 'get_stock_briefs' |
| 03-12 20:45:44 |
WARN
|
error |
|
tiger_client |
Batch timeline fetch failed: 'NoneType' object has no attribute 'get_timeline' |
| 03-12 20:45:43 |
ERROR
|
general |
|
tiger_client |
Quote client not initialized |
| 03-12 20:45:43 |
WARN
|
general |
COIN |
tiger_client |
Extended hours price not available for COIN, falling back to briefs |
| 03-12 20:45:43 |
ERROR
|
general |
|
tiger_client |
Quote client not initialized |
| 03-12 20:45:43 |
INFO
|
general |
COIN |
trailing_stop_engine |
📊 EODHD batch fallback: 1/1 symbols: ['COIN'] |
| 03-12 20:45:43 |
WARN
|
error |
|
tiger_client |
Batch briefs fallback failed: 'NoneType' object has no attribute 'get_stock_briefs' |
| 03-12 20:45:43 |
WARN
|
error |
|
tiger_client |
Batch timeline fetch failed: 'NoneType' object has no attribute 'get_timeline' |
| 03-12 20:45:40 |
WARN
|
error |
|
tiger_client |
Batch briefs fallback failed: 'NoneType' object has no attribute 'get_stock_briefs' |
| 03-12 20:45:40 |
WARN
|
error |
|
tiger_client |
Batch timeline fetch failed: 'NoneType' object has no attribute 'get_timeline' |
| 03-12 20:45:40 |
INFO
|
general |
IR |
trailing_stop_engine |
📊 EODHD batch fallback: 6/6 symbols: ['MS', 'SLAB', 'IR', 'APH', 'MSFT', 'NVDA'] |
| 03-12 20:45:40 |
WARN
|
error |
|
tiger_client |
Batch briefs fallback failed: 'NoneType' object has no attribute 'get_stock_briefs' |
| 03-12 20:45:40 |
WARN
|
error |
|
tiger_client |
Batch timeline fetch failed: 'NoneType' object has no attribute 'get_timeline' |
| 03-12 20:45:39 |
ERROR
|
general |
|
tiger_client |
Quote client not initialized |
| 03-12 20:45:39 |
WARN
|
general |
COIN |
tiger_client |
Extended hours price not available for COIN, falling back to briefs |
| 03-12 20:45:39 |
ERROR
|
general |
|
tiger_client |
Quote client not initialized |
| 03-12 20:45:39 |
INFO
|
general |
COIN |
trailing_stop_engine |
📊 EODHD batch fallback: 1/1 symbols: ['COIN'] |