使用holding做限制。当holding=0时开仓
buy(c>o and holding=0,手数,....)
同一品种在同一账户下执行两个程序,程序一开仓后还未平仓,程序二发出平仓信号把程序一的仓位平掉了怎么办?
是不是平仓手数写的0?0是平掉该品种的所有持仓,把0改成holding。
程序一:
平空:SELLSHORT(开多平空条件 AND HOLDING<0,30,LIMITR,C);平多:SELL(开空平多条件 AND HOLDING>0,30,LIMITR,C);
开空:BUYSHORT(开空平多条件 AND HOLDING=0,30,LIMITR,C);
开多:BUY(开多平空条件 AND HOLDING=0,30,LIMITR,C);
程序二:
平空:SELLSHORT(PK,30,THISCLOSE) ; //平空信号
开多:BUY(KD AND HOLDING=0,30,THISCLOSE); //开多信号
平多:SELL(PD,30,THISCLOSE) ; //平多信号
开空:BUYSHORT(KK AND HOLDING=0,30,THISCLOSE); //开空信号
手数写的没有问题。
“程序二发出平仓信号把程序一的仓位平掉了”您怎么判断程序2把程序1的平掉的?
程序一发出开仓信号后开仓,随后没有平仓信号,程序二出现平仓信号后就把持仓平掉了。
两个程序之间不分哪个程序开的仓,平仓时有持仓就平了。