亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? stock.inl

?? 股票軟件
?? INL
字號:
#include <time.h>

///////////////////////////////////////////////////////////////////////
//  CDRData
_STOCK_INLINE int CDRData::GetSize() const
	{ return m_nSize; }
_STOCK_INLINE int CDRData::GetUpperBound() const
	{ return m_nSize-1; }
_STOCK_INLINE void CDRData::RemoveAll()
	{ SetSize(0); }
_STOCK_INLINE DRDATA CDRData::GetAt(int nIndex) const
	{ SP_ASSERT(nIndex >= 0 && nIndex < m_nSize);
		return m_pData[nIndex]; }
_STOCK_INLINE void CDRData::SetAt(int nIndex, DRDATA newElement)
	{ SP_ASSERT(nIndex >= 0 && nIndex < m_nSize);
		m_pData[nIndex] = newElement; }
_STOCK_INLINE DRDATA& CDRData::ElementAt(int nIndex)
	{ SP_ASSERT(nIndex >= 0 && nIndex < m_nSize);
		return m_pData[nIndex]; }
_STOCK_INLINE const DRDATA* CDRData::GetData() const
	{ return (const DRDATA*)m_pData; }
_STOCK_INLINE DRDATA* CDRData::GetData()
	{ return (DRDATA*)m_pData; }
_STOCK_INLINE int CDRData::Add(DRDATA newElement)
	{ int nIndex = m_nSize;
		SetAtGrow(nIndex, newElement);
		return nIndex; }
_STOCK_INLINE DRDATA CDRData::operator[](int nIndex) const
	{ return GetAt(nIndex); }
_STOCK_INLINE DRDATA& CDRData::operator[](int nIndex)
	{ return ElementAt(nIndex); }


///////////////////////////////////////////////////////////////////////
//  CKData
_STOCK_INLINE int CKData::GetUpperBound() const
	{ return m_nSize-1; }
_STOCK_INLINE void CKData::RemoveAll()
	{ SetSize(0); }
_STOCK_INLINE KDATA CKData::GetAt(int nIndex) const
	{ SP_ASSERT(nIndex >= 0 && nIndex < m_nSize);
		return m_pData[nIndex]; }
_STOCK_INLINE void CKData::SetAt(int nIndex, KDATA newElement)
	{ SP_ASSERT(nIndex >= 0 && nIndex < m_nSize);
		m_pData[nIndex] = newElement; }
_STOCK_INLINE KDATA& CKData::ElementAt(int nIndex)
	{ SP_ASSERT(nIndex >= 0 && nIndex < m_nSize);
		return m_pData[nIndex]; }
_STOCK_INLINE const KDATA* CKData::GetData() const
	{ return (const KDATA*)m_pData; }
_STOCK_INLINE KDATA* CKData::GetData()
	{ return (KDATA*)m_pData; }
_STOCK_INLINE KDATA CKData::operator[](int nIndex) const
	{ return GetAt(nIndex); }
_STOCK_INLINE KDATA& CKData::operator[](int nIndex)
	{ return ElementAt(nIndex); }
_STOCK_INLINE BOOL CKData::DateAt(int nIndex,
					int &nYear, int &nMonth, int &nDay, int &nHour, int &nMinute ) const
{
	SP_ASSERT(nIndex >= 0 && nIndex < m_nSize);
	if( nIndex < 0 || nIndex >= m_nSize )
		return 0;
	DWORD	date	=	m_pData[nIndex].m_date;
	CSPTime	sptime;
	BOOL	bOK	=	FALSE;
	if( ktypeMonth == m_nKType 
		|| ktypeWeek == m_nKType 
		|| ktypeDay == m_nKType )
	{
		bOK	=	sptime.FromStockTimeDay( date );
	}
	else if( ktypeMin60 == m_nKType
		|| ktypeMin30 == m_nKType
		|| ktypeMin15 == m_nKType
		|| ktypeMin5 == m_nKType )
	{
		bOK	=	sptime.FromStockTimeMin( date );
	}
	else
	{
		nYear	=	nMonth	=	nDay	=	nHour	=	nMinute	=	0;
		return FALSE;
	}
	if( !bOK )
		return FALSE;

	nYear	=	sptime.GetYear();
	nMonth	=	sptime.GetMonth();
	nDay	=	sptime.GetDay();
	nHour	=	sptime.GetHour();
	nMinute	=	sptime.GetMinute();

	return TRUE;
}
_STOCK_INLINE float	CKData::MaindataAt(int nIndex) const
// 得到CKData的nIndex日的主數據,根據主數據類型不同,返回值可能是開盤價、收盤價或者平均價
{
	SP_ASSERT(nIndex >= 0 && nIndex < m_nSize);
	if( nIndex < 0 || nIndex >= m_nSize )
		return 0;
	if( mdtypeOpen == m_nCurMaindataType )
		return m_pData[nIndex].m_fOpen;
	else if( mdtypeAverage == m_nCurMaindataType
			&& m_pData[nIndex].m_fVolume > 1e-4 && m_pData[nIndex].m_fAmount > 1e-4 )
	{
		int		nCount	=	0;
		double	average	=	((double)(m_pData[nIndex].m_fAmount)) / m_pData[nIndex].m_fVolume;
		while( average < m_pData[nIndex].m_fLow && nCount < 10 )	{	average	*=	10;	nCount ++;	}
		while( average > m_pData[nIndex].m_fHigh && nCount < 20 )	{	average	/=	10;	nCount ++;	}
		if( average < m_pData[nIndex].m_fLow )		//	說明是指數
			average	=	(m_pData[nIndex].m_fOpen+m_pData[nIndex].m_fHigh+m_pData[nIndex].m_fLow+m_pData[nIndex].m_fClose)/4;
		return (float)average;
	}
	else
		return m_pData[nIndex].m_fClose;

	// WARNING CPV::Calculate( ... ) use the save code.
}

///////////////////////////////////////////////////////////////////////
//  CBaseData
_STOCK_INLINE int CBaseData::GetSize() const
	{ return m_nSize; }
_STOCK_INLINE int CBaseData::GetUpperBound() const
	{ return m_nSize-1; }
_STOCK_INLINE void CBaseData::RemoveAll()
	{ SetSize(0); }
_STOCK_INLINE BASEDATA CBaseData::GetAt(int nIndex) const
	{ SP_ASSERT(nIndex >= 0 && nIndex < m_nSize);
		return m_pData[nIndex]; }
_STOCK_INLINE void CBaseData::SetAt(int nIndex, BASEDATA newElement)
	{ SP_ASSERT(nIndex >= 0 && nIndex < m_nSize);
		m_pData[nIndex] = newElement; }
_STOCK_INLINE BASEDATA& CBaseData::ElementAt(int nIndex)
	{ SP_ASSERT(nIndex >= 0 && nIndex < m_nSize);
		return m_pData[nIndex]; }
_STOCK_INLINE const BASEDATA* CBaseData::GetData() const
	{ return (const BASEDATA*)m_pData; }
_STOCK_INLINE BASEDATA* CBaseData::GetData()
	{ return (BASEDATA*)m_pData; }
_STOCK_INLINE int CBaseData::Add(BASEDATA newElement)
	{ int nIndex = m_nSize;
		SetAtGrow(nIndex, newElement);
		return nIndex; }
_STOCK_INLINE BASEDATA CBaseData::operator[](int nIndex) const
	{ return GetAt(nIndex); }
_STOCK_INLINE BASEDATA& CBaseData::operator[](int nIndex)
	{ return ElementAt(nIndex); }

///////////////////////////////////////////////////////////////////////
//  CReport
_STOCK_INLINE int CReport::GetSize() const
	{ return m_nSize; }
_STOCK_INLINE int CReport::GetUpperBound() const
	{ return m_nSize-1; }
_STOCK_INLINE void CReport::RemoveAll()
	{ SetSize(0); }
_STOCK_INLINE REPORT CReport::GetAt(int nIndex) const
	{ SP_ASSERT(nIndex >= 0 && nIndex < m_nSize);
		return m_pData[nIndex]; }
_STOCK_INLINE void CReport::SetAt(int nIndex, REPORT newElement)
	{ SP_ASSERT(nIndex >= 0 && nIndex < m_nSize);
		m_pData[nIndex] = newElement; }
_STOCK_INLINE REPORT& CReport::ElementAt(int nIndex)
	{ SP_ASSERT(nIndex >= 0 && nIndex < m_nSize);
		return m_pData[nIndex]; }
_STOCK_INLINE const REPORT* CReport::GetData() const
	{ return (const REPORT*)m_pData; }
_STOCK_INLINE REPORT* CReport::GetData()
	{ return (REPORT*)m_pData; }
_STOCK_INLINE int CReport::Add(REPORT newElement)
	{ int nIndex = m_nSize;
		SetAtGrow(nIndex, newElement);
		return nIndex; }
_STOCK_INLINE REPORT CReport::operator[](int nIndex) const
	{ return GetAt(nIndex); }
_STOCK_INLINE REPORT& CReport::operator[](int nIndex)
	{ return ElementAt(nIndex); }

///////////////////////////////////////////////////////////////////////
//  CMinute
_STOCK_INLINE int CMinute::GetSize() const
	{ return m_nSize; }
_STOCK_INLINE int CMinute::GetUpperBound() const
	{ return m_nSize-1; }
_STOCK_INLINE void CMinute::RemoveAll()
	{ SetSize(0); }
_STOCK_INLINE MINUTE CMinute::GetAt(int nIndex) const
	{ SP_ASSERT(nIndex >= 0 && nIndex < m_nSize);
		return m_pData[nIndex]; }
_STOCK_INLINE void CMinute::SetAt(int nIndex, MINUTE newElement)
	{ SP_ASSERT(nIndex >= 0 && nIndex < m_nSize);
		m_pData[nIndex] = newElement; }
_STOCK_INLINE MINUTE& CMinute::ElementAt(int nIndex)
	{ SP_ASSERT(nIndex >= 0 && nIndex < m_nSize);
		return m_pData[nIndex]; }
_STOCK_INLINE const MINUTE* CMinute::GetData() const
	{ return (const MINUTE*)m_pData; }
_STOCK_INLINE MINUTE* CMinute::GetData()
	{ return (MINUTE*)m_pData; }
_STOCK_INLINE int CMinute::Add(MINUTE newElement)
	{ int nIndex = m_nSize;
		SetAtGrow(nIndex, newElement);
		return nIndex; }
_STOCK_INLINE MINUTE CMinute::operator[](int nIndex) const
	{ return GetAt(nIndex); }
_STOCK_INLINE MINUTE& CMinute::operator[](int nIndex)
	{ return ElementAt(nIndex); }

///////////////////////////////////////////////////////////////////////
//  COutline
_STOCK_INLINE int COutline::GetSize() const
	{ return m_nSize; }
_STOCK_INLINE int COutline::GetUpperBound() const
	{ return m_nSize-1; }
_STOCK_INLINE void COutline::RemoveAll()
	{ SetSize(0); }
_STOCK_INLINE OUTLINE COutline::GetAt(int nIndex) const
	{ SP_ASSERT(nIndex >= 0 && nIndex < m_nSize);
		return m_pData[nIndex]; }
_STOCK_INLINE void COutline::SetAt(int nIndex, OUTLINE newElement)
	{ SP_ASSERT(nIndex >= 0 && nIndex < m_nSize);
		m_pData[nIndex] = newElement; }
_STOCK_INLINE OUTLINE& COutline::ElementAt(int nIndex)
	{ SP_ASSERT(nIndex >= 0 && nIndex < m_nSize);
		return m_pData[nIndex]; }
_STOCK_INLINE const OUTLINE* COutline::GetData() const
	{ return (const OUTLINE*)m_pData; }
_STOCK_INLINE OUTLINE* COutline::GetData()
	{ return (OUTLINE*)m_pData; }
_STOCK_INLINE int COutline::Add(OUTLINE newElement)
	{ int nIndex = m_nSize;
		SetAtGrow(nIndex, newElement);
		return nIndex; }
_STOCK_INLINE OUTLINE COutline::operator[](int nIndex) const
	{ return GetAt(nIndex); }
_STOCK_INLINE OUTLINE& COutline::operator[](int nIndex)
	{ return ElementAt(nIndex); }


?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
99国产精品久久久久久久久久| 91蜜桃婷婷狠狠久久综合9色| 国产精品久久午夜| 69av一区二区三区| 91免费国产在线| 国产精品66部| 精品一区二区国语对白| 亚洲成人av一区二区三区| 国产精品乱码久久久久久| 精品成人在线观看| 884aa四虎影成人精品一区| 色域天天综合网| 丁香一区二区三区| 久久精品国产免费| 日韩一区精品字幕| 亚洲gay无套男同| 亚洲精选视频在线| 亚洲欧美日韩国产中文在线| 中文字幕免费在线观看视频一区| 久久综合九色综合97婷婷| 91精品欧美福利在线观看| 欧美日韩在线三级| 91美女视频网站| av在线不卡观看免费观看| 国产伦理精品不卡| 国内精品嫩模私拍在线| 美国十次综合导航| 麻豆精品视频在线| 免费成人美女在线观看.| 偷窥国产亚洲免费视频| 亚洲香蕉伊在人在线观| 亚洲一区二区成人在线观看| 亚洲精品一二三四区| 亚洲视频在线一区二区| 18涩涩午夜精品.www| 国产精品欧美精品| 中文字幕一区二区三区不卡在线| 国产精品视频免费看| 日韩一区日韩二区| 一区二区三区中文字幕| 亚洲最新视频在线观看| 亚洲不卡在线观看| 日本亚洲免费观看| 美美哒免费高清在线观看视频一区二区 | 亚洲三级理论片| 亚洲免费在线看| 亚洲国产精品久久久久婷婷884 | 欧美一区二区黄| 精品久久国产老人久久综合| 久久亚洲综合色| 欧美激情在线看| 亚洲精品国产品国语在线app| 亚洲一区在线电影| 日韩电影一区二区三区| 国产一区在线观看视频| av在线不卡免费看| 欧美色综合久久| 日韩精品中文字幕一区| 久久久久9999亚洲精品| 亚洲丝袜自拍清纯另类| 日韩国产一区二| 国产一区二区按摩在线观看| www.日韩大片| 欧美日韩第一区日日骚| 精品成人a区在线观看| 国产精品美女久久久久高潮| 亚洲国产日产av| 精品一区二区三区日韩| eeuss鲁片一区二区三区 | 欧美日韩久久久久久| 精品国产乱码久久久久久久| 国产精品理伦片| 日韩高清不卡一区二区三区| 国产乱妇无码大片在线观看| 色乱码一区二区三区88| 日韩精品中文字幕一区| 亚洲欧美自拍偷拍色图| 蜜桃一区二区三区在线观看| 风间由美一区二区av101| 欧美亚洲国产一卡| 久久久午夜精品理论片中文字幕| 亚洲精品久久久久久国产精华液| 日本vs亚洲vs韩国一区三区二区| 成人综合在线观看| 欧美肥妇bbw| 一区在线播放视频| 久久精品国产色蜜蜜麻豆| 91天堂素人约啪| 久久综合久久综合亚洲| 香蕉成人伊视频在线观看| www.亚洲国产| 精品免费一区二区三区| 亚洲黄色免费电影| 国产成人综合在线播放| 欧美一区二区精美| 亚洲黄一区二区三区| 国产大陆a不卡| 91精品国产综合久久精品性色| 国产精品网站在线观看| 久久99精品久久久久婷婷| 欧洲人成人精品| 中文字幕欧美激情一区| 国产在线日韩欧美| 日韩一区二区三区精品视频| 亚洲综合丝袜美腿| 国产91丝袜在线18| 欧美精品一区二区久久婷婷| 亚洲成人777| 欧美综合亚洲图片综合区| 国产精品乱子久久久久| 国产麻豆视频一区二区| 日韩精品一区在线| 日韩中文字幕麻豆| 欧美无人高清视频在线观看| 成人免费一区二区三区在线观看 | 国产成人免费视频精品含羞草妖精| 欧美精品一二三区| 一区二区三区国产| 91影视在线播放| 国产精品久久久爽爽爽麻豆色哟哟| 精品中文av资源站在线观看| 91精品国产欧美一区二区成人| 亚洲第一福利一区| 欧美日韩在线播放一区| 亚洲一区在线看| 欧美色图免费看| 亚洲国产精品一区二区久久恐怖片 | 五月婷婷色综合| 欧美在线视频全部完| 亚洲三级小视频| 色综合天天综合网天天看片| 亚洲欧美偷拍三级| 91丨九色丨尤物| 国产精品国产三级国产aⅴ无密码 国产精品国产三级国产aⅴ原创 | 精品国产网站在线观看| 美洲天堂一区二卡三卡四卡视频| 欧美一区二区久久| 久久99国产精品久久99| 亚洲精品一区二区三区影院 | 欧美日韩高清一区二区三区| 亚洲va在线va天堂| 日韩精品综合一本久道在线视频| 久久爱另类一区二区小说| 亚洲精品在线电影| 国产福利一区二区三区视频在线 | 欧美日韩国产系列| 捆绑调教美女网站视频一区| 26uuu亚洲| 成人黄色大片在线观看| 自拍偷拍欧美激情| 欧美性大战xxxxx久久久| 五月婷婷激情综合网| 欧美一区二区福利视频| 国产高清成人在线| 亚洲精品中文字幕在线观看| 欧美乱妇一区二区三区不卡视频| 麻豆一区二区三| 国产欧美视频一区二区| 91丨porny丨首页| 午夜影视日本亚洲欧洲精品| 欧美一二区视频| 成人黄色av网站在线| 亚洲午夜精品17c| 久久综合色天天久久综合图片| proumb性欧美在线观看| 午夜成人在线视频| 久久免费的精品国产v∧| 色婷婷激情一区二区三区| 男女男精品视频| 国产精品美女视频| 欧美人体做爰大胆视频| 国产成+人+日韩+欧美+亚洲| 亚洲自拍偷拍麻豆| 久久久久久久一区| 精品视频一区三区九区| 国产一区日韩二区欧美三区| 亚洲美女视频在线观看| 日韩你懂的在线播放| 成人黄色软件下载| 蜜桃精品在线观看| 综合在线观看色| 日韩欧美一二区| 99久久精品国产一区| 久久激五月天综合精品| 亚洲女同一区二区| 久久久久久久久久久久久久久99 | 一区二区三区精品在线观看| 久久久久久亚洲综合| 欧美日韩在线直播| 成人福利视频网站| 日本亚洲最大的色成网站www| 亚洲人成伊人成综合网小说| 日韩免费看网站| 欧美日韩高清一区二区不卡| av中文字幕在线不卡| 激情五月婷婷综合网| 丝袜国产日韩另类美女| 日韩码欧中文字| 国产午夜亚洲精品羞羞网站| 欧美另类久久久品|