等级: 免费版
- 注册:
- 2023-9-29
- 曾用名:
|

楼主 |
发表于 2025-2-25 14:42
|
显示全部楼层
得到的数值仍旧是无效.
代码如下:
RUNMODE : 0; //指定逐K模式
VARIABLE : contract_array[5] = ('RB00', //螺纹1 //黑色+建材-----------
'HC00', //热卷2
'I00', //铁矿3
'J00', //焦炭4
'JM00' //焦煤5
);
VARIABLE: DX = 0; //内部数组
MBS := 800;
/////////////////////////////////////////////////////////
// 调试输出相关
/////////////////////////////////////////////////////////
DBG_PATH := 'D:\'; //调试输出文件路径
DBG_LOG_FILE := DBG_PATH + '\TestMain_debug.txt'; //调试输出文件名 普通调试相关
reldate := DATE+19000000;
current_date_str := NUMTOSTR(reldate,0);
current_time_str := NUMTOSTR(HOUR,0) & ':' & NUMTOSTR(MINUTE,0) & ':' & NUMTOSTR(SECOND,0);
k_stamp := '[' & current_date_str & ' ' & current_time_str & '] ';
/////////////////////////////////////////////////////////
// end of 调试输出相关
/////////////////////////////////////////////////////////
/////////////////////////////////////////////////////////
//方法 I 直接调用
//// #MARGIN_AMP指标内容如下:
//// A:=(C/REF(C,1)-1)*100;
//// B:=-(REF(C,1)/C-1)*100;
//// BZJ:=TACCOUNT(41); //#多头保证金率
//// T:=REF(C,1)<C;
//// TK:=IF(T,A,B);
//// BTK:=TK/BZJ;
//// DB:=BTK;
//// DBZ:SUM(DB,0);
//// CCD := DBZ
/////////////////////////////////////////////////////////
recent_bars_n := MBS;
IF ISLASTBAR AND BARPOS >= MBS THEN
BEGIN
//方法 II
//当前品种的指标值
CCD := STKINDIEX('','MARGIN_AMP.DBZ',0,18,0,recent_bars_n);
IF VALID(CCD)=0 THEN DEBUGFILE(DBG_LOG_FILE, k_stamp&STKLABEL& ' CCD:' & NUMTOSTR(CCD,0) & '无效',0);
ELSE DEBUGFILE(DBG_LOG_FILE, k_stamp&STKLABEL& ' CCD:' & NUMTOSTR(CCD,0) & '有效',0);
FOR i = 1 TO 5 DO //各合约
BEGIN
custom_amp := STKINDIEX(contract_array, 'MARGIN_AMP.DBZ', 0, 18, 0, recent_bars_n);
IF VALID(custom_amp)=0 THEN
BEGIN
DEBUGFILE(DBG_LOG_FILE, k_stamp& contract_array & ' custom_amp:%.2f 无效',custom_amp);
CONTINUE;
END
DEBUGFILE(DBG_LOG_FILE, k_stamp& contract_array & ' custom_amp:%.2f 有效',custom_amp);
//DEBUGFILE(DBG_LOG_FILE, 'i:' & NUMTOSTR(i,0) & ' ' & contract_array, 0);
END
END
补充内容 (2025-2-25 14:43):
清空日志,重新打印到了7110行 |
本帖子中包含更多资源
您需要 登录 才可以下载或查看,没有帐号?
x
|