浏览代码

last minute coding

laxaurus 9 年之前
父节点
当前提交
e52b9fed59
共有 2 个文件被更改,包括 9 次插入4 次删除
  1. 2 2
      src/rethink/portfolio_item.py
  2. 7 2
      src/rethink/temp_pm.py

+ 2 - 2
src/rethink/portfolio_item.py

@@ -235,7 +235,7 @@ class Portfolio(AbstractTableModel):
         '''
             update the gtable contract_key to row number index
         '''
-        self.update_ckey_row_index(contract_key)
+        self.increment_ckey_row_index(contract_key)
         
                 
     def is_oc_in_portfolio(self, oc_id):
@@ -340,7 +340,7 @@ class Portfolio(AbstractTableModel):
                   ('pos_delta', 'P. Delta', 'number'), ('pos_theta', 'P. Theta', 'number'), ('pos_gamma', 'P. Gamma', 'number'), 
                   ('unreal_pl', 'Unreal P/L', 'number'), ('percent_gain_loss', '% gain/loss', 'number')  
                   ]  
-    def update_ckey_row_index(self, contract_key):
+    def increment_ckey_row_index(self, contract_key):
         row_id = self.port['g_table']['row_index']
         self.port['g_table']['ckey_to_row_index'][contract_key]['row_id'] = row_id
         self.port['g_table']['row_to_ckey_index'][row_id] = contract_key

+ 7 - 2
src/rethink/temp_pm.py

@@ -178,11 +178,15 @@ class PortfolioMonitor(AbstractGatewayListener):
             else:
                 logging.info('PortfolioMonitor:process_position. Adding a new non-option position into the portfolio [%s]' % port_item.dump())
                 #port['port_items'][contract_key] = port_item
-                port.set_portfolio_port_item(contract_key, port_item)
+                #port.set_portfolio_port_item(contract_key, port_item)
                 
             #self.dump_portfolio(account)    
             port.dump_portfolio()
             
+            
+            
+            
+            
     
     #         EVENT_OPTION_UPDATED = 'oc_option_updated'
     #         EVENT_UNDERLYING_ADDED = 'oc_underlying_added
@@ -243,7 +247,8 @@ class PortfolioMonitor(AbstractGatewayListener):
                             self.portfolios[acct].calculate_item_pl(contract_key)
                         
                             
-                        
+                            self.portfolios[acct].fire_table_rows_updated(self.portfolios[acct].ckey_to_row(contract_key))
+                            
                     if results:
                         #logging.info('PortfolioMonitor:tds_event_tick_updated ....before map')
                         map(update_portfolio_fields, list(results.iteritems()))