等级: 专业版
- 注册:
- 2022-1-11
- 曾用名:
|
我想实现的功能:每次轮询到执行开仓命令前,先检查一下目前持仓品种中浮亏品种的数量,先要统计出浮亏品种的数量。我在序列模式下用下面的代码,debugfile出来的结果不准确。请帮忙修改,或者告知如何实现我需要的功能?
//每次轮询前先统计现有持仓盈利小于0的品种
chicangnum:=THOLDCOUNT(''); //取得当前活动账户的总持仓品种数量
TEMP_STR:='';//保存品种代码集合
J:=0;
//循环取得持仓
FOR I = 1 TO chicangnum do
BEGIN
//获取第I个序号的账户持仓品种代码
HLABEL:= THOLDINDEXLABEL(I,'');
//判断当前代码集合中是否已经存在,不存在则进行统计。存在则不进入统计
if STRFIND( TEMP_STR, ','&HLABEL,1 )=0 then begin
TEMP_STR:=STRCAT( TEMP_STR, ','&HLABEL ); //将不在代码集合中的品种添加到代码集合中。
//计算该品种盈亏
if TBUYHOLDINGEX('',HLABEL,1)>0 and (C-TAVGENTERPRICEEX2('',HLABEL,0))<0 then begin
J:=J+1;
//DEBUGFILE('E:\FEIDAOTEST.TXT',stklabel+'多单盈利幅度:%.3f',(C-TAVGENTERPRICEEX2('',HLABEL,0))/TAVGENTERPRICEEX2('',HLABEL,0)*100);
END
if TSELLHOLDINGEX('',HLABEL,1)>0 and (TAVGENTERPRICEEX2('',HLABEL,1)-C)<0 then begin
J:=J+1;
END
END
END
lossnum:=J;
DEBUGFILE('E:\FEIDAOTEST.TXT',stklabel+'没利润保护品种数量:%.0f',lossnum);
|
|