以文本方式查看主题 - 金字塔客服中心 - 专业程序化交易软件提供商 (http://www.weistock.com/bbs/index.asp) -- 高级功能研发区 (http://www.weistock.com/bbs/list.asp?boardid=5) ---- Fmldevelope在公式系统侧的用法有没有例子? (http://www.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编辑过]
|