| 02-18 23:01:16 |
INFO
|
trailing_stop |
|
trailing_stop_scheduler |
🔄 Full sync: Processing 2 active trailing stop positions (API verification) |
| 02-18 23:01:16 |
INFO
|
position |
|
tiger_client |
Position: NFLX, Qty: 10, Cost: 78.227 |
| 02-18 23:01:15 |
INFO
|
position |
|
tiger_client |
Getting positions for symbol: all |
| 02-18 23:01:15 |
WARN
|
trailing_stop |
|
trailing_stop_scheduler |
⚠️ Qty mismatch for NFLX (real): DB trailing_stop=1.0, Tiger=4 |
| 02-18 23:01:15 |
INFO
|
sync |
|
trailing_stop_engine |
📊 Syncing avg cost for NFLX: 77.93 -> 78.23 |
| 02-18 23:01:15 |
INFO
|
position |
|
trailing_stop_engine |
📊 Syncing quantity for NFLX: 1.0 -> 4 |
| 02-18 23:01:15 |
INFO
|
sync |
|
trailing_stop_engine |
📊 Syncing avg cost for NFLX: 77.94 -> 77.95 |
| 02-18 23:01:15 |
INFO
|
trailing_stop |
|
trailing_stop_scheduler |
🔄 Full sync: Processing 2 active trailing stop positions (API verification) |
| 02-18 23:01:15 |
INFO
|
position |
|
tiger_client |
Position: NFLX, Qty: 10, Cost: 78.227 |
| 02-18 23:01:15 |
INFO
|
position |
|
tiger_client |
Position: NFLX, Qty: 4, Cost: 77.9465 |
| 02-18 23:01:15 |
INFO
|
position |
|
tiger_client |
Getting positions for symbol: all |
| 02-18 23:01:15 |
INFO
|
position |
|
tiger_client |
Getting positions for symbol: all |
| 02-18 23:01:15 |
INFO
|
position |
|
tiger_client |
Position: NFLX, Qty: 4, Cost: 77.9465 |
| 02-18 23:01:15 |
INFO
|
position |
|
tiger_client |
Getting positions for symbol: all |
| 02-18 23:01:10 |
WARN
|
websocket |
|
trailing_stop_scheduler |
🔄 Auto re-subscribed symbols with stale WebSocket data: ['NFLX'] |
| 02-18 23:01:09 |
WARN
|
websocket |
|
trailing_stop_scheduler |
🔄 Auto re-subscribed symbols with stale WebSocket data: ['NFLX'] |
| 02-18 23:00:45 |
INFO
|
error |
|
trailing_stop_engine |
📊 NFLX API backoff set for 120s due to repeated errors |
| 02-18 23:00:45 |
ERROR
|
error |
|
tiger_client |
Error getting latest trade for NFLX: code=4 msg=4000:permission denied(Current user and device do not have permissions in the US market) |
| 02-18 23:00:45 |
WARN
|
general |
|
tiger_client |
Extended hours price not available for NFLX, falling back to briefs |
| 02-18 23:00:45 |
ERROR
|
error |
|
tiger_client |
Error getting extended hours price for NFLX: code=4 msg=4000:permission denied(Current user and device do not have permissions in the US market) |
| 02-18 23:00:45 |
WARN
|
error |
|
tiger_client |
Batch briefs fallback failed: code=4 msg=4000:permission denied(Current user and device do not have permissions in the US market) |
| 02-18 23:00:45 |
WARN
|
error |
|
tiger_client |
Batch timeline fetch failed: code=4 msg=4000:permission denied(Current user and device do not have permissions in the US market) |
| 02-18 23:00:44 |
INFO
|
error |
|
trailing_stop_engine |
📊 NFLX API backoff set for 120s due to repeated errors |
| 02-18 23:00:44 |
ERROR
|
error |
|
tiger_client |
Error getting latest trade for NFLX: code=4 msg=4000:permission denied(Current user and device do not have permissions in the US market) |
| 02-18 23:00:44 |
WARN
|
general |
|
tiger_client |
Extended hours price not available for NFLX, falling back to briefs |
| 02-18 23:00:44 |
ERROR
|
error |
|
tiger_client |
Error getting extended hours price for NFLX: code=4 msg=4000:permission denied(Current user and device do not have permissions in the US market) |
| 02-18 23:00:44 |
WARN
|
error |
|
tiger_client |
Batch briefs fallback failed: code=4 msg=4000:permission denied(Current user and device do not have permissions in the US market) |
| 02-18 23:00:44 |
WARN
|
error |
|
tiger_client |
Batch timeline fetch failed: code=4 msg=4000:permission denied(Current user and device do not have permissions in the US market) |
| 02-18 23:00:14 |
ERROR
|
order |
|
order_tracker_service |
❌ Error in handle_fill_event for 42277739866882048: Failed to create Position for NFLX paper 2026-02-18 after 5 attempts |
| 02-18 23:00:14 |
WARN
|
trailing_stop |
|
position_service |
🔁 Position key collision for NFLX_2026-02-18_1 (paper), retrying with next sequence: (psycopg2.errors.UniqueViolation) duplicate key value violates unique constraint "ix_position_position_key"
DETAIL: Key (position_key)=(NFLX_2026-02-18_1) already exists.
[SQL: INSERT INTO position (position_key, symbol, account_type, trade_date, sequence_number, side, status, total_entry_quantity, total_exit_quantity, avg_entry_price, avg_exit_price, realized_pnl, commission, trailing_stop_id, opened_at, closed_at, created_at, updated_at) VALUES (%(position_key)s, %(symbol)s, %(account_type)s, %(trade_date)s, %(sequence_number)s, %(side)s, %(status)s, %(total_entry_quantity)s, %(total_exit_quantity)s, %(avg_entry_price)s, %(avg_exit_price)s, %(realized_pnl)s, %(commission)s, %(trailing_stop_id)s, %(opened_at)s, %(closed_at)s, %(created_at)s, %(updated_at)s) RETURNING position.id]
[parameters: {'position_key': 'NFLX_2026-02-18_1', 'symbol': 'NFLX', 'account_type': 'paper', 'trade_date': datetime.date(2026, 2, 18), 'sequence_number': 1, 'side': 'long', 'status': 'OPEN', 'total_entry_quantity': 0, 'total_exit_quantity': 0, 'avg_entry_price': None, 'avg_exit_price': None, 'realized_pnl': None, 'commission': None, 'trailing_stop_id': None, 'opened_at': datetime.datetime(2026, 2, 18, 23, 0, 14, 613658), 'closed_at': None, 'created_at': datetime.datetime(2026, 2, 18, 23, 0, 14, 655913), 'updated_at': datetime.datetime(2026, 2, 18, 23, 0, 14, 655919)}]
(Background on this error at: https://sqlalche.me/e/20/gkpj) |
| 02-18 23:00:14 |
WARN
|
trailing_stop |
|
position_service |
🔁 Position key collision for NFLX_2026-02-18_1 (paper), retrying with next sequence: (psycopg2.errors.UniqueViolation) duplicate key value violates unique constraint "ix_position_position_key"
DETAIL: Key (position_key)=(NFLX_2026-02-18_1) already exists.
[SQL: INSERT INTO position (position_key, symbol, account_type, trade_date, sequence_number, side, status, total_entry_quantity, total_exit_quantity, avg_entry_price, avg_exit_price, realized_pnl, commission, trailing_stop_id, opened_at, closed_at, created_at, updated_at) VALUES (%(position_key)s, %(symbol)s, %(account_type)s, %(trade_date)s, %(sequence_number)s, %(side)s, %(status)s, %(total_entry_quantity)s, %(total_exit_quantity)s, %(avg_entry_price)s, %(avg_exit_price)s, %(realized_pnl)s, %(commission)s, %(trailing_stop_id)s, %(opened_at)s, %(closed_at)s, %(created_at)s, %(updated_at)s) RETURNING position.id]
[parameters: {'position_key': 'NFLX_2026-02-18_1', 'symbol': 'NFLX', 'account_type': 'paper', 'trade_date': datetime.date(2026, 2, 18), 'sequence_number': 1, 'side': 'long', 'status': 'OPEN', 'total_entry_quantity': 0, 'total_exit_quantity': 0, 'avg_entry_price': None, 'avg_exit_price': None, 'realized_pnl': None, 'commission': None, 'trailing_stop_id': None, 'opened_at': datetime.datetime(2026, 2, 18, 23, 0, 14, 613658), 'closed_at': None, 'created_at': datetime.datetime(2026, 2, 18, 23, 0, 14, 649755), 'updated_at': datetime.datetime(2026, 2, 18, 23, 0, 14, 649763)}]
(Background on this error at: https://sqlalche.me/e/20/gkpj) |
| 02-18 23:00:14 |
WARN
|
trailing_stop |
|
position_service |
🔁 Position key collision for NFLX_2026-02-18_1 (paper), retrying with next sequence: (psycopg2.errors.UniqueViolation) duplicate key value violates unique constraint "ix_position_position_key"
DETAIL: Key (position_key)=(NFLX_2026-02-18_1) already exists.
[SQL: INSERT INTO position (position_key, symbol, account_type, trade_date, sequence_number, side, status, total_entry_quantity, total_exit_quantity, avg_entry_price, avg_exit_price, realized_pnl, commission, trailing_stop_id, opened_at, closed_at, created_at, updated_at) VALUES (%(position_key)s, %(symbol)s, %(account_type)s, %(trade_date)s, %(sequence_number)s, %(side)s, %(status)s, %(total_entry_quantity)s, %(total_exit_quantity)s, %(avg_entry_price)s, %(avg_exit_price)s, %(realized_pnl)s, %(commission)s, %(trailing_stop_id)s, %(opened_at)s, %(closed_at)s, %(created_at)s, %(updated_at)s) RETURNING position.id]
[parameters: {'position_key': 'NFLX_2026-02-18_1', 'symbol': 'NFLX', 'account_type': 'paper', 'trade_date': datetime.date(2026, 2, 18), 'sequence_number': 1, 'side': 'long', 'status': 'OPEN', 'total_entry_quantity': 0, 'total_exit_quantity': 0, 'avg_entry_price': None, 'avg_exit_price': None, 'realized_pnl': None, 'commission': None, 'trailing_stop_id': None, 'opened_at': datetime.datetime(2026, 2, 18, 23, 0, 14, 613658), 'closed_at': None, 'created_at': datetime.datetime(2026, 2, 18, 23, 0, 14, 643050), 'updated_at': datetime.datetime(2026, 2, 18, 23, 0, 14, 643058)}]
(Background on this error at: https://sqlalche.me/e/20/gkpj) |
| 02-18 23:00:14 |
WARN
|
trailing_stop |
|
position_service |
🔁 Position key collision for NFLX_2026-02-18_1 (paper), retrying with next sequence: (psycopg2.errors.UniqueViolation) duplicate key value violates unique constraint "ix_position_position_key"
DETAIL: Key (position_key)=(NFLX_2026-02-18_1) already exists.
[SQL: INSERT INTO position (position_key, symbol, account_type, trade_date, sequence_number, side, status, total_entry_quantity, total_exit_quantity, avg_entry_price, avg_exit_price, realized_pnl, commission, trailing_stop_id, opened_at, closed_at, created_at, updated_at) VALUES (%(position_key)s, %(symbol)s, %(account_type)s, %(trade_date)s, %(sequence_number)s, %(side)s, %(status)s, %(total_entry_quantity)s, %(total_exit_quantity)s, %(avg_entry_price)s, %(avg_exit_price)s, %(realized_pnl)s, %(commission)s, %(trailing_stop_id)s, %(opened_at)s, %(closed_at)s, %(created_at)s, %(updated_at)s) RETURNING position.id]
[parameters: {'position_key': 'NFLX_2026-02-18_1', 'symbol': 'NFLX', 'account_type': 'paper', 'trade_date': datetime.date(2026, 2, 18), 'sequence_number': 1, 'side': 'long', 'status': 'OPEN', 'total_entry_quantity': 0, 'total_exit_quantity': 0, 'avg_entry_price': None, 'avg_exit_price': None, 'realized_pnl': None, 'commission': None, 'trailing_stop_id': None, 'opened_at': datetime.datetime(2026, 2, 18, 23, 0, 14, 613658), 'closed_at': None, 'created_at': datetime.datetime(2026, 2, 18, 23, 0, 14, 636758), 'updated_at': datetime.datetime(2026, 2, 18, 23, 0, 14, 636765)}]
(Background on this error at: https://sqlalche.me/e/20/gkpj) |
| 02-18 23:00:14 |
WARN
|
trailing_stop |
|
position_service |
🔁 Position key collision for NFLX_2026-02-18_1 (paper), retrying with next sequence: (psycopg2.errors.UniqueViolation) duplicate key value violates unique constraint "ix_position_position_key"
DETAIL: Key (position_key)=(NFLX_2026-02-18_1) already exists.
[SQL: INSERT INTO position (position_key, symbol, account_type, trade_date, sequence_number, side, status, total_entry_quantity, total_exit_quantity, avg_entry_price, avg_exit_price, realized_pnl, commission, trailing_stop_id, opened_at, closed_at, created_at, updated_at) VALUES (%(position_key)s, %(symbol)s, %(account_type)s, %(trade_date)s, %(sequence_number)s, %(side)s, %(status)s, %(total_entry_quantity)s, %(total_exit_quantity)s, %(avg_entry_price)s, %(avg_exit_price)s, %(realized_pnl)s, %(commission)s, %(trailing_stop_id)s, %(opened_at)s, %(closed_at)s, %(created_at)s, %(updated_at)s) RETURNING position.id]
[parameters: {'position_key': 'NFLX_2026-02-18_1', 'symbol': 'NFLX', 'account_type': 'paper', 'trade_date': datetime.date(2026, 2, 18), 'sequence_number': 1, 'side': 'long', 'status': 'OPEN', 'total_entry_quantity': 0, 'total_exit_quantity': 0, 'avg_entry_price': None, 'avg_exit_price': None, 'realized_pnl': None, 'commission': None, 'trailing_stop_id': None, 'opened_at': datetime.datetime(2026, 2, 18, 23, 0, 14, 613658), 'closed_at': None, 'created_at': datetime.datetime(2026, 2, 18, 23, 0, 14, 630540), 'updated_at': datetime.datetime(2026, 2, 18, 23, 0, 14, 630547)}]
(Background on this error at: https://sqlalche.me/e/20/gkpj) |
| 02-18 23:00:14 |
INFO
|
order |
|
order_tracker_service |
📋 Order 42277739866882048 FILLED (source=polling): NFLX entry qty=10 price=$77.93 pnl=$0.00 |
| 02-18 23:00:14 |
INFO
|
order |
|
tiger_client |
Order 42277739866882048 Tiger data: avgFillPrice=77.929, filledQuantity=10, totalQuantity=10, realizedPnl=0, commission=2.98, reason=, order_type=LMT, outside_rth=True |
| 02-18 23:00:14 |
INFO
|
order |
|
tiger_client |
Order 42277739866882048 available attributes: ['account', 'action', 'active', 'adjust_limit', 'algo_params', 'algo_strategy', 'attr_desc', 'attr_list', 'aux_price', 'avg_fill_price', 'can_modify', 'charges', 'combo_type', 'combo_type_desc', 'commission', 'contract', 'contract_legs', 'discount', 'expire_time', 'external_id', 'filled', 'filled_cash_amount', 'filled_scale', 'gst', 'id', 'is_open', 'is_partially_filled', 'latest_price', 'limit_price', 'liquidation', 'order_id', 'order_legs', 'order_time', 'order_type', 'orders', 'outside_rth', 'parent_id', 'percent_offset', 'quantity', 'quantity_scale', 'realized_pnl', 'reason', 'refund_cash_amount', 'remaining', 'secret_key', 'source', 'status', 'sub_ids', 'time_in_force', 'to_dict', 'total_cash_amount', 'trade_time', 'trading_session_type', 'trail_stop_price', 'trailing_percent', 'update_time', 'user_mark'] |
| 02-18 23:00:14 |
ERROR
|
order |
|
order_tracker_service |
❌ Error in handle_fill_event for 42277739866882048: Failed to create Position for NFLX paper 2026-02-18 after 5 attempts |
| 02-18 23:00:14 |
WARN
|
trailing_stop |
|
position_service |
🔁 Position key collision for NFLX_2026-02-18_1 (paper), retrying with next sequence: (psycopg2.errors.UniqueViolation) duplicate key value violates unique constraint "ix_position_position_key"
DETAIL: Key (position_key)=(NFLX_2026-02-18_1) already exists.
[SQL: INSERT INTO position (position_key, symbol, account_type, trade_date, sequence_number, side, status, total_entry_quantity, total_exit_quantity, avg_entry_price, avg_exit_price, realized_pnl, commission, trailing_stop_id, opened_at, closed_at, created_at, updated_at) VALUES (%(position_key)s, %(symbol)s, %(account_type)s, %(trade_date)s, %(sequence_number)s, %(side)s, %(status)s, %(total_entry_quantity)s, %(total_exit_quantity)s, %(avg_entry_price)s, %(avg_exit_price)s, %(realized_pnl)s, %(commission)s, %(trailing_stop_id)s, %(opened_at)s, %(closed_at)s, %(created_at)s, %(updated_at)s) RETURNING position.id]
[parameters: {'position_key': 'NFLX_2026-02-18_1', 'symbol': 'NFLX', 'account_type': 'paper', 'trade_date': datetime.date(2026, 2, 18), 'sequence_number': 1, 'side': 'long', 'status': 'OPEN', 'total_entry_quantity': 0, 'total_exit_quantity': 0, 'avg_entry_price': None, 'avg_exit_price': None, 'realized_pnl': None, 'commission': None, 'trailing_stop_id': None, 'opened_at': datetime.datetime(2026, 2, 18, 23, 0, 14, 232469), 'closed_at': None, 'created_at': datetime.datetime(2026, 2, 18, 23, 0, 14, 263884), 'updated_at': datetime.datetime(2026, 2, 18, 23, 0, 14, 263893)}]
(Background on this error at: https://sqlalche.me/e/20/gkpj) |
| 02-18 23:00:14 |
WARN
|
trailing_stop |
|
position_service |
🔁 Position key collision for NFLX_2026-02-18_1 (paper), retrying with next sequence: (psycopg2.errors.UniqueViolation) duplicate key value violates unique constraint "ix_position_position_key"
DETAIL: Key (position_key)=(NFLX_2026-02-18_1) already exists.
[SQL: INSERT INTO position (position_key, symbol, account_type, trade_date, sequence_number, side, status, total_entry_quantity, total_exit_quantity, avg_entry_price, avg_exit_price, realized_pnl, commission, trailing_stop_id, opened_at, closed_at, created_at, updated_at) VALUES (%(position_key)s, %(symbol)s, %(account_type)s, %(trade_date)s, %(sequence_number)s, %(side)s, %(status)s, %(total_entry_quantity)s, %(total_exit_quantity)s, %(avg_entry_price)s, %(avg_exit_price)s, %(realized_pnl)s, %(commission)s, %(trailing_stop_id)s, %(opened_at)s, %(closed_at)s, %(created_at)s, %(updated_at)s) RETURNING position.id]
[parameters: {'position_key': 'NFLX_2026-02-18_1', 'symbol': 'NFLX', 'account_type': 'paper', 'trade_date': datetime.date(2026, 2, 18), 'sequence_number': 1, 'side': 'long', 'status': 'OPEN', 'total_entry_quantity': 0, 'total_exit_quantity': 0, 'avg_entry_price': None, 'avg_exit_price': None, 'realized_pnl': None, 'commission': None, 'trailing_stop_id': None, 'opened_at': datetime.datetime(2026, 2, 18, 23, 0, 14, 232469), 'closed_at': None, 'created_at': datetime.datetime(2026, 2, 18, 23, 0, 14, 258079), 'updated_at': datetime.datetime(2026, 2, 18, 23, 0, 14, 258086)}]
(Background on this error at: https://sqlalche.me/e/20/gkpj) |
| 02-18 23:00:14 |
WARN
|
trailing_stop |
|
position_service |
🔁 Position key collision for NFLX_2026-02-18_1 (paper), retrying with next sequence: (psycopg2.errors.UniqueViolation) duplicate key value violates unique constraint "ix_position_position_key"
DETAIL: Key (position_key)=(NFLX_2026-02-18_1) already exists.
[SQL: INSERT INTO position (position_key, symbol, account_type, trade_date, sequence_number, side, status, total_entry_quantity, total_exit_quantity, avg_entry_price, avg_exit_price, realized_pnl, commission, trailing_stop_id, opened_at, closed_at, created_at, updated_at) VALUES (%(position_key)s, %(symbol)s, %(account_type)s, %(trade_date)s, %(sequence_number)s, %(side)s, %(status)s, %(total_entry_quantity)s, %(total_exit_quantity)s, %(avg_entry_price)s, %(avg_exit_price)s, %(realized_pnl)s, %(commission)s, %(trailing_stop_id)s, %(opened_at)s, %(closed_at)s, %(created_at)s, %(updated_at)s) RETURNING position.id]
[parameters: {'position_key': 'NFLX_2026-02-18_1', 'symbol': 'NFLX', 'account_type': 'paper', 'trade_date': datetime.date(2026, 2, 18), 'sequence_number': 1, 'side': 'long', 'status': 'OPEN', 'total_entry_quantity': 0, 'total_exit_quantity': 0, 'avg_entry_price': None, 'avg_exit_price': None, 'realized_pnl': None, 'commission': None, 'trailing_stop_id': None, 'opened_at': datetime.datetime(2026, 2, 18, 23, 0, 14, 232469), 'closed_at': None, 'created_at': datetime.datetime(2026, 2, 18, 23, 0, 14, 252317), 'updated_at': datetime.datetime(2026, 2, 18, 23, 0, 14, 252323)}]
(Background on this error at: https://sqlalche.me/e/20/gkpj) |
| 02-18 23:00:14 |
WARN
|
trailing_stop |
|
position_service |
🔁 Position key collision for NFLX_2026-02-18_1 (paper), retrying with next sequence: (psycopg2.errors.UniqueViolation) duplicate key value violates unique constraint "ix_position_position_key"
DETAIL: Key (position_key)=(NFLX_2026-02-18_1) already exists.
[SQL: INSERT INTO position (position_key, symbol, account_type, trade_date, sequence_number, side, status, total_entry_quantity, total_exit_quantity, avg_entry_price, avg_exit_price, realized_pnl, commission, trailing_stop_id, opened_at, closed_at, created_at, updated_at) VALUES (%(position_key)s, %(symbol)s, %(account_type)s, %(trade_date)s, %(sequence_number)s, %(side)s, %(status)s, %(total_entry_quantity)s, %(total_exit_quantity)s, %(avg_entry_price)s, %(avg_exit_price)s, %(realized_pnl)s, %(commission)s, %(trailing_stop_id)s, %(opened_at)s, %(closed_at)s, %(created_at)s, %(updated_at)s) RETURNING position.id]
[parameters: {'position_key': 'NFLX_2026-02-18_1', 'symbol': 'NFLX', 'account_type': 'paper', 'trade_date': datetime.date(2026, 2, 18), 'sequence_number': 1, 'side': 'long', 'status': 'OPEN', 'total_entry_quantity': 0, 'total_exit_quantity': 0, 'avg_entry_price': None, 'avg_exit_price': None, 'realized_pnl': None, 'commission': None, 'trailing_stop_id': None, 'opened_at': datetime.datetime(2026, 2, 18, 23, 0, 14, 232469), 'closed_at': None, 'created_at': datetime.datetime(2026, 2, 18, 23, 0, 14, 246297), 'updated_at': datetime.datetime(2026, 2, 18, 23, 0, 14, 246304)}]
(Background on this error at: https://sqlalche.me/e/20/gkpj) |
| 02-18 23:00:14 |
WARN
|
trailing_stop |
|
position_service |
🔁 Position key collision for NFLX_2026-02-18_1 (paper), retrying with next sequence: (psycopg2.errors.UniqueViolation) duplicate key value violates unique constraint "ix_position_position_key"
DETAIL: Key (position_key)=(NFLX_2026-02-18_1) already exists.
[SQL: INSERT INTO position (position_key, symbol, account_type, trade_date, sequence_number, side, status, total_entry_quantity, total_exit_quantity, avg_entry_price, avg_exit_price, realized_pnl, commission, trailing_stop_id, opened_at, closed_at, created_at, updated_at) VALUES (%(position_key)s, %(symbol)s, %(account_type)s, %(trade_date)s, %(sequence_number)s, %(side)s, %(status)s, %(total_entry_quantity)s, %(total_exit_quantity)s, %(avg_entry_price)s, %(avg_exit_price)s, %(realized_pnl)s, %(commission)s, %(trailing_stop_id)s, %(opened_at)s, %(closed_at)s, %(created_at)s, %(updated_at)s) RETURNING position.id]
[parameters: {'position_key': 'NFLX_2026-02-18_1', 'symbol': 'NFLX', 'account_type': 'paper', 'trade_date': datetime.date(2026, 2, 18), 'sequence_number': 1, 'side': 'long', 'status': 'OPEN', 'total_entry_quantity': 0, 'total_exit_quantity': 0, 'avg_entry_price': None, 'avg_exit_price': None, 'realized_pnl': None, 'commission': None, 'trailing_stop_id': None, 'opened_at': datetime.datetime(2026, 2, 18, 23, 0, 14, 232469), 'closed_at': None, 'created_at': datetime.datetime(2026, 2, 18, 23, 0, 14, 240298), 'updated_at': datetime.datetime(2026, 2, 18, 23, 0, 14, 240305)}]
(Background on this error at: https://sqlalche.me/e/20/gkpj) |
| 02-18 23:00:14 |
INFO
|
order |
|
order_tracker_service |
📋 Order 42277739866882048 FILLED (source=polling): NFLX entry qty=10 price=$77.93 pnl=$0.00 |
| 02-18 23:00:14 |
INFO
|
order |
|
tiger_client |
Order 42277739866882048 Tiger data: avgFillPrice=77.929, filledQuantity=10, totalQuantity=10, realizedPnl=0, commission=2.98, reason=, order_type=LMT, outside_rth=True |
| 02-18 23:00:14 |
INFO
|
order |
|
tiger_client |
Order 42277739866882048 available attributes: ['account', 'action', 'active', 'adjust_limit', 'algo_params', 'algo_strategy', 'attr_desc', 'attr_list', 'aux_price', 'avg_fill_price', 'can_modify', 'charges', 'combo_type', 'combo_type_desc', 'commission', 'contract', 'contract_legs', 'discount', 'expire_time', 'external_id', 'filled', 'filled_cash_amount', 'filled_scale', 'gst', 'id', 'is_open', 'is_partially_filled', 'latest_price', 'limit_price', 'liquidation', 'order_id', 'order_legs', 'order_time', 'order_type', 'orders', 'outside_rth', 'parent_id', 'percent_offset', 'quantity', 'quantity_scale', 'realized_pnl', 'reason', 'refund_cash_amount', 'remaining', 'secret_key', 'source', 'status', 'sub_ids', 'time_in_force', 'to_dict', 'total_cash_amount', 'trade_time', 'trading_session_type', 'trail_stop_price', 'trailing_percent', 'update_time', 'user_mark'] |
| 02-18 23:00:13 |
INFO
|
order |
|
tiger_client |
Retrieved 0 filled orders |
| 02-18 23:00:13 |
INFO
|
order |
|
tiger_client |
Getting filled orders from 2026-02-17 to 2026-02-18 |
| 02-18 23:00:13 |
INFO
|
order |
|
tiger_client |
Retrieved 0 filled orders |
| 02-18 23:00:13 |
INFO
|
order |
|
tiger_client |
Getting filled orders from 2026-02-17 to 2026-02-18 |
| 02-18 23:00:13 |
INFO
|
order |
|
tiger_client |
Retrieved 2 filled orders |
| 02-18 23:00:13 |
INFO
|
order |
|
tiger_client |
Getting filled orders from 2026-02-17 to 2026-02-18 |
| 02-18 23:00:13 |
INFO
|
order |
|
tiger_client |
Retrieved 2 filled orders |
| 02-18 23:00:13 |
INFO
|
order |
|
tiger_client |
Getting filled orders from 2026-02-17 to 2026-02-18 |
| 02-18 23:00:13 |
WARN
|
trailing_stop |
|
trailing_stop_scheduler |
⚠️ Qty mismatch for NFLX (real): DB trailing_stop=1.0, Tiger=4 |
| 02-18 23:00:13 |
INFO
|
sync |
|
trailing_stop_engine |
📊 Syncing avg cost for NFLX: 77.93 -> 78.23 |
| 02-18 23:00:13 |
INFO
|
position |
|
trailing_stop_engine |
📊 Syncing quantity for NFLX: 1.0 -> 4 |
| 02-18 23:00:12 |
INFO
|
sync |
|
trailing_stop_engine |
📊 Syncing avg cost for NFLX: 77.94 -> 77.95 |
| 02-18 23:00:12 |
INFO
|
trailing_stop |
|
trailing_stop_scheduler |
🔄 Full sync: Processing 2 active trailing stop positions (API verification) |
| 02-18 23:00:12 |
INFO
|
position |
|
tiger_client |
Position: NFLX, Qty: 10, Cost: 78.227 |
| 02-18 23:00:12 |
INFO
|
position |
|
tiger_client |
Getting positions for symbol: all |
| 02-18 23:00:12 |
WARN
|
trailing_stop |
|
trailing_stop_scheduler |
⚠️ Qty mismatch for NFLX (real): DB trailing_stop=1.0, Tiger=4 |
| 02-18 23:00:12 |
INFO
|
sync |
|
trailing_stop_engine |
📊 Syncing avg cost for NFLX: 77.93 -> 78.23 |
| 02-18 23:00:12 |
INFO
|
position |
|
trailing_stop_engine |
📊 Syncing quantity for NFLX: 1.0 -> 4 |
| 02-18 23:00:12 |
INFO
|
sync |
|
trailing_stop_engine |
📊 Syncing avg cost for NFLX: 77.94 -> 77.95 |
| 02-18 23:00:12 |
INFO
|
trailing_stop |
|
trailing_stop_scheduler |
🔄 Full sync: Processing 2 active trailing stop positions (API verification) |
| 02-18 23:00:12 |
INFO
|
position |
|
tiger_client |
Position: NFLX, Qty: 10, Cost: 78.227 |
| 02-18 23:00:12 |
INFO
|
position |
|
tiger_client |
Position: NFLX, Qty: 4, Cost: 77.9465 |
| 02-18 23:00:12 |
INFO
|
position |
|
tiger_client |
Getting positions for symbol: all |
| 02-18 23:00:12 |
INFO
|
position |
|
tiger_client |
Getting positions for symbol: all |
| 02-18 23:00:11 |
INFO
|
position |
|
tiger_client |
Position: NFLX, Qty: 4, Cost: 77.9465 |
| 02-18 23:00:11 |
INFO
|
position |
|
tiger_client |
Getting positions for symbol: all |
| 02-18 22:59:49 |
INFO
|
position |
|
holdings_sync |
Holdings sync [paper]: 0 new, 1 updated, 0 removed, 1 total |
| 02-18 22:59:49 |
INFO
|
position |
|
tiger_client |
Position: NFLX, Qty: 10, Cost: 78.227 |
| 02-18 22:59:49 |
INFO
|
position |
|
tiger_client |
Getting positions for symbol: all |
| 02-18 22:59:48 |
INFO
|
position |
|
holdings_sync |
Holdings sync [real]: 0 new, 1 updated, 0 removed, 1 total |
| 02-18 22:59:48 |
INFO
|
position |
|
tiger_client |
Position: NFLX, Qty: 4, Cost: 77.9465 |
| 02-18 22:59:48 |
INFO
|
position |
|
tiger_client |
Getting positions for symbol: all |
| 02-18 22:59:46 |
INFO
|
position |
|
holdings_sync |
Holdings sync [paper]: 0 new, 1 updated, 0 removed, 1 total |
| 02-18 22:59:46 |
INFO
|
position |
|
tiger_client |
Position: NFLX, Qty: 10, Cost: 78.227 |
| 02-18 22:59:45 |
INFO
|
position |
|
tiger_client |
Getting positions for symbol: all |
| 02-18 22:59:45 |
INFO
|
position |
|
holdings_sync |
Holdings sync [real]: 0 new, 1 updated, 0 removed, 1 total |
| 02-18 22:59:45 |
INFO
|
position |
|
tiger_client |
Position: NFLX, Qty: 4, Cost: 77.9465 |
| 02-18 22:59:45 |
INFO
|
position |
|
tiger_client |
Getting positions for symbol: all |
| 02-18 22:59:36 |
WARN
|
websocket |
|
trailing_stop_scheduler |
🔄 Auto re-subscribed symbols with stale WebSocket data: ['NFLX'] |
| 02-18 22:59:36 |
WARN
|
websocket |
|
trailing_stop_scheduler |
🔄 Auto re-subscribed symbols with stale WebSocket data: ['NFLX'] |
| 02-18 22:59:11 |
ERROR
|
order |
|
order_tracker_service |
❌ Error in handle_fill_event for 42277739866882048: Failed to create Position for NFLX paper 2026-02-18 after 5 attempts |
| 02-18 22:59:11 |
WARN
|
trailing_stop |
|
position_service |
🔁 Position key collision for NFLX_2026-02-18_1 (paper), retrying with next sequence: (psycopg2.errors.UniqueViolation) duplicate key value violates unique constraint "ix_position_position_key"
DETAIL: Key (position_key)=(NFLX_2026-02-18_1) already exists.
[SQL: INSERT INTO position (position_key, symbol, account_type, trade_date, sequence_number, side, status, total_entry_quantity, total_exit_quantity, avg_entry_price, avg_exit_price, realized_pnl, commission, trailing_stop_id, opened_at, closed_at, created_at, updated_at) VALUES (%(position_key)s, %(symbol)s, %(account_type)s, %(trade_date)s, %(sequence_number)s, %(side)s, %(status)s, %(total_entry_quantity)s, %(total_exit_quantity)s, %(avg_entry_price)s, %(avg_exit_price)s, %(realized_pnl)s, %(commission)s, %(trailing_stop_id)s, %(opened_at)s, %(closed_at)s, %(created_at)s, %(updated_at)s) RETURNING position.id]
[parameters: {'position_key': 'NFLX_2026-02-18_1', 'symbol': 'NFLX', 'account_type': 'paper', 'trade_date': datetime.date(2026, 2, 18), 'sequence_number': 1, 'side': 'long', 'status': 'OPEN', 'total_entry_quantity': 0, 'total_exit_quantity': 0, 'avg_entry_price': None, 'avg_exit_price': None, 'realized_pnl': None, 'commission': None, 'trailing_stop_id': None, 'opened_at': datetime.datetime(2026, 2, 18, 22, 59, 11, 389947), 'closed_at': None, 'created_at': datetime.datetime(2026, 2, 18, 22, 59, 11, 462037), 'updated_at': datetime.datetime(2026, 2, 18, 22, 59, 11, 462043)}]
(Background on this error at: https://sqlalche.me/e/20/gkpj) |
| 02-18 22:59:11 |
WARN
|
trailing_stop |
|
position_service |
🔁 Position key collision for NFLX_2026-02-18_1 (paper), retrying with next sequence: (psycopg2.errors.UniqueViolation) duplicate key value violates unique constraint "ix_position_position_key"
DETAIL: Key (position_key)=(NFLX_2026-02-18_1) already exists.
[SQL: INSERT INTO position (position_key, symbol, account_type, trade_date, sequence_number, side, status, total_entry_quantity, total_exit_quantity, avg_entry_price, avg_exit_price, realized_pnl, commission, trailing_stop_id, opened_at, closed_at, created_at, updated_at) VALUES (%(position_key)s, %(symbol)s, %(account_type)s, %(trade_date)s, %(sequence_number)s, %(side)s, %(status)s, %(total_entry_quantity)s, %(total_exit_quantity)s, %(avg_entry_price)s, %(avg_exit_price)s, %(realized_pnl)s, %(commission)s, %(trailing_stop_id)s, %(opened_at)s, %(closed_at)s, %(created_at)s, %(updated_at)s) RETURNING position.id]
[parameters: {'position_key': 'NFLX_2026-02-18_1', 'symbol': 'NFLX', 'account_type': 'paper', 'trade_date': datetime.date(2026, 2, 18), 'sequence_number': 1, 'side': 'long', 'status': 'OPEN', 'total_entry_quantity': 0, 'total_exit_quantity': 0, 'avg_entry_price': None, 'avg_exit_price': None, 'realized_pnl': None, 'commission': None, 'trailing_stop_id': None, 'opened_at': datetime.datetime(2026, 2, 18, 22, 59, 11, 389947), 'closed_at': None, 'created_at': datetime.datetime(2026, 2, 18, 22, 59, 11, 455071), 'updated_at': datetime.datetime(2026, 2, 18, 22, 59, 11, 455078)}]
(Background on this error at: https://sqlalche.me/e/20/gkpj) |
| 02-18 22:59:11 |
WARN
|
trailing_stop |
|
position_service |
🔁 Position key collision for NFLX_2026-02-18_1 (paper), retrying with next sequence: (psycopg2.errors.UniqueViolation) duplicate key value violates unique constraint "ix_position_position_key"
DETAIL: Key (position_key)=(NFLX_2026-02-18_1) already exists.
[SQL: INSERT INTO position (position_key, symbol, account_type, trade_date, sequence_number, side, status, total_entry_quantity, total_exit_quantity, avg_entry_price, avg_exit_price, realized_pnl, commission, trailing_stop_id, opened_at, closed_at, created_at, updated_at) VALUES (%(position_key)s, %(symbol)s, %(account_type)s, %(trade_date)s, %(sequence_number)s, %(side)s, %(status)s, %(total_entry_quantity)s, %(total_exit_quantity)s, %(avg_entry_price)s, %(avg_exit_price)s, %(realized_pnl)s, %(commission)s, %(trailing_stop_id)s, %(opened_at)s, %(closed_at)s, %(created_at)s, %(updated_at)s) RETURNING position.id]
[parameters: {'position_key': 'NFLX_2026-02-18_1', 'symbol': 'NFLX', 'account_type': 'paper', 'trade_date': datetime.date(2026, 2, 18), 'sequence_number': 1, 'side': 'long', 'status': 'OPEN', 'total_entry_quantity': 0, 'total_exit_quantity': 0, 'avg_entry_price': None, 'avg_exit_price': None, 'realized_pnl': None, 'commission': None, 'trailing_stop_id': None, 'opened_at': datetime.datetime(2026, 2, 18, 22, 59, 11, 389947), 'closed_at': None, 'created_at': datetime.datetime(2026, 2, 18, 22, 59, 11, 441635), 'updated_at': datetime.datetime(2026, 2, 18, 22, 59, 11, 441643)}]
(Background on this error at: https://sqlalche.me/e/20/gkpj) |
| 02-18 22:59:11 |
WARN
|
trailing_stop |
|
position_service |
🔁 Position key collision for NFLX_2026-02-18_1 (paper), retrying with next sequence: (psycopg2.errors.UniqueViolation) duplicate key value violates unique constraint "ix_position_position_key"
DETAIL: Key (position_key)=(NFLX_2026-02-18_1) already exists.
[SQL: INSERT INTO position (position_key, symbol, account_type, trade_date, sequence_number, side, status, total_entry_quantity, total_exit_quantity, avg_entry_price, avg_exit_price, realized_pnl, commission, trailing_stop_id, opened_at, closed_at, created_at, updated_at) VALUES (%(position_key)s, %(symbol)s, %(account_type)s, %(trade_date)s, %(sequence_number)s, %(side)s, %(status)s, %(total_entry_quantity)s, %(total_exit_quantity)s, %(avg_entry_price)s, %(avg_exit_price)s, %(realized_pnl)s, %(commission)s, %(trailing_stop_id)s, %(opened_at)s, %(closed_at)s, %(created_at)s, %(updated_at)s) RETURNING position.id]
[parameters: {'position_key': 'NFLX_2026-02-18_1', 'symbol': 'NFLX', 'account_type': 'paper', 'trade_date': datetime.date(2026, 2, 18), 'sequence_number': 1, 'side': 'long', 'status': 'OPEN', 'total_entry_quantity': 0, 'total_exit_quantity': 0, 'avg_entry_price': None, 'avg_exit_price': None, 'realized_pnl': None, 'commission': None, 'trailing_stop_id': None, 'opened_at': datetime.datetime(2026, 2, 18, 22, 59, 11, 389947), 'closed_at': None, 'created_at': datetime.datetime(2026, 2, 18, 22, 59, 11, 423652), 'updated_at': datetime.datetime(2026, 2, 18, 22, 59, 11, 423662)}]
(Background on this error at: https://sqlalche.me/e/20/gkpj) |
| 02-18 22:59:11 |
WARN
|
trailing_stop |
|
position_service |
🔁 Position key collision for NFLX_2026-02-18_1 (paper), retrying with next sequence: (psycopg2.errors.UniqueViolation) duplicate key value violates unique constraint "ix_position_position_key"
DETAIL: Key (position_key)=(NFLX_2026-02-18_1) already exists.
[SQL: INSERT INTO position (position_key, symbol, account_type, trade_date, sequence_number, side, status, total_entry_quantity, total_exit_quantity, avg_entry_price, avg_exit_price, realized_pnl, commission, trailing_stop_id, opened_at, closed_at, created_at, updated_at) VALUES (%(position_key)s, %(symbol)s, %(account_type)s, %(trade_date)s, %(sequence_number)s, %(side)s, %(status)s, %(total_entry_quantity)s, %(total_exit_quantity)s, %(avg_entry_price)s, %(avg_exit_price)s, %(realized_pnl)s, %(commission)s, %(trailing_stop_id)s, %(opened_at)s, %(closed_at)s, %(created_at)s, %(updated_at)s) RETURNING position.id]
[parameters: {'position_key': 'NFLX_2026-02-18_1', 'symbol': 'NFLX', 'account_type': 'paper', 'trade_date': datetime.date(2026, 2, 18), 'sequence_number': 1, 'side': 'long', 'status': 'OPEN', 'total_entry_quantity': 0, 'total_exit_quantity': 0, 'avg_entry_price': None, 'avg_exit_price': None, 'realized_pnl': None, 'commission': None, 'trailing_stop_id': None, 'opened_at': datetime.datetime(2026, 2, 18, 22, 59, 11, 389947), 'closed_at': None, 'created_at': datetime.datetime(2026, 2, 18, 22, 59, 11, 403240), 'updated_at': datetime.datetime(2026, 2, 18, 22, 59, 11, 403249)}]
(Background on this error at: https://sqlalche.me/e/20/gkpj) |
| 02-18 22:59:11 |
INFO
|
order |
|
order_tracker_service |
📋 Order 42277739866882048 FILLED (source=polling): NFLX entry qty=10 price=$77.93 pnl=$0.00 |
| 02-18 22:59:11 |
INFO
|
order |
|
tiger_client |
Order 42277739866882048 Tiger data: avgFillPrice=77.929, filledQuantity=10, totalQuantity=10, realizedPnl=0, commission=2.98, reason=, order_type=LMT, outside_rth=True |
| 02-18 22:59:11 |
INFO
|
order |
|
tiger_client |
Order 42277739866882048 available attributes: ['account', 'action', 'active', 'adjust_limit', 'algo_params', 'algo_strategy', 'attr_desc', 'attr_list', 'aux_price', 'avg_fill_price', 'can_modify', 'charges', 'combo_type', 'combo_type_desc', 'commission', 'contract', 'contract_legs', 'discount', 'expire_time', 'external_id', 'filled', 'filled_cash_amount', 'filled_scale', 'gst', 'id', 'is_open', 'is_partially_filled', 'latest_price', 'limit_price', 'liquidation', 'order_id', 'order_legs', 'order_time', 'order_type', 'orders', 'outside_rth', 'parent_id', 'percent_offset', 'quantity', 'quantity_scale', 'realized_pnl', 'reason', 'refund_cash_amount', 'remaining', 'secret_key', 'source', 'status', 'sub_ids', 'time_in_force', 'to_dict', 'total_cash_amount', 'trade_time', 'trading_session_type', 'trail_stop_price', 'trailing_percent', 'update_time', 'user_mark'] |
| 02-18 22:59:10 |
ERROR
|
order |
|
order_tracker_service |
❌ Error in handle_fill_event for 42277739866882048: Failed to create Position for NFLX paper 2026-02-18 after 5 attempts |
| 02-18 22:59:10 |
WARN
|
trailing_stop |
|
position_service |
🔁 Position key collision for NFLX_2026-02-18_1 (paper), retrying with next sequence: (psycopg2.errors.UniqueViolation) duplicate key value violates unique constraint "ix_position_position_key"
DETAIL: Key (position_key)=(NFLX_2026-02-18_1) already exists.
[SQL: INSERT INTO position (position_key, symbol, account_type, trade_date, sequence_number, side, status, total_entry_quantity, total_exit_quantity, avg_entry_price, avg_exit_price, realized_pnl, commission, trailing_stop_id, opened_at, closed_at, created_at, updated_at) VALUES (%(position_key)s, %(symbol)s, %(account_type)s, %(trade_date)s, %(sequence_number)s, %(side)s, %(status)s, %(total_entry_quantity)s, %(total_exit_quantity)s, %(avg_entry_price)s, %(avg_exit_price)s, %(realized_pnl)s, %(commission)s, %(trailing_stop_id)s, %(opened_at)s, %(closed_at)s, %(created_at)s, %(updated_at)s) RETURNING position.id]
[parameters: {'position_key': 'NFLX_2026-02-18_1', 'symbol': 'NFLX', 'account_type': 'paper', 'trade_date': datetime.date(2026, 2, 18), 'sequence_number': 1, 'side': 'long', 'status': 'OPEN', 'total_entry_quantity': 0, 'total_exit_quantity': 0, 'avg_entry_price': None, 'avg_exit_price': None, 'realized_pnl': None, 'commission': None, 'trailing_stop_id': None, 'opened_at': datetime.datetime(2026, 2, 18, 22, 59, 10, 952300), 'closed_at': None, 'created_at': datetime.datetime(2026, 2, 18, 22, 59, 10, 984427), 'updated_at': datetime.datetime(2026, 2, 18, 22, 59, 10, 984432)}]
(Background on this error at: https://sqlalche.me/e/20/gkpj) |
| 02-18 22:59:10 |
WARN
|
trailing_stop |
|
position_service |
🔁 Position key collision for NFLX_2026-02-18_1 (paper), retrying with next sequence: (psycopg2.errors.UniqueViolation) duplicate key value violates unique constraint "ix_position_position_key"
DETAIL: Key (position_key)=(NFLX_2026-02-18_1) already exists.
[SQL: INSERT INTO position (position_key, symbol, account_type, trade_date, sequence_number, side, status, total_entry_quantity, total_exit_quantity, avg_entry_price, avg_exit_price, realized_pnl, commission, trailing_stop_id, opened_at, closed_at, created_at, updated_at) VALUES (%(position_key)s, %(symbol)s, %(account_type)s, %(trade_date)s, %(sequence_number)s, %(side)s, %(status)s, %(total_entry_quantity)s, %(total_exit_quantity)s, %(avg_entry_price)s, %(avg_exit_price)s, %(realized_pnl)s, %(commission)s, %(trailing_stop_id)s, %(opened_at)s, %(closed_at)s, %(created_at)s, %(updated_at)s) RETURNING position.id]
[parameters: {'position_key': 'NFLX_2026-02-18_1', 'symbol': 'NFLX', 'account_type': 'paper', 'trade_date': datetime.date(2026, 2, 18), 'sequence_number': 1, 'side': 'long', 'status': 'OPEN', 'total_entry_quantity': 0, 'total_exit_quantity': 0, 'avg_entry_price': None, 'avg_exit_price': None, 'realized_pnl': None, 'commission': None, 'trailing_stop_id': None, 'opened_at': datetime.datetime(2026, 2, 18, 22, 59, 10, 952300), 'closed_at': None, 'created_at': datetime.datetime(2026, 2, 18, 22, 59, 10, 979184), 'updated_at': datetime.datetime(2026, 2, 18, 22, 59, 10, 979190)}]
(Background on this error at: https://sqlalche.me/e/20/gkpj) |
| 02-18 22:59:10 |
WARN
|
trailing_stop |
|
position_service |
🔁 Position key collision for NFLX_2026-02-18_1 (paper), retrying with next sequence: (psycopg2.errors.UniqueViolation) duplicate key value violates unique constraint "ix_position_position_key"
DETAIL: Key (position_key)=(NFLX_2026-02-18_1) already exists.
[SQL: INSERT INTO position (position_key, symbol, account_type, trade_date, sequence_number, side, status, total_entry_quantity, total_exit_quantity, avg_entry_price, avg_exit_price, realized_pnl, commission, trailing_stop_id, opened_at, closed_at, created_at, updated_at) VALUES (%(position_key)s, %(symbol)s, %(account_type)s, %(trade_date)s, %(sequence_number)s, %(side)s, %(status)s, %(total_entry_quantity)s, %(total_exit_quantity)s, %(avg_entry_price)s, %(avg_exit_price)s, %(realized_pnl)s, %(commission)s, %(trailing_stop_id)s, %(opened_at)s, %(closed_at)s, %(created_at)s, %(updated_at)s) RETURNING position.id]
[parameters: {'position_key': 'NFLX_2026-02-18_1', 'symbol': 'NFLX', 'account_type': 'paper', 'trade_date': datetime.date(2026, 2, 18), 'sequence_number': 1, 'side': 'long', 'status': 'OPEN', 'total_entry_quantity': 0, 'total_exit_quantity': 0, 'avg_entry_price': None, 'avg_exit_price': None, 'realized_pnl': None, 'commission': None, 'trailing_stop_id': None, 'opened_at': datetime.datetime(2026, 2, 18, 22, 59, 10, 952300), 'closed_at': None, 'created_at': datetime.datetime(2026, 2, 18, 22, 59, 10, 973560), 'updated_at': datetime.datetime(2026, 2, 18, 22, 59, 10, 973566)}]
(Background on this error at: https://sqlalche.me/e/20/gkpj) |
| 02-18 22:59:10 |
WARN
|
trailing_stop |
|
position_service |
🔁 Position key collision for NFLX_2026-02-18_1 (paper), retrying with next sequence: (psycopg2.errors.UniqueViolation) duplicate key value violates unique constraint "ix_position_position_key"
DETAIL: Key (position_key)=(NFLX_2026-02-18_1) already exists.
[SQL: INSERT INTO position (position_key, symbol, account_type, trade_date, sequence_number, side, status, total_entry_quantity, total_exit_quantity, avg_entry_price, avg_exit_price, realized_pnl, commission, trailing_stop_id, opened_at, closed_at, created_at, updated_at) VALUES (%(position_key)s, %(symbol)s, %(account_type)s, %(trade_date)s, %(sequence_number)s, %(side)s, %(status)s, %(total_entry_quantity)s, %(total_exit_quantity)s, %(avg_entry_price)s, %(avg_exit_price)s, %(realized_pnl)s, %(commission)s, %(trailing_stop_id)s, %(opened_at)s, %(closed_at)s, %(created_at)s, %(updated_at)s) RETURNING position.id]
[parameters: {'position_key': 'NFLX_2026-02-18_1', 'symbol': 'NFLX', 'account_type': 'paper', 'trade_date': datetime.date(2026, 2, 18), 'sequence_number': 1, 'side': 'long', 'status': 'OPEN', 'total_entry_quantity': 0, 'total_exit_quantity': 0, 'avg_entry_price': None, 'avg_exit_price': None, 'realized_pnl': None, 'commission': None, 'trailing_stop_id': None, 'opened_at': datetime.datetime(2026, 2, 18, 22, 59, 10, 952300), 'closed_at': None, 'created_at': datetime.datetime(2026, 2, 18, 22, 59, 10, 966932), 'updated_at': datetime.datetime(2026, 2, 18, 22, 59, 10, 966938)}]
(Background on this error at: https://sqlalche.me/e/20/gkpj) |