具体描述如下 10.35 -13.30 之间 只平仓不开仓,如果出现新的信号不做交易 直到13.30之后出现反向信号再开仓,
如果 10.35-13.30 有持仓 则保持不变
开仓条件加入 (time<103500 or time>133000)
反手需要手工编写反手语句比如:
if 开多条件 then begin
sellshort......;
buy....;
end
if 开空条件 then begin
sell......;
buyshort....;
end
不好意思 我还是不太懂 关键是10.35-13.30 之间信号不再开仓的问题 我怎么把这个信号屏蔽掉 还不影响10.35之前已经有 还没出平仓的信号 那方面信号 正常操作 麻烦你能不能根据这个策略演示下 谢谢
INPUT:X(1,1,100,1),NMIN(10,1,100,1),SS(1,1,10000,1);
X周期高点:=REF(HHV(H,X),1);//X是参数,自行调整
X周期低点:=REF(LLV(L,X),1);
手数:=SS;
开仓时间:=TIME>OPENTIME(1) AND TIME<CLOSETIME(0)-NMIN*100;
平仓时间:=TIME>=CLOSETIME(0)-NMIN*100;
{NMIN为参数,CLOSETIME(0)-NMIN*100表示 收盘时间-提前N分钟 N由NMIN控制}
//交易条件:
开多平空条件:=High>=X周期高点 and 开仓时间 and holding<=0;
开空平多条件:=Low<=X周期低点 and 开仓时间 and holding>=0;
//交易系统
收盘平多:sell(平仓时间 and holding>0, 0, thisclose);
收盘平空:sellshort(平仓时间 and holding<0,0,thisclose);
平空:sellshort(开多平空条件 and holding<0, 手数,limitr,X周期高点);
平多:sell(开空平多条件 and holding>0,手数,limitr,X周期低点);
开空:buyshort(开空平多条件 and holding=0,手数,limitr,X周期低点);
开多:buy(开多平空条件 and holding=0, 手数,limitr,X周期高点);
你把 开仓时间:=TIME>OPENTIME(1) AND TIME<CLOSETIME(0)-NMIN*100;这句话修改为
开仓时间:=time<103500 or time>133000;//这个在你开仓语句的条件中就能限制10:35-13:30 之间信号不再开仓
不好意思 现在难点不是时间限制 我可以加进去 限制不再开仓 难点在于怎么判断下午开仓 前边那个信号是 10.35之前的信号 还是之后的 之前的信号就反手 之后的信号就不做,
比如10.35 之前多仓 之后一直没有信号 到下午两点出现平多开空 这个时候就开空单 跟正常一样
意外情况是 10.35 之前是多仓 ,11.00 平仓应该开空 但是空单不开了 下午也不在开空 而是等多单出现
a:barlast(time=103500);
b:enterbars;
a就是1035到现在周期数,b是上次开仓的周期数
判断下这两个大小就能判断是之前开的还是之后开的