如下开仓代码中,我的代码意思是 当根K出现了开仓信号,我就取不高于(open,和信号价upper的二者之大)来开仓,考虑一个滑点。
被外行质疑limitr的用法,所以求老师明鉴!
if entertime and holding=0 and NUM<CS then {入场开仓}
begin
if buycond then
begin
开多:BUY(1,SS,limitr,max(open,upper)+1*mindiff);{这里用limitr,以及max(Open, ),是否造成偷价问题等、}
num:=num+1;
end
else if buyshortcond then
begin
开空:BUYSHORT(1,SS,limitr,max(open,lower)-1*mindiff);
num:=num+1;
end
end
追问一句,用出现信号的当根K 的OPEN作为开仓参考价格,不会有问题吗?如果用下一根k 的open呢?
下一根k线的open,比如说用nextopen,在测评里面当然能体现出来的,但是在实际交易里面就是按照当前的价格下单了
开多:BUY(1,SS,limitr,max(open,upper)+1*mindiff);{这里用limitr,以及max(Open, ),是否造成偷价问题等、}
不知道upper如何定义,如果是high就没有偷价
开空:BUYSHORT(1,SS,limitr,max(open,lower)-1*mindiff);
这句必然偷价,不用管lower如何定义。