老师您好!
昨天遇到个不满足条件却发单成交了的事情,我的开空单条件:
IF( currenttime>=0.145810 and currenttime<0.150000 and (c>highest(h[1],5) and c<>h and c/o>1.01) and flagsk==0 and BarStatus==2 )
{
A_SendOrderEx(symb,Enum_sell,Enum_entry, 20 ,Q_AskPrice,Ids,symbols,symbols, A_AccountIndex(zh1));
flagsk = 1;
}
结果昨天氧化铝ao2409最高价3720,而前5日有4天的最高价都高于昨天的最高价3720,并不能满足c>highest(h[1],5)这个条件,不知为何能发单成交?是不是不能用c表达即时价格比如得用Q_askprice来判断?还是说(c>highest(h[1],5) and c<>h and c/o>1.01)不能用小括号?
你要证明是在这个图上真的是因为c>highest(h[1],5) 导致能开仓
谢谢王老师的回复!
我用这个结构表达式实盘有一两年了,一直都没出过错,昨天收盘时一看突然成交了,我也是大惊,一直找不到原因,所以才请教您们的。c>highest(h[1],5)这个表达式应该也比较简单纯粹,按理说不该有问题。我用同一个策略,然后倒入几十个品种的888主连,然后让symb=RelativeSymbol; 盘中即时价格直接用c(不是写的close,也不是q_askprice,也不是q_bidprice)会不会容易出错?或者判断语句把c改为q_askprice和q_bidprice有没有更靠谱?