
等级: 新手上路
- 注册:
- 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
|
|