on_bars:
调用
for vt_symbol in self.vt_symbols:
current_pos = self.get_pos(vt_symbol)
print(f'vt_symbol:{vt_symbol},current_pos:{current_pos}')
# 可能存在无数据情况
if vt_symbol in bars:
bar = bars[vt_symbol]
if current_pos > 0:
**self.sell(vt_symbol, bar.close_price, current_pos)**
print(f'{bar.datetime},{vt_symbol},price:{bar.close_price},hands:{current_pos},sell')
elif current_pos == 0:
target_pos = self.targets[vt_symbol]
self.buy(vt_symbol,bar.close_price,target_pos)
self.targets[vt_symbol] = 0
self.put_event()
第一次on_bars调用sell卖出,第二次/第三次on_bars的pos还是没变。
vt_symbol:000001.SZSE,current_pos:0
vt_symbol:000002.SZSE,current_pos:248.0
2020-07-23 00:00:00+08:00,000002.SZSE,price:3.94,hands:248.0,sell
on_bars..........................
vt_symbol:000001.SZSE,current_pos:0
vt_symbol:000002.SZSE,current_pos:248.0
2020-07-24 00:00:00+08:00,000002.SZSE,price:3.81,hands:248.0,sell
on_bars..........................
vt_symbol:000001.SZSE,current_pos:0
vt_symbol:000002.SZSE,current_pos:248.0
2020-07-27 00:00:00+08:00,000002.SZSE,price:3.82,hands:248.0,sell