Browse Source

修正stock_pool读取指针

daniel-ali 2 years ago
parent
commit
4fdf823b44
2 changed files with 5 additions and 5 deletions
  1. 2 2
      QMT/qmt_real_hlfx.py
  2. 3 3
      QMT/real_time.py

+ 2 - 2
QMT/qmt_real_hlfx.py

@@ -126,7 +126,7 @@ def hlfx(stock_list, data):
     engine_hlfx_pool = create_engine('mysql+pymysql://root:r6kEwqWU9!v3@localhost:3307/hlfx_pool?charset=utf8')
     results = []
     results.extend(pd.read_sql_query(
-        'select value from `%s` order by `index` desc limit 10' % fre, engine_hlfx_pool).iloc[-1, 0].split(","))
+        'select value from `%s` order by `index` desc limit 10' % fre, engine_hlfx_pool).iloc[0, 0].split(","))
     print(f'本次hlfx_pool有{len(results)}个个股')
 
     engine_stock = create_engine('mysql+pymysql://root:r6kEwqWU9!v3@localhost:3307/qmt_stocks_tech?charset=utf8')
@@ -328,7 +328,7 @@ if __name__ == '__main__':
     scheduler = BlockingScheduler()
     scheduler.add_job(func=bridge, trigger='cron', day_of_week='0-4', hour='09', minute='25',
                       timezone="Asia/Shanghai")
-    scheduler.add_job(func=bridge, trigger='cron', day_of_week='0-4', hour='13', minute='00',
+    scheduler.add_job(func=bridge, trigger='cron', day_of_week='0-4', hour='14', minute='43',
                       timezone="Asia/Shanghai")
     try:
         scheduler.start()

+ 3 - 3
QMT/real_time.py

@@ -183,7 +183,7 @@ def sell_trader(data):
     positions = xt_trader.query_stock_positions(acc)
     positions_dict = {positions[x].stock_code: positions[x].can_use_volume for x in range(0, len(positions))}
     print(f'今日可卖出个股总数:{len([value for value in positions_dict.values() if value != 0])}')
-    print(f'目前持仓总数为:{len(positions)}')
+    print(f'目前持仓总数为:{len([positions[x].stock_code for x in range(0, len(positions)) if positions[x].volume  != 0])}')
 
     for stock, can_use_volume in positions_dict.items():
         if stock in data and can_use_volume != 0:
@@ -217,7 +217,7 @@ def buy_trader(data):
     try:
         stock_pool = pd.read_sql_query(
             'select value from `%s` order by `index` desc limit 10' % '1d', engine_hlfx_pool)
-        stock_pool = stock_pool.iloc[-1, 0].split(",")
+        stock_pool = stock_pool.iloc[0, 0].split(",")
         stock_pool.sort()
         print('stock_pool', len(stock_pool))
     except BaseException:
@@ -303,7 +303,7 @@ def buy_trader(data):
                                                  current_price, 'MA5策略', 'MA5趋势向上')
                 print(order_id)
             else:
-                print(f'Cash只有:{cash} 或者 现有持仓{len(positions)} 超过了{max_pos}')
+                print(f'Cash只有:{cash} 或者 现有持仓{len(positions_dict)} 超过了{max_pos}')
     engine_hlfx_pool.dispose()
     print('一轮结束了,现在时间是:', dt.now())