[bug fix]
This commit is contained in:
parent
658faafd8b
commit
338db92c03
@ -31,3 +31,13 @@
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
# 创建mongodb 索引,提高性能
|
||||||
|
|
||||||
|
db.today_orders.createIndex({'account_id':1,'vt_symbol':1,'sys_orderid':1,'order_date':1,'holder_id':1},{'name':'accountid_vtsymbol_sysorderid_order_date_holder_id','unique':true})
|
||||||
|
db.history_orders.createIndex({'account_id':1,'vt_symbol':1,'sys_orderid':1,'order_date':1,'holder_id':1},{'name':'history_accountid_vtsymbol_sysorderid_order_date_holder_id'})
|
||||||
|
db.today_trades.createIndex({'account_id':1,'vt_symbol':1,'vt_tradeid':1,'trade_date':1,'holder_id':1},{'name':'accountid_vtSymbol_vt_tradeid_trade_date_holder_id','unique':true})
|
||||||
|
db.history_trades.createIndex({'account_id':1,'vt_symbol':1,'vt_tradeid':1,'trade_date':1,'holder_id':1},{'name':'accountid_vtSymbol_vt_tradeid_trade_date_holder_id'})
|
||||||
|
db.today_positions.createIndex({'account_id':1,'vt_symbol':1,'direction':1,'trade_date':1,'holder_id':1},{'name':'accountid_vtsymbol_direction_trade_date_holder_id'})
|
||||||
|
db.today_strategy_pos.createIndex({'account_id':1,'strategy_group':1,'strategy_name':1,'date':1},{'name':'accountid_strategy_group_strategy_name_date'})
|
||||||
|
db.strategy_snapshot.createIndex({'account_id':1,'strategy_group':1,'strategy':1,'guid':1},{'name':'accountid_strategy_name_guid'})
|
||||||
|
@ -117,7 +117,11 @@ class AlgoTemplate:
|
|||||||
offset: Offset = Offset.NONE
|
offset: Offset = Offset.NONE
|
||||||
):
|
):
|
||||||
""""""
|
""""""
|
||||||
msg = f"委托买入{vt_symbol}:{volume}@{price}"
|
if offset in [Offset.CLOSE]:
|
||||||
|
msg = f"委托买平{vt_symbol}:{volume}@{price}"
|
||||||
|
else:
|
||||||
|
msg = f"委托买入{vt_symbol}:{volume}@{price}"
|
||||||
|
|
||||||
self.write_log(msg)
|
self.write_log(msg)
|
||||||
|
|
||||||
return self.algo_engine.send_order(
|
return self.algo_engine.send_order(
|
||||||
@ -139,7 +143,11 @@ class AlgoTemplate:
|
|||||||
offset: Offset = Offset.NONE
|
offset: Offset = Offset.NONE
|
||||||
):
|
):
|
||||||
""""""
|
""""""
|
||||||
msg = f"委托卖出{vt_symbol}:{volume}@{price}"
|
if offset in [Offset.NONE, Offset.CLOSE]:
|
||||||
|
msg = f"委托卖出{vt_symbol}:{volume}@{price}"
|
||||||
|
else:
|
||||||
|
msg = f"委托开空{vt_symbol}:{volume}@{price}"
|
||||||
|
|
||||||
self.write_log(msg)
|
self.write_log(msg)
|
||||||
|
|
||||||
return self.algo_engine.send_order(
|
return self.algo_engine.send_order(
|
||||||
|
@ -234,7 +234,6 @@ class CtaEngine(BaseEngine):
|
|||||||
# 比对仓位,使用上述获取得持仓信息,不用重复获取
|
# 比对仓位,使用上述获取得持仓信息,不用重复获取
|
||||||
self.compare_pos(strategy_pos_list=copy(all_strategy_pos))
|
self.compare_pos(strategy_pos_list=copy(all_strategy_pos))
|
||||||
|
|
||||||
|
|
||||||
# 推送到事件
|
# 推送到事件
|
||||||
self.put_all_strategy_pos_event(all_strategy_pos)
|
self.put_all_strategy_pos_event(all_strategy_pos)
|
||||||
|
|
||||||
|
@ -804,8 +804,10 @@ class CtaProTemplate(CtaTemplate):
|
|||||||
self.display_grids()
|
self.display_grids()
|
||||||
|
|
||||||
if not self.backtesting:
|
if not self.backtesting:
|
||||||
pos_symbols.add(self.vt_symbol)
|
if self.vt_symbol not in pos_symbols:
|
||||||
pos_symbols.add(self.idx_symbol)
|
pos_symbols.add(self.vt_symbol)
|
||||||
|
if self.idx_symbol not in pos_symbols:
|
||||||
|
pos_symbols.add(self.idx_symbol)
|
||||||
# 如果持仓的合约,不在self.vt_symbol中,需要订阅
|
# 如果持仓的合约,不在self.vt_symbol中,需要订阅
|
||||||
for symbol in list(pos_symbols):
|
for symbol in list(pos_symbols):
|
||||||
self.write_log(f'新增订阅合约:{symbol}')
|
self.write_log(f'新增订阅合约:{symbol}')
|
||||||
@ -1807,7 +1809,7 @@ class CtaProFutureTemplate(CtaProTemplate):
|
|||||||
|
|
||||||
# 当前没有昨仓,采用锁仓处理
|
# 当前没有昨仓,采用锁仓处理
|
||||||
else:
|
else:
|
||||||
self.write_log(u'昨仓多单:{}不满足条件,创建对锁仓'.format(grid_pos.longYd))
|
self.write_log(u'昨仓多单:{}不满足条件,创建对锁仓'.format(grid_pos.long_yd))
|
||||||
dist_record = dict()
|
dist_record = dict()
|
||||||
dist_record['datetime'] = self.cur_datetime
|
dist_record['datetime'] = self.cur_datetime
|
||||||
dist_record['symbol'] = sell_symbol
|
dist_record['symbol'] = sell_symbol
|
||||||
@ -1907,7 +1909,7 @@ class CtaProFutureTemplate(CtaProTemplate):
|
|||||||
|
|
||||||
# 当前没有昨仓,采用锁仓处理
|
# 当前没有昨仓,采用锁仓处理
|
||||||
else:
|
else:
|
||||||
self.write_log(u'昨仓空单:{}不满足条件,建立对锁仓'.format(grid_pos.shortYd))
|
self.write_log(u'昨仓空单:{}不满足条件,建立对锁仓'.format(grid_pos.short_yd))
|
||||||
dist_record = dict()
|
dist_record = dict()
|
||||||
dist_record['datetime'] = self.cur_datetime
|
dist_record['datetime'] = self.cur_datetime
|
||||||
dist_record['symbol'] = cover_symbol
|
dist_record['symbol'] = cover_symbol
|
||||||
|
@ -1875,7 +1875,7 @@ class TickCombiner(object):
|
|||||||
ratio_tick.date = tick.date
|
ratio_tick.date = tick.date
|
||||||
ratio_tick.time = tick.time
|
ratio_tick.time = tick.time
|
||||||
|
|
||||||
# 比率tick
|
# 比率tick = (腿1 * 腿1 手数 / 腿2价格 * 腿2手数) 百分比
|
||||||
ratio_tick.ask_price_1 = 100 * self.last_leg1_tick.ask_price_1 * self.leg1_ratio \
|
ratio_tick.ask_price_1 = 100 * self.last_leg1_tick.ask_price_1 * self.leg1_ratio \
|
||||||
/ (self.last_leg2_tick.bid_price_1 * self.leg2_ratio) # noqa
|
/ (self.last_leg2_tick.bid_price_1 * self.leg2_ratio) # noqa
|
||||||
ratio_tick.ask_price_1 = round_to(
|
ratio_tick.ask_price_1 = round_to(
|
||||||
|
File diff suppressed because it is too large
Load Diff
Loading…
Reference in New Issue
Block a user