请问各位老师一个问题,比如说我写了一个自定义输入一个参数值没的程序,
然后通过判断当前持仓数来决定下多单空单还是平仓,但是在模拟的时候出现了一个问题,
就是后台程序似乎没有判断出持仓数,本来只下一手的单的模拟的时候却一直在下单下单
麻烦各位老师帮我看看代码哪里出现了问题
INPUT:N(120,50,250,10); //止损点数
INPUT:M(1,0,1,1); //M=1表示下一周期预测收阳,M=0表示下一周期预测收阴,
持仓数:=THOLDING;
DEBUGOUT('当前持仓数为%.2f',持仓数);
OO: CALLSTOCK('IC00',VTOPEN,7); //IC00当周开盘价
ED:= OO - CLOSE > N ; //当周开盘价与今周期收盘价之差是否大于止损点数(多头止损)
EF:= CLOSE - OO > N ; //今周期收盘价与当周开盘价之差是否大于止损点数(空头止损)
PD:= ED AND 持仓数=1; //多头止损条件
PK:= EF AND 持仓数=-1; //空头止损条件
if M=1 then
begin
if 持仓数=0 then begin
开多:TBUY(1,1,MKT); //开多信号
end
if 持仓数=-1 then begin
平空:TSELLSHORT(1,1,MKT); //平空信号
end
end
if M=-1 then
begin
if 持仓数=0 OR PK then begin
开空:TBUYSHORT(1,1,MKT); //开空信号
end
if 持仓数=1 OR PD then begin
平多:TSELL(1,1,MKT); //平多信号
end
end
它每隔一个周期就会下一次单,说明我 '持仓数=0 '这个语句有问题,请问是哪里出错了
发下单日志
我用的是一分钟周期
5 IC00500股指连续 2016/11/28 13:00:01 开多 1 6591.4 2 614842
6 IC00500股指连续 2016/11/28 13:01:06 开多 1 6589.0 0 614842
7 IC00500股指连续 2016/11/28 13:02:15 开多 1 6586.2 1 614842
8 IC00500股指连续 2016/11/28 13:03:02 开多 1 6584.0 0 614842
9 IC00500股指连续 2016/11/28 13:04:07 开多 1 6586.0 0 614842
10 IC00500股指连续 2016/11/28 13:05:00 开多 1 6584.8 2 614842
11 IC00500股指连续 2016/11/28 13:06:15 开多 1 6584.4 1 614842
12 IC00500股指连续 2016/11/28 13:07:09 开多 1 6584.8 1 614842
13 IC00500股指连续 2016/11/28 13:08:23 开多 1 6584.4 0 614842
14 IC00500股指连续 2016/11/28 13:09:00 开多 1 6583.8 0 614842
15 IC00500股指连续 2016/11/28 13:10:05 开多 1 6582.0 1 614842
16 IC00500股指连续 2016/11/28 13:11:07 开多 1 6583.8 0 614842
17 IC00500股指连续 2016/11/28 13:12:00 开多 1 6584.2 0 614842
18 IC00500股指连续 2016/11/28 13:13:06 开多 1 6583.6 1 614842
19 IC00500股指连续 2016/11/28 13:14:19 开多 1 6583.2 0 614842
20 IC00500股指连续 2016/11/28 13:15:01 开多 1 6586.4 0 614842
没有勾选,是这个的问题吗
不是这个的问题,这是一个下单日志,用来查找你问题的原因的
用户勾一下,然后记住提示给的地址,下次出问题时就发对应的日志上来
今天开盘的下单日志,麻烦老师帮我看看是怎么回事