运行这段代码,第一个if成立的条件下,第二个if有时候不运行是为什么啊
if min(v_long, v_short) > 0:
print('多头:', long, '空头:', short, '开仓')
# trade ['code', 'exchange', 'inserttime', 'timestamp', '买卖方向', '数量']
long_trade = pd.DataFrame([long, long_option['exchange'], tradingtime, tradingtime, 'Buy', v_long, float(long_price['askprice1'])])
short_trade = pd.DataFrame([short, short_option['exchange'], tradingtime, tradingtime, 'Sell', v_short,float(short_price['bidprice1'])])
trade = trade.append(long_trade.T, ignore_index=True)
trade = trade.append(short_trade.T, ignore_index=True)
if long + ' + ' + short in list(position.keys()):
position[long + ' + ' + short].loc[0, 1] = position[long + ' + ' + short].loc[0, 1] + v_long
position[long + ' + ' + short].loc[1, 1] = position[long + ' + ' + short].loc[1, 1] - v_short
position[long + ' + ' + short].loc[0, 2].append(v_long)
position[long + ' + ' + short].loc[1, 2].append(v_short)
else:
long_position = v_long
short_position = v_short*(-1)
l_v = [v_long, ]
s_v = [v_short, ]
position[long + ' + ' + short] = pd.DataFrame([long, long_position, l_v]).T.append(pd.DataFrame([short, short_position, s_v]).T, ignore_index=True)
要确认代码是否执行到那里去了,而不是中途异常结束。可以添加几处打印关键值看看运行是否符合预期。
能不能编辑一下,把左边那一溜空格去了呢。