C++如何獲取更多的歷史數(shù)據(jù)和歷史指標(biāo)數(shù)據(jù)
作者:金字塔 來源:cxh99.com 發(fā)布時間:2017年05月16日
- 咨詢內(nèi)容:
如下代碼,我需要獲取15分鐘K線的數(shù)據(jù)和MACD,SAR指標(biāo)數(shù)據(jù),但最多只能獲取到14個,請問有什么辦法能獲取更多的嗎?
STKINDIEX_EXTFUN_ST stFormulaData = {0};
stFormulaData.m_nMarket = 'JZ';
strcpy(stFormulaData.m_szLabel,"IF06"); //調(diào)用浦發(fā)銀行數(shù)據(jù)
memset(stFormulaData.m_szIndiName, 0, 256);
//strcpy(stFormulaData.m_szIndiName,"MA.MA2(5,10,20,60)"); //調(diào)用MA指標(biāo)的MA2指標(biāo)線
strcpy(stFormulaData.m_szIndiName,"SAR.SARV"); //調(diào)用MA指標(biāo)的MA2指標(biāo)線
stFormulaData.m_nCoType = 0;
stFormulaData.m_nPeriod = 2;
//stFormulaData.m_nPower = 1;
stFormulaData.m_nDataNum = 1000; //調(diào)用最近1000周期數(shù)據(jù)
//通過擴(kuò)展函數(shù)調(diào)用
STKINDIEX_EXTFUN_DATA_RET * pSARData = (STKINDIEX_EXTFUN_DATA_RET*)g_pMainFormework->ExpandFunction(&stFormulaData,STKINDIEX_EXTFUN);
memset(stFormulaData.m_szIndiName, 0, 256);
strcpy(stFormulaData.m_szIndiName,"MACD.DEA"); //調(diào)用MA指標(biāo)的MA2指標(biāo)線
STKINDIEX_EXTFUN_DATA_RET * pMACDData = (STKINDIEX_EXTFUN_DATA_RET*)g_pMainFormework->ExpandFunction(&stFormulaData,STKINDIEX_EXTFUN);
PCALCINFO stData = {0};
stData.m_dataType = MIN15_DATA;//日線
//stData.m_bIsPow = 1; //是否復(fù)權(quán)
stData.m_wMarket = 'JZ';
strcpy(stData.m_szLabel,"IF06"); //讀取600000 浦發(fā)銀行數(shù)據(jù)
if(g_pMainFormework->GetDataInfo(&stData)==0 || pSARData->m_nDataCount <= 0 || pMACDData->m_nDataCount <= 0)
{
AfxMessageBox("調(diào)用失敗。");
return;
}
CString strMsg;
strMsg.Format("%d, %d, %d",stData.m_nNumData,pSARData->m_nDataCount,pMACDData->m_nDataCount);
AfxMessageBox(strMsg);
int nSize = pSARData->m_nDataCount;
if(nSize > pMACDData->m_nDataCount) nSize = pMACDData->m_nDataCount;
if(nSize > stData.m_nNumData) nSize = stData.m_nNumData;
CString strAllData;
for(int i=0; i<nSize; i++)
{
CString strOneData;
COleDateTime time = pSARData->m_pValues[i].m_timeDate;
strOneData.Format("%s,%f,%f,%f,%f,%f,%f,%f\n",time.Format("%Y/%m/%d %H:%M:%S"),stData.m_pMainData[i].m_fOpen, stData.m_pMainData[i].m_fHigh, stData.m_pMainData[i].m_fLow, stData.m_pMainData[i].m_fClose, stData.m_pMainData[i].m_fVolume, pSARData->m_pValues[i].m_dbValues, pMACDData->m_pValues[i].m_dbValues);
strAllData += strOneData;
}
CFile file;
file.Open("D:\\data.txt",CFile::modeCreate|CFile::modeReadWrite);
file.Write(strAllData,strAllData.GetLength());
file.Close();
AfxMessageBox("OK");
return;
- 金字塔客服:
打開圖表看下本地數(shù)據(jù)是否齊全。