Rss & SiteMap

金字塔客服中心 - 专业程序化交易软件提供商 http://www.weistock.com/bbs/

专业程序化软件提供商
共4 条记录, 每页显示 10 条, 页签: [1]
[浏览完整版]

标题:DLL中如何接收4个以上参数

1楼
sacredf 发表于:2021/5/10 12:00:41
"WEISTOCK@MYFUN"(1,100,100,100,100,ncount)
请问,DLL中,像上面那样要输入4个以上参数,应该如何编写
2楼
无为剑 发表于: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);
*/
上述代码都可以在范例上看到
3楼
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);
4楼
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编辑过]
共4 条记录, 每页显示 10 条, 页签: [1]


Powered By Dvbbs Version 8.3.0
Processed in .03516 s, 2 queries.