以文本方式查看主题

-  金字塔客服中心 - 专业程序化交易软件提供商  (http://weistock.com/bbs/index.asp)
--  高级功能研发区  (http://weistock.com/bbs/list.asp?boardid=5)
----  Fmldevelope在公式系统侧的用法有没有例子?  (http://weistock.com/bbs/dispbbs.asp?boardid=5&id=50661)

--  作者:dnt00193
--  发布时间:2013/4/4 16:26:51
--  Fmldevelope在公式系统侧的用法有没有例子?
 参数怎么传递啊? 公式系统里面是不是一直有一个CALCINFO结构的对象存在呀 ?  最好给个代码范例,谢谢!!

--  作者:王锋
--  发布时间:2013/4/4 18:24:06
--  

Fmldevelope就是范例,里面包含多个参数传递的算法了!

请仔细看看.H头文件的描述


--  作者:dnt00193
--  发布时间:2013/4/4 20:27:20
--  
 大哥,很感谢您今天放假还在这上面回答问题。
H头文件里真没写,我看得很仔细。我不会什么都没看就来上面噼里啪啦乱问一通的.
 H文件里是这么写的
“3.调用时在公式编辑器中书写"动态库名称@函数名称"(参数表)即可,例如下面函数可以写为"STOCKFUNC@MYMACLOSE"(5) ”


然后H文件里该函数声明是
__declspec(dllexport) int WINAPI MYMACLOSE(CALCINFO* pData);
这两个参数类型的声明明显不符合嘛!?

所以是不是公式系统里有个CALCINFO对象,比如名为abc,
那么调用时 MYMACLOSE(&abc); 这样就可以了嘛?

--  作者:王锋
--  发布时间:2013/4/4 21:20:39
--  
你先把范例编译一下,建议用VC6,然后放到指定目录,然后再按照教程上的范例,搞到公式系统里,然后再看看你应该就明白了
--  作者:dnt00193
--  发布时间:2013/4/4 22:08:17
--  
 我也希望做点贡献,让其他人也明白一下,是不是我们调用的时候只负责传递CALCINFO结构里的
 const float*  m_pfParam1;    //调用参数1 
 const float*  m_pfParam2;    //调用参数2
 const float*  m_pfParam3;    //调用参数3
 const float*  m_pfParam4;    //调用参数

这四个参数,其他参数由系统自动传递给被调用的函数?  是把这些参数指针给弄到被调用函数的栈里吧 ? 你们的技术能做到这样也真是太牛B了。一般高手都不爱写注释指南之类的 ,难怪,唉。

我说的对不 ?

--  作者:dnt00193
--  发布时间:2013/4/4 22:09:55
--  
 C++的特性里好像没有实现这种功能的东西吧?
--  作者:dnt00193
--  发布时间:2013/4/4 22:37:38
--  
 顶自己,求回答。
--  作者:dnt00193
--  发布时间:2013/4/5 9:08:24
--  
 我看明白一些了,但还有个问题,就是比如调用 "STOCKFUNC@MYMACLOSE"(CLOSE), 传递参数的时候,被调用函数怎么知道传递的是const float*        m_pfParam1的参数  还是 const CALCPARAM*    m_pCalcParam;            // 调用参数数组   的参数呢  ???

--  作者:王锋
--  发布时间:2013/4/5 9:32:13
--  

参考这个帖子 http://www.weistock.com/bbs/dispbbs.asp?boardid=5&Id=30931 

上面有可以调试的步骤,记得要下载 2.962版,因为只有这个版本才支持调试。

 

同过调试,你在PEL公式中再调用参数的时候,就能很容易的看到C++的结构是如何传递参数的了


--  作者:dnt00193
--  发布时间:2013/4/5 11:10:14
--  
 晕死....哭死...大哥你有空回帖没空多写几个字哦 ...
是不是STOCKFUNC@MYMACLOSE"(5) 调用的是一个重载的同名函数,参数表是union之类的,允许传递数组或常数,然后这个同名函数再创建或引用一个CALCINFO,并调用我们写的MYMACLOSE(CALCINFO* pData)啊?

害我刚刚又把C++的虚函数、重载、覆盖什么七七八八全都重看了一遍,5年没玩C++了啊。。。之前使用交易开拓者。。。
[此贴子已经被作者于2013-4-5 11:11:23编辑过]