以文本方式查看主题

-  金字塔客服中心 - 专业程序化交易软件提供商  (http://222.73.7.161/bbs/index.asp)
--  金字塔软件问题提交  (http://222.73.7.161/bbs/list.asp?boardid=2)
----  模块化编程 函数 CALLMYMATH 未定义  (http://222.73.7.161/bbs/dispbbs.asp?boardid=2&id=172004)

--  作者:maomao8643
--  发布时间:2019/9/11 0:14:01
--  模块化编程 函数 CALLMYMATH 未定义

运用模块化编程时报错如下:

  


图片点击可在新窗口打开查看此主题相关图片如下:callmymath.png
图片点击可在新窗口打开查看

 

主程序中的调用语句如下:
ATRD:#MyATR2.MyATR(6)#;

 

把模块MyATR2放到相同的目录、指标目录等地方都报这个错。请问要如何解决?


--  作者:banzhuan
--  发布时间:2019/9/11 9:14:27
--  
是用下图的方式无法引用吗? callmymath 是怎么定义的呢 ?

图片点击可在新窗口打开查看此主题相关图片如下:temp.png
图片点击可在新窗口打开查看

--  作者:maomao8643
--  发布时间:2019/9/11 9:41:08
--  

ATRD:#MyATR2.MyATR(6)#;

 

就这句引用。

 


--  作者:maomao8643
--  发布时间:2019/9/11 9:51:08
--  
callmymath是啥东东?我在模块中没有定义过这个啊,引用也没有用到这个啊。
--  作者:banzhuan
--  发布时间:2019/9/11 10:08:07
--  
就是您一楼截图的策略编译时的报错信息啊。或者你直接贴下 MyATR2.MyATR(6) 是如何定义的,工作人员本地引用试试
--  作者:maomao8643
--  发布时间:2019/9/11 10:36:26
--  

图片点击可在新窗口打开查看此主题相关图片如下:myatr2.png
图片点击可在新窗口打开查看

--  作者:banzhuan
--  发布时间:2019/9/11 10:52:16
--  
麻烦把代码直接复制上传一下吧
--  作者:maomao8643
--  发布时间:2019/9/11 10:58:48
--  
INPUT:ZQ(6,0,19,1);
MyATRt:0;
if ZQ=6 then begin
  if strremove(STKLABEL,strlen(stklabel)-2,2)=\'AG\' then MyATRt:=41;
  if strremove(STKLABEL,strlen(stklabel)-2,2)=\'AL\' then MyATRt:=105;
  if strremove(STKLABEL,strlen(stklabel)-2,2)=\'AP\' then MyATRt:=195;
  if strremove(STKLABEL,strlen(stklabel)-2,2)=\'I\' then MyATRt:=16;
  if strremove(STKLABEL,strlen(stklabel)-2,2)=\'J\' then MyATRt:=52;
end
MyATR:MyATRt;

--  作者:banzhuan
--  发布时间:2019/9/11 11:09:53
--  
本地核实了下,可以正常输出啊,比如AG就输出了41,AP就输出195; 您重新建个新公式名试试呢

图片点击可在新窗口打开查看此主题相关图片如下:temp.png
图片点击可在新窗口打开查看

--  作者:maomao8643
--  发布时间:2019/9/11 11:54:27
--  
抱歉,找到错了。是上一句漏了分号,因为中间有好多注释并且报错没在那行就有点晕了一时没看出来。谢谢了