Expect accounts as tuple, don't start rt pnl on no live pp
							parent
							
								
									96c8908e9c
								
							
						
					
					
						commit
						cdf9f740f7
					
				| 
						 | 
					@ -269,7 +269,7 @@ class TradesRelay:
 | 
				
			||||||
    positions: dict[str, dict[str, BrokerdPosition]]
 | 
					    positions: dict[str, dict[str, BrokerdPosition]]
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    # allowed account names
 | 
					    # allowed account names
 | 
				
			||||||
    accounts: set[str]
 | 
					    accounts: tuple[str]
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    # count of connected ems clients for this ``brokerd``
 | 
					    # count of connected ems clients for this ``brokerd``
 | 
				
			||||||
    consumers: int = 0
 | 
					    consumers: int = 0
 | 
				
			||||||
| 
						 | 
					@ -449,7 +449,7 @@ async def open_brokerd_trades_dialogue(
 | 
				
			||||||
                relay = TradesRelay(
 | 
					                relay = TradesRelay(
 | 
				
			||||||
                    brokerd_dialogue=brokerd_trades_stream,
 | 
					                    brokerd_dialogue=brokerd_trades_stream,
 | 
				
			||||||
                    positions=pps,
 | 
					                    positions=pps,
 | 
				
			||||||
                    accounts=set(accounts),
 | 
					                    accounts=accounts,
 | 
				
			||||||
                    consumers=1,
 | 
					                    consumers=1,
 | 
				
			||||||
                )
 | 
					                )
 | 
				
			||||||
 | 
					
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -54,6 +54,7 @@ async def update_pnl_from_feed(
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    feed: Feed,
 | 
					    feed: Feed,
 | 
				
			||||||
    order_mode: OrderMode,  # noqa
 | 
					    order_mode: OrderMode,  # noqa
 | 
				
			||||||
 | 
					    tracker: PositionTracker,
 | 
				
			||||||
 | 
					
 | 
				
			||||||
) -> None:
 | 
					) -> None:
 | 
				
			||||||
    '''Real-time display the current pp's PnL in the appropriate label.
 | 
					    '''Real-time display the current pp's PnL in the appropriate label.
 | 
				
			||||||
| 
						 | 
					@ -76,7 +77,8 @@ async def update_pnl_from_feed(
 | 
				
			||||||
        types = ('bid', 'last', 'last', 'utrade')
 | 
					        types = ('bid', 'last', 'last', 'utrade')
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    else:
 | 
					    else:
 | 
				
			||||||
        raise RuntimeError('No pp?!?!')
 | 
					        log.info(f'No position (yet) for {tracker.alloc.account}@{key}')
 | 
				
			||||||
 | 
					        return
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    # real-time update pnl on the status pane
 | 
					    # real-time update pnl on the status pane
 | 
				
			||||||
    try:
 | 
					    try:
 | 
				
			||||||
| 
						 | 
					@ -343,6 +345,7 @@ class SettingsPane:
 | 
				
			||||||
                    update_pnl_from_feed,
 | 
					                    update_pnl_from_feed,
 | 
				
			||||||
                    feed,
 | 
					                    feed,
 | 
				
			||||||
                    mode,
 | 
					                    mode,
 | 
				
			||||||
 | 
					                    tracker,
 | 
				
			||||||
                )
 | 
					                )
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        # immediately display in status label
 | 
					        # immediately display in status label
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -620,8 +620,8 @@ async def open_order_mode(
 | 
				
			||||||
            # alloc?
 | 
					            # alloc?
 | 
				
			||||||
            pp_tracker.update_from_pp()
 | 
					            pp_tracker.update_from_pp()
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					            # on existing position, show pp tracking graphics
 | 
				
			||||||
            if pp_tracker.startup_pp.size != 0:
 | 
					            if pp_tracker.startup_pp.size != 0:
 | 
				
			||||||
                # if no position, don't show pp tracking graphics
 | 
					 | 
				
			||||||
                pp_tracker.show()
 | 
					                pp_tracker.show()
 | 
				
			||||||
                pp_tracker.hide_info()
 | 
					                pp_tracker.hide_info()
 | 
				
			||||||
 | 
					
 | 
				
			||||||
| 
						 | 
					@ -805,10 +805,11 @@ async def process_trades_and_update_ui(
 | 
				
			||||||
 | 
					
 | 
				
			||||||
                tracker = mode.trackers[msg['account']]
 | 
					                tracker = mode.trackers[msg['account']]
 | 
				
			||||||
                tracker.live_pp.update_from_msg(msg)
 | 
					                tracker.live_pp.update_from_msg(msg)
 | 
				
			||||||
                tracker.update_from_pp()
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
                # update order pane widgets
 | 
					                # update order pane widgets
 | 
				
			||||||
 | 
					                tracker.update_from_pp()
 | 
				
			||||||
                mode.pane.update_status_ui(tracker)
 | 
					                mode.pane.update_status_ui(tracker)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					                if tracker.live_pp.size:
 | 
				
			||||||
                    # display pnl
 | 
					                    # display pnl
 | 
				
			||||||
                    mode.pane.display_pnl(tracker)
 | 
					                    mode.pane.display_pnl(tracker)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
		Loading…
	
		Reference in New Issue