以文本方式查看主题 - 金字塔客服中心 - 专业程序化交易软件提供商 (http://weistock.com/bbs/index.asp) -- 高级功能研发区 (http://weistock.com/bbs/list.asp?boardid=5) ---- DLL中如何接收4个以上参数 (http://weistock.com/bbs/dispbbs.asp?boardid=5&id=188203) |
-- 作者:sacredf -- 发布时间:2021/5/10 12:00:41 -- DLL中如何接收4个以上参数 "WEISTOCK@MYFUN"(1,100,100,100,100,ncount) 请问,DLL中,像上面那样要输入4个以上参数,应该如何编写
|
-- 作者:无为剑 -- 发布时间:2021/5/10 17:16:17 -- CALCINFO 结构中 const int
m_nNumParam;
// 调用参数数量 const CALCPARAM*
m_pCalcParam;
// 调用参数数组 使用这个新结构 范例部分代码参考 //计算多个序列的均值,5个参数,参数1-4为待求多个序列,参数5用于举例说明数值参数的用法,实际在此例中无需该参数 /* 调用方法:
MA1:=MA(CLOSE,3);
MA2:=MA(CLOSE,6);
MA3:=MA(CLOSE,12);
MA4:=MA(CLOSE,24);
MYBBI: "STOCKFUNC@MYBBI"(MA1, MA2, MA3, MA4, 4); */ 上述代码都可以在范例上看到 |
-- 作者:sacredf -- 发布时间:2021/5/10 21:20:27 -- 我现在说的是常量,假设7个常量,如何入DLL? 以下方法是不行的: p1:=n1;p2:=n2;p3:=n3:p4:=n4;p5:=n5;p6:=n6;p7:=n7; MYBBI: "STOCKFUNC@MYBBI"(n1,n2,n3,n4,n5,n6,n7);
|
-- 作者:sacredf -- 发布时间:2021/5/10 21:35:40 -- 我这边已经找到方法测试通过,有需要看看吧。 1、金字塔中: data[barpos]:=1;data[barpos-1]:=2;data[barpos-2]:=3;data[barpos-3]:=4;data[barpos-4]:=5;data[barpos-5]:=6;data[barpos-6]:=7; MYBBI: "STOCKFUNC@MYBBI"(data); 2、DLL中: int n1 = int(pData->m_pfParam1[pData->m_nNumData - 1]); int n2 = int(pData->m_pfParam1[pData->m_nNumData - 2); int n3 = int(pData->m_pfParam1[pData->m_nNumData - 3]); int n4 = int(pData->m_pfParam1[pData->m_nNumData - 4]); int n5 = int(pData->m_pfParam1[pData->m_nNumData - 5]); int n6 = int(pData->m_pfParam1[pData->m_nNumData - 6]); int n7 = int(pData->m_pfParam1[pData->m_nNumData - 7]); [此贴子已经被作者于2021/5/10 21:36:41编辑过]
|