
等级: 专业版
- 注册:
- 2022-1-11
- 曾用名:
|
如题,策略,顺序执行ini文件读写,但是发现经常出现漏写、漏读(图表、后台、股票池均频繁出现)。下面为实盘执行的语句:mkk:=GETINIFILE('D:\F60BV.INI',STKNAME,'mKKK');mkd:=GETINIFILE('D:\F60BV.INI',STKNAME,'mKKD');
PK:(NOT(ISLASTBAR)||mkk=0)&&kk0,NODRAW;
KD:PK,NODRAW;
PD:(NOT(ISLASTBAR)||mKD=0)&&KD0,NODRAW;//&&NOT(FD)
KK:PD,NODRAW;
if KK then begin
buyhold:=tbuyholdingex(ac,平代码,1);
sellhold:=tsellholdingex(ac,开代码,1);
TSELL(KK&&holding>0,0,LMT,XL,平代码);
sell(KK&&holding>0,0,limitr,XL);
TBUYSHORT(KK&&holding=0&&sellhold=0,1,LMT,XL,开代码);
buyshort(KK&&holding=0,Lots,limitr,XL);
WRITEINIFILE('D:\F60BV.INI',STKNAME,'mKKK',1);
WRITEINIFILE('D:\F60BV.INI',STKNAME,'mKKD',0);
end
if (KD) then begin//SHORTEND||
buyhold:=tbuyholdingex(ac,开代码,1);
sellhold:=tsellholdingex(ac,平代码,1);
TSELLSHORT(KD&&holding<0,0,LMT,XH,平代码);
sellshort(KD&&holding<0,0,limitr,XH);
TBUY(KD&&holding=0&&buyhold=0,1,LMT,XH,开代码);
buy(KD&&holding=0,Lots,limitr,XH);
WRITEINIFILE('D:\F60BV.INI',STKNAME,'mKKK',0);
WRITEINIFILE('D:\F60BV.INI',STKNAME,'mKKD',1);
end
在图1中股票池显示执行了KD条件下的语句,但是未执行WRITEINIFILE('D:\F60BV.INI',STKNAME,'mKKK',0);
WRITEINIFILE('D:\F60BV.INI',STKNAME,'mKKD',1);.该结果见图2.而图二显示,KK语句下的 WRITEINIFILE('D:\F60BV.INI',STKNAME,'mKKK',1);
WRITEINIFILE('D:\F60BV.INI',STKNAME,'mKKD',0);已经执行。
补充内容 (2025-11-3 19:13):
请老师,告诉我原因,解决办法。
补充内容 (2025-11-3 19:14):
实际上,是没自执行 WRITEINIFILE('D:\F60BV.INI',STKNAME,'mKKD',1);
补充内容 (2025-11-3 19:15):
刚刚写错,都没执行。 |
-
图1
-
图2
|