| 

 等级: 新手上路 
注册: 2022-6-29曾用名:  | 
 
| 本段后台程序,用于实现当60分钟跌破JZT指标线后,自动买入10万元股票。 实际运行中,一大半触发点可以自动下单买入,一小半触发点没有任何反应,检查交易日志中没有任何记录,检查ini文件中已正常写入,检查各变量均正常。
 
 麻烦指点一下,是何原因?
 
 下单金额:=10;
 止盈比例:=3;
 止损比例:=-3;
 VARIABLE:str(30):=0;VARIABLE:股票代码[30]:=0;VARIABLE:状态[30]:=0;VARIABLE:买价目标[30]:=0;VARIABLE:止盈目标[30]:=0;VARIABLE:止损目标[30]:=0;VARIABLE:持有日数[30]:=0;VARIABLE:原有仓位[30]:=0;
 GLOBALVARIABLE:下单时间:=0;GLOBALVARIABLE:告警时间:=0;
 
 MAXN:=25;
 股票代码[1]:='SZ300033';
 ……
 
 下单金额:=100000;
 现在时间:=CURRENTTIME();
 现在日期:=CURRENTDATE();
 IF ISLASTBAR()=1 THEN BEGIN
 FOR n=1 TO MAXN DO BEGIN
 状态[n]:=GETINIFILE('D:\JZT.INI',NUMTOSTR(n,0),'状态');
 买价目标[n]:=STKINDIEX(股票代码[n],'JZT指标.R',0,5,0,50);
 最低价:=STKINDIEX(股票代码[n],'个股盘口.最低价',0,5,0,50);
 最高价:=STKINDIEX(股票代码[n],'个股盘口.最高价',0,5,0,50);
 买一价:=DYNAINFO2(20,股票代码[n]);
 卖一价:=DYNAINFO2(21,股票代码[n]);
 
 IF 状态[n]=1 AND 最低价<=买价目标[n] THEN BEGIN
 买量计算:=INTPART(下单金额*10000/买价目标[n]/100)*100;
 买量:=IF(买量计算>=200,买量计算,IF(STRFIND(股票代码[n],'SH688',1)=1,IF(下单金额*10000/买价目标[n]>=100,200,0),IF(下单金额*10000/买价目标[n]>=50,100,0)));
 IF 买量>0 AND 买一价>0 AND ((现在时间>93002 AND 现在时间<112958) OR (现在时间>130002 AND 现在时间<145958)) THEN BEGIN
 原有仓位[n]:=TBUYHOLDINGEX('xxxxxxxx',股票代码[n],2);
 TBUY(1,买量,LMT,买一价+0.01,0,'xxxxxxxx',股票代码[n]);
 WRITEINIFILE('D:\MOYU.INI',NUMTOSTR(n,0),'状态',1.5);
 WRITEINIFILE('D:\MOYU.INI',NUMTOSTR(n,0),'买价',买一价+0.01);
 WRITEINIFILE('D:\MOYU.INI',NUMTOSTR(n,0),'买量',买量);
 WRITEINIFILE('D:\MOYU.INI',NUMTOSTR(n,0),'买日',CURRENTDATE());
 WRITEINIFILE('D:\MOYU.INI',NUMTOSTR(n,0),'代码',STRTONUM(STRRIGHT(股票代码[n],6)));
 DEBUGFILE('D:\LOGFILE.TXT', FORMULANAME&':  开仓:'&股票代码[n]&' 最低价 '&NUMTOSTR(最低价,2)&' 买价目标 '&NUMTOSTR(买价目标[n],2)&' 买量 '&NUMTOSTR(买量,0)&' 买一价 '&NUMTOSTR(买一价,2),0);
 下单时间:=现在时间;
 END
 END
 END
 END
 
 
 | 
 |