2.CALCPARAM结构用于带入参数信息和实际数据,m_pCalcParam数组大小为m_nNumParam,数据有效范围为 0 至 m_nNumParam-1.
3.按参数的顺序,m_pCalcParam[0]为第一个参数的数据,m_pCalcParam[1]为第二个参数的数据...,为了保持兼容,原m_nParam1Start、m_pfParam1等5个属性依然有赋值。
4.取用m_pCalcParam[i].m_pfParam,数组大小为m_nNumData,数据有效范围为m_pCalcParam[i].m_nParamStart 至 m_nNumData-1. 若m_pCalcParam[i].m_nParamStart<0, 则此数组中无有效数据。
这里有几个不明白的:
以MYBBI: "STOCKFUNC@MYBBI"(MA1, MA2, MA3, MA4, 4)为例
m_nNumParam代表的是传入参数的个数?这里等于5,是吗?
m_pCalcParam[0]代表的MA1.
m_pCalcParam[0].m_nNumData代表的是m_pCalcParam[0]数组的大小,是否是当前K线的数目,例如现在共500根K线,m_nNumData就是500,m_nParamStart=0。
如果要取上根K线的m_pCalcParam[0],就是m_pCalcParam[0][m_nNumData-2],是这个意思吗?
示例中
for( int i = nFirst; i < pData->m_nNumData; i++ )
{
pData->m_pResultBuf[i] =
(pValue1[i] + pValue2[i] + pValue3[i] + pValue4[i])/nNum;
}
这里表示从第一根K线(或者说m_nParamStart )计算到最后一根K线(或者说m_nNumData),可以这样理解吗?
这是序列模式的计算方法,其实如果你有不明白看不懂的地方,你自己通过日志记录的方式,将有疑惑的地方输出来自己分析一下就能知道的