IF BBY THEN BEGIN
if holding < 0 then begin
平空:=SELLSHORT(1=1,0,market),orderqueue;
qs1:=0;
qs2:=1;
qs3:=1;
qs4:=1;
qs5:=1;
end
if HOLDING=0 then begin
开多:=BUY(((HOLDING = 0) AND T1 ), OrdVol ,market),orderqueue; //开多
HighPrice:=enterprice;
xb1:=ENTERPRICE;
X1:= OrdVol;
Y3s1:=0;
Y6s1:=0;
Y10s1:=0;
j10a1:=0;
//以下是发送QQ信息
if ISLASTBAR and Qf<> BARPOS then begin
Qf:=BARPOS;
extgbstringSet('QQSTR','开多:'+numtostr(close,2));
VQQM:=QQMSGX(1,qs1);
qs1:=1;
qs2:=0;
qs3:=0;
qs4:=0;
qs5:=0;
end
end
END
IF SSY THEN BEGIN
if holding>0 then begin
平多:=SELL(1=1,0,market),orderqueue;
qs1:=0;
qs2:=1;
qs3:=1;
qs4:=1;
qs5:=1;
end
if HOLDING=0 then begin
开空:=BUYSHORT(((HOLDING = 0) AND T1 ),OrdVol,market),orderqueue; //开空
LowPrice:=enterprice;
xb1:=ENTERPRICE;
X1:=-OrdVol;
Y3s1:=0;
Y6s1:=0;
Y10s1:=0;
j10a1:=0;
//以下是发送QQ信息
if ISLASTBAR and Qf<> BARPOS then begin
Qf:=BARPOS;
extgbstringSet('QQSTR','开空:'+numtostr(close,2));
VQQM:=QQMSGX(1,qs1);
qs1:=1;
qs2:=0;
qs3:=0;
qs4:=0;
qs5:=0;
end
end
END
{BBY、SSY是开多、开空的信号标志}
这段程序,在一般情况下没有问题,在同一周期“平仓反手”,就总是成交平仓、不成交开仓,已经多次发生(从12月19日开始实盘到现在发生几次,后来以为盯盘,手动跟进,但总不是办法,需要搞懂什么问题。)
运行状态:
1、逐K,最后1跟,5分钟
2、信号已经出现,并稳定,选择是走完K线模式
3、满仓操作(40万,开3手)
个人分析估计问题:
1、平仓、开仓信号出现,报单后资金没有返回,导致废单
2、开仓价位用 mkt不合适,因为行情快速下降或者上涨,价格不能导致成交
但是查看账户,没有报单记录,也没有撤单记录
请高手或者版主、金字塔客服帮助,分析问题所在,因为还不是很明白orderqueue指令的运行原理。
(后附相关截图。)
论坛上有相关帖子,总结无非2种方法:
1、用orderqueue指令
2、用后台函数 Tholding指令
但本人系统是标准版,无法用后台函数,所以只选择方案1.
http://www.weistock.com/bbs/dispbbs.asp?boardid=4&Id=7202
这里也讲到orderqueue用了以后的问题,不知道金字塔是否已经改善?或者升级有更好的方法??