以文本方式查看主题

-  金字塔客服中心 - 专业程序化交易软件提供商  (http://weistock.com/bbs/index.asp)
--  高级功能研发区  (http://weistock.com/bbs/list.asp?boardid=5)
----  请教逐K模式的C接口中的编写  (http://weistock.com/bbs/dispbbs.asp?boardid=5&id=82068)

--  作者:赫斯德
--  发布时间:2015/8/5 15:37:33
--  请教逐K模式的C接口中的编写
以下是逐K线模式的处理方式的示范代码,请问,是否对于每个输出的API,都是把这段代码加在前面?
我现在要在公式中用逐K模式。


/*对于逐K线模式,的处理方式的示范代码
if(pData->m_pfParam1 && pData->m_pfParam2)
{
//对于逐K线模式,由于传递数据都是数值,因此需要一个数组用来保存传递过来的参数,用来计算.
//本例只是简单演示这个用法,如果用户在公式多次调用了接口,则会出现重复使用该变量导致计算出错
//因此要根据情况做几个这种全局静态变量用于保存各种数据。
static std::vector<double> arMaData;

//第一个周期初始化数据
if(pData->m_dwBarpos == 0)
{
arMaData.clear();
}

double dbData = *pData->m_pfParam1;

//防止使用仅刷最后K线的反复刷新问题
if(arMaData.size() >= pData->m_nNumData)
arMaData[arMaData.size()-1] = dbData; //仅仅更新最后一个数据
else
arMaData.push_back(dbData);

DWORD dwCyc = (DWORD) *pData->m_pfParam2;

if(pData->m_dwBarpos < dwCyc-1)
{
//对于未到计算周期,返回无效数据
return -1;
}

//先累加
float fAdd = 0;
for(DWORD i = pData->m_dwBarpos-(dwCyc-1); i <= pData->m_dwBarpos; i++)
{
fAdd += arMaData[i];
}

*pData->m_pResultBuf = fAdd / dwCyc;
}
return 1;*/

--  作者:王锋
--  发布时间:2015/8/5 16:11:08
--  
这段代码只是个范例? 您看不明白?
--  作者:赫斯德
--  发布时间:2015/8/5 16:21:48
--  哪些是必须要用的
请问,哪些是必须要使用的代码


--  作者:赫斯德
--  发布时间:2015/8/5 16:24:35
--  
贵公司要不提供一整套逐K模式的编写规则,是有点不明白
--  作者:a809011310
--  发布时间:2015/8/10 14:13:58
--  
已经很明白了.人家初中生都看懂了.