| 03-10 18:47:10 |
INFO
|
general |
AMD |
trailing_stop_engine |
📊 Batch API refresh: 9/9 symbols updated: ['SLAB', 'EQIX', 'APH', 'AMD', 'GE', 'TSM', 'MU', 'IBKR', 'MENS'] |
| 03-10 18:47:09 |
INFO
|
general |
|
trailing_stop_engine |
📊 Batch API refresh: 2/2 symbols updated: ['DIOD', 'META'] |
| 03-10 18:47:08 |
ERROR
|
general |
|
tiger_client |
Quote client not initialized |
| 03-10 18:47:08 |
ERROR
|
general |
|
tiger_client |
Quote client not initialized |
| 03-10 18:47:08 |
INFO
|
general |
|
trailing_stop_engine |
📊 EODHD batch fallback: 2/2 symbols: ['DIOD', 'META'] |
| 03-10 18:47:08 |
ERROR
|
error |
|
tiger_client |
Batch smart price fetch failed: 'NoneType' object has no attribute 'get_stock_briefs' |
| 03-10 18:47:05 |
INFO
|
trailing_stop |
|
routes |
📝 [PAPER] No position found for LITE - position may have been already closed by trailing stop or other exit |
| 03-10 18:47:05 |
WARN
|
position |
|
tiger_client |
No position found for LITE at broker (API + cache + DB all returned 0/None). Aborting close to prevent opening reverse position. |
| 03-10 18:47:05 |
WARN
|
position |
|
tiger_client |
No position from Tiger API for LITE, position likely already closed |
| 03-10 18:47:05 |
INFO
|
position |
|
tiger_client |
Getting positions for symbol: LITE |
| 03-10 18:47:05 |
INFO
|
order |
|
tiger_client |
No open orders found for LITE |
| 03-10 18:47:05 |
INFO
|
order |
|
tiger_client |
Retrieved 0 open orders for LITE |
| 03-10 18:47:05 |
INFO
|
position |
|
tiger_client |
Attempting to close position for LITE, signal_side=sell |
| 03-10 18:47:05 |
INFO
|
position |
|
tiger_client |
Attempting to close position for LITE with sandbox fallback, signal_side=sell, signal_quantity=None |
| 03-10 18:47:04 |
INFO
|
position |
|
tiger_client |
Getting positions for symbol: LITE |
| 03-10 18:47:04 |
INFO
|
signal |
|
routes |
📝 [PAPER] Processing close signal for LITE, side=sell |
| 03-10 18:47:04 |
INFO
|
order |
|
signal_parser |
Signal parsed successfully: {'symbol': 'LITE', 'is_close_signal': True, 'close_type': 'flat', 'side': 'sell', 'quantity': 'all', 'close_all': True, 'order_type': 'market', 'reference_price': 688.52, 'trading_session': 'regular', 'outside_rth': False, 'time_in_force': 'day'} |
| 03-10 18:47:04 |
INFO
|
position |
|
signal_parser |
🔴 Detected CLOSE signal for LITE (sentiment=flat, closePosition=False, rating=, close_type=flat) |
| 03-10 18:47:04 |
INFO
|
position |
|
routes |
📝 [PAPER] Received webhook from 35.208.63.207: {"action": "sell", "extras": {"indicator": "WaveMatrix Top", "timeframe": "15", "referencePrice": 688.52}, "reason": "Reverse Signal Close", "ticker": "LITE", "quantity": "all", "sentiment": "flat", "signal_type": "flat", "forwarded_at": "2026-03-10T18:47:04.387025"} |
| 03-10 18:47:03 |
ERROR
|
general |
|
tiger_client |
Quote client not initialized |
| 03-10 18:47:02 |
ERROR
|
general |
|
tiger_client |
Quote client not initialized |
| 03-10 18:47:02 |
INFO
|
general |
|
trailing_stop_engine |
📊 EODHD batch fallback: 2/2 symbols: ['DIOD', 'META'] |
| 03-10 18:47:02 |
ERROR
|
error |
|
tiger_client |
Batch smart price fetch failed: 'NoneType' object has no attribute 'get_stock_briefs' |
| 03-10 18:47:02 |
ERROR
|
error |
|
tiger_client |
Batch smart price fetch failed: 'NoneType' object has no attribute 'get_stock_briefs' |
| 03-10 18:47:02 |
INFO
|
general |
AMD |
trailing_stop_engine |
📊 EODHD batch fallback: 9/9 symbols: ['SLAB', 'MENS', 'EQIX', 'APH', 'AMD', 'GE', 'TSM', 'MU', 'IBKR'] |
| 03-10 18:47:01 |
ERROR
|
error |
|
tiger_client |
Batch smart price fetch failed: 'NoneType' object has no attribute 'get_stock_briefs' |
| 03-10 18:46:57 |
ERROR
|
general |
|
tiger_client |
Quote client not initialized |
| 03-10 18:46:57 |
ERROR
|
general |
|
tiger_client |
Quote client not initialized |
| 03-10 18:46:57 |
INFO
|
general |
|
trailing_stop_engine |
📊 EODHD batch fallback: 2/2 symbols: ['DIOD', 'META'] |
| 03-10 18:46:57 |
ERROR
|
error |
|
tiger_client |
Batch smart price fetch failed: 'NoneType' object has no attribute 'get_stock_briefs' |
| 03-10 18:46:56 |
ERROR
|
error |
|
tiger_client |
Batch smart price fetch failed: 'NoneType' object has no attribute 'get_stock_briefs' |
| 03-10 18:46:56 |
INFO
|
general |
AMD |
trailing_stop_engine |
📊 EODHD batch fallback: 9/9 symbols: ['APH', 'AMD', 'SLAB', 'EQIX', 'GE', 'TSM', 'MU', 'IBKR', 'MENS'] |
| 03-10 18:46:56 |
ERROR
|
error |
|
tiger_client |
Batch smart price fetch failed: 'NoneType' object has no attribute 'get_stock_briefs' |
| 03-10 18:46:55 |
INFO
|
general |
AMD |
trailing_stop_engine |
📊 Batch API refresh: 9/9 symbols updated: ['EQIX', 'APH', 'AMD', 'SLAB', 'GE', 'TSM', 'MU', 'IBKR', 'MENS'] |
| 03-10 18:46:54 |
INFO
|
position |
|
routes |
📝 [PAPER] No action needed: exit-long signal received but currently holding SHORT position for ALGM |
| 03-10 18:46:54 |
INFO
|
position |
|
tiger_client |
No action: Received exit-long signal (sell) but holding SHORT position for ALGM |
| 03-10 18:46:54 |
INFO
|
position |
|
tiger_client |
Got position from Tiger API: ALGM = -305 shares |
| 03-10 18:46:54 |
INFO
|
position |
|
tiger_client |
Position: ALGM, Qty: -305, Cost: 32.6179 |
| 03-10 18:46:54 |
INFO
|
position |
|
tiger_client |
Getting positions for symbol: ALGM |
| 03-10 18:46:54 |
INFO
|
order |
|
tiger_client |
No open orders found for ALGM |
| 03-10 18:46:54 |
INFO
|
order |
|
tiger_client |
Retrieved 0 open orders for ALGM |
| 03-10 18:46:54 |
INFO
|
position |
|
tiger_client |
Attempting to close position for ALGM, signal_side=sell |
| 03-10 18:46:54 |
INFO
|
position |
|
tiger_client |
Attempting to close position for ALGM with sandbox fallback, signal_side=sell, signal_quantity=None |
| 03-10 18:46:54 |
INFO
|
position |
|
tiger_client |
Position: ALGM, Qty: -305, Cost: 32.6179 |
| 03-10 18:46:54 |
INFO
|
position |
|
tiger_client |
Getting positions for symbol: ALGM |
| 03-10 18:46:54 |
INFO
|
signal |
|
routes |
📝 [PAPER] Processing close signal for ALGM, side=sell |
| 03-10 18:46:53 |
INFO
|
general |
|
trailing_stop_engine |
📊 Batch API refresh: 2/2 symbols updated: ['DIOD', 'META'] |
| 03-10 18:46:53 |
INFO
|
order |
|
signal_parser |
Signal parsed successfully: {'symbol': 'ALGM', 'is_close_signal': True, 'close_type': 'flat', 'side': 'sell', 'quantity': 'all', 'close_all': True, 'order_type': 'market', 'reference_price': 33.43, 'trading_session': 'regular', 'outside_rth': False, 'time_in_force': 'day'} |
| 03-10 18:46:53 |
INFO
|
position |
|
signal_parser |
🔴 Detected CLOSE signal for ALGM (sentiment=flat, closePosition=False, rating=, close_type=flat) |
| 03-10 18:46:53 |
INFO
|
position |
|
routes |
📝 [PAPER] Received webhook from 35.208.63.207: {"action": "sell", "extras": {"indicator": "WaveMatrix Top", "timeframe": "15", "referencePrice": 33.43}, "reason": "Reverse Signal Close", "ticker": "ALGM", "quantity": "all", "sentiment": "flat", "signal_type": "flat", "forwarded_at": "2026-03-10T18:46:53.688089"} |
| 03-10 18:46:52 |
ERROR
|
general |
|
tiger_client |
Quote client not initialized |
| 03-10 18:46:52 |
ERROR
|
general |
|
tiger_client |
Quote client not initialized |
| 03-10 18:46:52 |
INFO
|
general |
|
trailing_stop_engine |
📊 EODHD batch fallback: 2/2 symbols: ['DIOD', 'META'] |
| 03-10 18:46:52 |
ERROR
|
general |
|
tiger_client |
Quote client not initialized |
| 03-10 18:46:52 |
ERROR
|
error |
|
tiger_client |
Batch smart price fetch failed: 'NoneType' object has no attribute 'get_stock_briefs' |
| 03-10 18:46:51 |
ERROR
|
general |
|
tiger_client |
Quote client not initialized |
| 03-10 18:46:51 |
INFO
|
trailing_stop |
|
routes |
📝 [PAPER] No position found for WKEY - position may have been already closed by trailing stop or other exit |
| 03-10 18:46:51 |
WARN
|
position |
|
tiger_client |
No position found for WKEY at broker (API + cache + DB all returned 0/None). Aborting close to prevent opening reverse position. |
| 03-10 18:46:51 |
WARN
|
position |
|
tiger_client |
No position from Tiger API for WKEY, position likely already closed |
| 03-10 18:46:51 |
ERROR
|
error |
|
tiger_client |
Batch smart price fetch failed: 'NoneType' object has no attribute 'get_stock_briefs' |
| 03-10 18:46:51 |
INFO
|
general |
AMD |
trailing_stop_engine |
📊 EODHD batch fallback: 9/9 symbols: ['SLAB', 'EQIX', 'APH', 'AMD', 'GE', 'TSM', 'MU', 'IBKR', 'MENS'] |
| 03-10 18:46:51 |
ERROR
|
error |
|
tiger_client |
Batch smart price fetch failed: 'NoneType' object has no attribute 'get_stock_briefs' |
| 03-10 18:46:51 |
INFO
|
position |
|
tiger_client |
Getting positions for symbol: WKEY |
| 03-10 18:46:51 |
INFO
|
order |
|
tiger_client |
No open orders found for WKEY |
| 03-10 18:46:51 |
INFO
|
order |
|
tiger_client |
Retrieved 0 open orders for WKEY |
| 03-10 18:46:51 |
INFO
|
position |
|
tiger_client |
Attempting to close position for WKEY, signal_side=sell |
| 03-10 18:46:51 |
INFO
|
position |
|
tiger_client |
Attempting to close position for WKEY with sandbox fallback, signal_side=sell, signal_quantity=None |
| 03-10 18:46:50 |
INFO
|
position |
|
tiger_client |
Getting positions for symbol: WKEY |
| 03-10 18:46:50 |
INFO
|
signal |
|
routes |
📝 [PAPER] Processing close signal for WKEY, side=sell |
| 03-10 18:46:50 |
ERROR
|
general |
|
tiger_client |
Quote client not initialized |
| 03-10 18:46:50 |
INFO
|
order |
|
signal_parser |
Signal parsed successfully: {'symbol': 'WKEY', 'is_close_signal': True, 'close_type': 'flat', 'side': 'sell', 'quantity': 'all', 'close_all': True, 'order_type': 'market', 'reference_price': 7.4, 'trading_session': 'regular', 'outside_rth': False, 'time_in_force': 'day'} |
| 03-10 18:46:50 |
INFO
|
position |
|
signal_parser |
🔴 Detected CLOSE signal for WKEY (sentiment=flat, closePosition=False, rating=, close_type=flat) |
| 03-10 18:46:50 |
INFO
|
position |
|
routes |
📝 [PAPER] Received webhook from 35.208.63.207: {"action": "sell", "extras": {"indicator": "Trend Continuation", "timeframe": "15", "referencePrice": 7.4}, "reason": "Reverse Signal Close", "ticker": "WKEY", "quantity": "all", "sentiment": "flat", "signal_type": "flat", "forwarded_at": "2026-03-10T18:46:50.463149"} |
| 03-10 18:46:47 |
ERROR
|
order |
|
tiger_client |
Error getting order status: code=1200 msg=standard account response error(not_found:订单不存在) |
| 03-10 18:46:46 |
ERROR
|
order |
|
tiger_client |
Error getting order status: code=1200 msg=standard account response error(not_found:订单不存在) |
| 03-10 18:46:46 |
ERROR
|
error |
|
tiger_client |
Batch smart price fetch failed: 'NoneType' object has no attribute 'get_stock_briefs' |
| 03-10 18:46:46 |
INFO
|
general |
AMD |
trailing_stop_engine |
📊 EODHD batch fallback: 9/9 symbols: ['EQIX', 'APH', 'AMD', 'GE', 'TSM', 'MU', 'IBKR', 'SLAB', 'MENS'] |
| 03-10 18:46:46 |
INFO
|
trailing_stop |
|
routes |
📝 [PAPER] No position found for ASX - position may have been already closed by trailing stop or other exit |
| 03-10 18:46:46 |
WARN
|
position |
|
tiger_client |
No position found for ASX at broker (API + cache + DB all returned 0/None). Aborting close to prevent opening reverse position. |
| 03-10 18:46:46 |
WARN
|
position |
|
tiger_client |
No position from Tiger API for ASX, position likely already closed |
| 03-10 18:46:46 |
INFO
|
order |
|
trailing_stop_scheduler |
📊 Skipping exit order 42501536636747776 for ALAB: exit_time=2026-03-10 16:29:51 < position opened_at=2026-03-10 17:17:25.287562 (old lifecycle fill) |
| 03-10 18:46:45 |
INFO
|
order |
|
tiger_client |
Retrieved 100 filled orders |
| 03-10 18:46:45 |
ERROR
|
error |
|
tiger_client |
Batch smart price fetch failed: 'NoneType' object has no attribute 'get_stock_briefs' |
| 03-10 18:46:45 |
INFO
|
position |
|
tiger_client |
Getting positions for symbol: ASX |
| 03-10 18:46:45 |
INFO
|
order |
|
tiger_client |
No open orders found for ASX |
| 03-10 18:46:45 |
INFO
|
order |
|
tiger_client |
Retrieved 0 open orders for ASX |
| 03-10 18:46:45 |
INFO
|
position |
|
tiger_client |
Attempting to close position for ASX, signal_side=sell |
| 03-10 18:46:45 |
INFO
|
position |
|
tiger_client |
Attempting to close position for ASX with sandbox fallback, signal_side=sell, signal_quantity=None |
| 03-10 18:46:45 |
INFO
|
position |
|
tiger_client |
Getting positions for symbol: ASX |
| 03-10 18:46:45 |
INFO
|
signal |
|
routes |
📝 [PAPER] Processing close signal for ASX, side=sell |
| 03-10 18:46:45 |
ERROR
|
general |
|
tiger_client |
Quote client not initialized |
| 03-10 18:46:45 |
INFO
|
trailing_stop |
|
routes |
📝 [PAPER] No position found for REMX - position may have been already closed by trailing stop or other exit |
| 03-10 18:46:45 |
WARN
|
position |
|
tiger_client |
No position found for REMX at broker (API + cache + DB all returned 0/None). Aborting close to prevent opening reverse position. |
| 03-10 18:46:45 |
WARN
|
position |
|
tiger_client |
No position from Tiger API for REMX, position likely already closed |
| 03-10 18:46:45 |
INFO
|
order |
|
signal_parser |
Signal parsed successfully: {'symbol': 'ASX', 'is_close_signal': True, 'close_type': 'flat', 'side': 'sell', 'quantity': 'all', 'close_all': True, 'order_type': 'market', 'reference_price': 22.0, 'trading_session': 'regular', 'outside_rth': False, 'time_in_force': 'day'} |
| 03-10 18:46:45 |
INFO
|
position |
|
signal_parser |
🔴 Detected CLOSE signal for ASX (sentiment=flat, closePosition=False, rating=, close_type=flat) |
| 03-10 18:46:45 |
INFO
|
position |
|
routes |
📝 [PAPER] Received webhook from 35.208.63.207: {"action": "sell", "extras": {"indicator": "WaveMatrix Top", "timeframe": "15", "referencePrice": 22}, "reason": "Reverse Signal Close", "ticker": "ASX", "quantity": "all", "sentiment": "flat", "signal_type": "flat", "forwarded_at": "2026-03-10T18:46:45.036570"} |
| 03-10 18:46:45 |
ERROR
|
general |
|
tiger_client |
Quote client not initialized |
| 03-10 18:46:44 |
INFO
|
position |
|
tiger_client |
Getting positions for symbol: REMX |
| 03-10 18:46:44 |
INFO
|
order |
|
tiger_client |
No open orders found for REMX |