コード例 #1
0
ファイル: TechKLine.cpp プロジェクト: darwinbeing/trade
int CMA::GetSignal( int nIndex, UINT * pnCode )
{
	// 金叉或者死叉
	int	nSignal	=	GetForkSignal( nIndex, m_adwMADays, m_itsGoldenFork, m_itsDeadFork, pnCode );
	if( ITS_ISBUY(nSignal) || ITS_ISSELL(nSignal) )
		return nSignal;
	// 趋势
	return GetTrendIntensity( nIndex, m_adwMADays, m_itsLong, m_itsShort, pnCode );
}
コード例 #2
0
int CVOLUME::GetSignal( int nIndex, UINT * pnCode )
{
	if( pnCode )	*pnCode	=	ITSC_NOTHING;
	if( !m_pKData || nIndex < 0 || nIndex >= m_pKData->GetSize() )
		return ITS_NOTHING;

	int	nIntensity	=	GetTrendIntensity( nIndex, m_adwMADays, m_itsLong, m_itsShort, pnCode );
	if( ITS_BUY == nIntensity
		&& m_pKData->IsNewValue( nIndex, FALSE, ITS_DAYS_DEVIATE ) )
	{	// 底背离,股价创新低并且成交量趋势向上
		if( pnCode )	*pnCode	=	ITSC_DEVIATEONBOTTOM;
		return m_itsDeviateOnBottom;
	}
	if( ITS_SELL == nIntensity
		&& m_pKData->IsNewValue( nIndex, TRUE, ITS_DAYS_DEVIATE ) )
	{	// 顶背离,股价创新高并且成交量趋势向下
		if( pnCode )	*pnCode	=	ITSC_DEVIATEONTOP;
		return m_itsDeviateOnTop;
	}

	return nIntensity;
}