请高手帮忙分析下,这个策略怎么实现比较好:
共有6个开仓条件, A,B,C(多头) D,E,F(空头)
空仓状态只在初始状态下存在。
【状态0】空仓
【状态1】多单持仓 忽略后续开多条件
【状态2】空挡持仓 忽略后续开空条件
从初始状态开始运行,如果先触发 多头条件:
初始空仓【状态0】
-----> A or B or C-----> 开多(开多后,在平仓前,忽略后续 A,B,C的开仓条件)【状态1】
------>D or E or F-----> 平多仓,同时开空(开空单后,在平仓前,忽略后续 D,E,F的开仓条件)【状态2】
----->A or B or C---->【状态1】.........循环.........
从初始状态开始运行,如果先触发 空头条件:
【状态0】------>D or E or F------->【状态2】------>A or B or C----->【状态1】---->D or E or
F---->【状态2】........循环........
开仓条件加上HOLDING=0就忽略了后续开多条件。
比如
if a or b or c then
begin
if holding<0 then sellshort(1,holding,limitr,c);
if holding=0 then buy(1,1,limitr,c);
end
感谢楼上高手答复,谢谢,谢谢。
接着问一下:
if a or b or c then
begin
if holding<0 then sellshort(1,holding,limitr,c) 这里是不是要加上一个开多单 buy(1,1,limitr,c)? 还是下面这句会在平空仓后自动判断持仓为0,就开了多单?;
if holding=0 then buy(1,1,limitr,c);
end
if d or e or f then
begin
if holding>0 then sell(1,holding,limitr,c);
if holding=0 then buyshort(1,1,limitr,c);
end
if a or b or c then begin
sellshort(holding<0,);
buy(holding=0,);
end