以金字塔自带的“早盘突破系统”调试为例,在公式编辑窗口中按F5,对2月21日中证500股指2003的十分钟K线进行调试,依次执行“单步跟踪”后,变量中除了当前资产从0变为了1000000以外,其它变量均无数值(都是0),请问是什么原因?(从附图中可见,9:40就有了开仓信号,但到10:10,当前持仓,CYC 仍然是0)
代码是系统自带的,具体如下:
INPUT:NMIN(40,10,60,10); //设置参数
INPUT:NOFFSET(3,1,20,1); //设置参数
INPUT:LOTS(1,1,10000,1); //设置参数
CYC:=BARSLAST(DATE>REF(DATE,1))+1; //统计日内K线数
HIGHESTOF30MIN:=VALUEWHEN(TIME<=90000+NMIN*100,HHV(H,CYC)); //在从开盘到设定时间(默认参数开盘30分)内保存当天最高价
LOWESTOF30MIN:=VALUEWHEN(TIME<=90000+NMIN*100,LLV(L,CYC)); //在从开盘到设定时间(默认参数开盘30分)内保存当天最低价
IF HIGH >= HIGHESTOF30MIN + NOFFSET*MINDIFF AND HOLDING<=0 THEN //如果最高价突破设定时间内的前高加设定偏移并且目前没有多单,那么
BEGIN
MYPRICE: = HIGHESTOF30MIN + NOFFSET*MINDIFF; //预设进场价.既等于设定时间内的前高加设定偏移
IF OPEN > MYPRICE THEN //如果开盘价大于预设进场价,那么奋不顾身闯进去,(注:这是移植的,原设计并不一定完美,这时可能不是那么好成交的,我也不必多费唇舌了).
BEGIN
MYPRICE: = OPEN;
SELLSHORT(HOLDING<0,0,LIMITR,MYPRICE); //如果有空单先平
BUY(HOLDING=0,LOTS,LIMITR,MYPRICE); //如果没有多单则以开盘价开多LOTS手
END
END
IF LOW <= LOWESTOF30MIN - NOFFSET*MINDIFF AND HOLDING>=0 THEN //以下开空部分同上,只不过方向相反
BEGIN
MYPRICE: = LOWESTOF30MIN - NOFFSET*MINDIFF;
IF OPEN < MYPRICE THEN
BEGIN
MYPRICE: = OPEN;
SELL(HOLDING>0,0,LIMITR,MYPRICE);
BUYSHORT(HOLDING=0,LOTS,LIMITR,MYPRICE);
END
END
IF TIME >= 145900 THEN //收盘平仓
BEGIN
SELL(HOLDING>0,0,LIMITR,OPEN);
SELLSHORT(HOLDING<0,0,LIMITR,OPEN);
END
当前持仓:HOLDING,COLORGRAY,LINETHICK0;
当前资产:ASSET,NOAXIS,COLORGRAY;
你对自己家的软件也不熟悉。附图中调试窗口第4条记录(对应时间20/02/2110:10:00)显示为红色就代表执行到了10:10的K线。
至于说“你还需要按F8键,确认代码中的黄色箭头已经越过CYC这个变量,这样你才能知道CYC这个变量具体的计算数值是多少。”这我肯定已经试过的。
代码都发给你了,自己试试不就可以了,希望管理员能够真正找到答案,不要牵扯其它。