@@ -365,7 +365,8 @@ def __init__(self, main_engine: MainEngine, event_engine: EventEngine):
365365 self .add_function ()
366366 self .register_event ()
367367
368- self .timer_count = 0 # for counting the timer.
368+ self .order_update_interval = 0 # for counting the timer.
369+ self .position_update_interval = 0
369370
370371 def add_function (self ) -> None :
371372 """Add query function to main engine."""
@@ -434,17 +435,21 @@ def process_timer(self, event: Event) -> None:
434435 """
435436 update the orders, positions by timer, for we may be disconnected from server update push.
436437 """
437- if self .timer_count >= SETTINGS .get ('order_update_timer' , 120 ):
438- self .timer_count = 0
438+
439+ self .order_update_interval += 1
440+ self .position_update_interval += 1
441+
442+ if self .order_update_interval >= SETTINGS .get ('order_update_interval' , 120 ):
443+ self .order_update_interval = 0
439444 orders = self .get_all_active_orders ()
440445 for order in orders :
441446 if order .datetime and (datetime .now (order .datetime .tzinfo ) - order .datetime ).seconds > SETTINGS .get ('order_update_timer' , 120 ):
442447 req = order .create_query_request ()
443448 self .main_engine .query_order (req , order .gateway_name )
444449
450+ if self .position_update_interval >= SETTINGS .get ('position_update_interval' , 120 ):
445451 self .main_engine .query_position ()
446- else :
447- self .timer_count += 1
452+ self .position_update_interval = 0
448453
449454 def get_tick (self , vt_symbol : str ) -> Optional [TickData ]:
450455 """
0 commit comments