############################################################################################################
portfolio=get_portfolio (context.s1, 0)
buy_today_quantity=portfolio.buy_today_quantity #今多仓
buy_quantity=portfolio.buy_quantity #多头总持仓
buy_old_qty=buy_quantity-buy_today_quantity #昨多头数量
sell_today_quantity=portfolio.sell_today_quantity #今空仓
sell_quantity=portfolio.sell_quantity#空头总持仓
sell_old_qty=sell_quantity-sell_today_quantity #昨空头数量
############################################################################################################
if s1: #开空
print((now,'s1 多总,昨多,空总,昨空',buy_quantity,buy_old_qty,sell_quantity,sell_old_qty,c))
context.st=0 #空头开仓时间0
context.last=-1 #方向空头
if buy_old_qty<=0: #没有昨天多头仓位
sid=sell_open(order_book_id=code, style="Market", volume = s_v) # 市价开空全部数量
print(('没有昨天多头仓,直接开空',sid))
else:
if s_v<=buy_old_qty: #小于昨天多头数量,直接平仓昨天多头
sid=buy_close(order_book_id=code,style="Market", volume = s_v)
print(('小于昨天多头数量,直接平仓昨天多头',sid))
else: #大于 昨天多头数量
sid1=buy_close(order_book_id=code,style="Market", volume = s_v) #平仓昨天多头
sid2=sell_open(order_book_id=code, style="Market", volume = (s_v-buy_old_qty)) #开仓剩余空头
print(('大于昨天多头数量,先平仓昨天多头,后开仓多头',sid1,sid2))