⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 profile.cpp

📁 股软 通达信行情接收接口, 包括美元汇率
💻 CPP
📖 第 1 页 / 共 5 页
字号:
/*
	Cross Platform Core Code.

	Copyright(R) 2001-2002 Balang Software.
	All rights reserved.

	Using:
		class	CTechParameters;
		class	CColorRefContainer;
		class	CColorClass;
		class	CColorClassContainer;
		class	CStProfile;
*/

#include "stdafx.h"
#include "Profile.h"
#include "SelfDB.h"

#ifdef _DEBUG
#undef THIS_FILE
static char THIS_FILE[]=__FILE__;
#define new DEBUG_NEW
#endif

//////////////////////////////////////////////////////////////////////
// CTechParameters
CTechParameters::CTechParameters( )
{
}

void CTechParameters::Clear( )
{
	ma.Clear( );
	bbi.Clear( );
	boll.Clear( );
	pv.Clear( );
	sar.Clear( );
	dj.Clear( );
	cw.Clear( );

	macd.Clear( );
	mike.Clear( );
	psy.Clear( );

	volume.Clear( );
	nvi.Clear( );
	pvi.Clear( );
	vr.Clear( );
	vroc.Clear( );
	obv.Clear( );
	mobv.Clear( );
	mfi.Clear( );
	vmacd.Clear( );
	wvad.Clear( );
	emv.Clear( );
	vrsi.Clear( );
	nvrsi.Clear( );
	ad.Clear( );
	ci.Clear( );

	kdj.Clear( );
	r.Clear( );
	rsi.Clear( );
	bias.Clear( );
	mtm.Clear( );
	dmi.Clear( );
	roc.Clear( );
	cci.Clear( );
	cv.Clear( );
	arbr.Clear( );
	cr.Clear( );
	osc.Clear( );
	uos.Clear( );
	maosc.Clear( );
	bias36.Clear( );
	dpo.Clear( );
	kst.Clear( );

	rei.Clear( );
	dmki.Clear( );
	pcnt.Clear( );
	hlc.Clear( );
	cdp.Clear( );
	asi.Clear( );
	atr.Clear( );

	cyo.Clear( );
	dcyo.Clear( );
	hsl.Clear( );
	dper.Clear( );
}

void CTechParameters::SetKData( CKData * pKData )
{
	ma.SetKData( pKData );
	bbi.SetKData( pKData );
	boll.SetKData( pKData );
	pv.SetKData( pKData );
	sar.SetKData( pKData );
	dj.SetKData( pKData );
	cw.SetKData( pKData );

	macd.SetKData( pKData );
	mike.SetKData( pKData );
	psy.SetKData( pKData );

	volume.SetKData( pKData );
	nvi.SetKData( pKData );
	pvi.SetKData( pKData );
	vr.SetKData( pKData );
	vroc.SetKData( pKData );
	obv.SetKData( pKData );
	mobv.SetKData( pKData );
	mfi.SetKData( pKData );
	vmacd.SetKData( pKData );
	wvad.SetKData( pKData );
	emv.SetKData( pKData );
	vrsi.SetKData( pKData );
	nvrsi.SetKData( pKData );
	ad.SetKData( pKData );
	ci.SetKData( pKData );

	kdj.SetKData( pKData );
	r.SetKData( pKData );
	rsi.SetKData( pKData );
	bias.SetKData( pKData );
	mtm.SetKData( pKData );
	dmi.SetKData( pKData );
	roc.SetKData( pKData );
	cci.SetKData( pKData );
	cv.SetKData( pKData );
	arbr.SetKData( pKData );
	cr.SetKData( pKData );
	osc.SetKData( pKData );
	uos.SetKData( pKData );
	maosc.SetKData( pKData );
	bias36.SetKData( pKData );
	dpo.SetKData( pKData );
	kst.SetKData( pKData );

	rei.SetKData( pKData );
	dmki.SetKData( pKData );
	pcnt.SetKData( pKData );
	hlc.SetKData( pKData );
	cdp.SetKData( pKData );
	asi.SetKData( pKData );
	atr.SetKData( pKData );

	cyo.SetKData( pKData );
	dcyo.SetKData( pKData );
	hsl.SetKData( pKData );
	dper.SetKData( pKData );
}

void CTechParameters::SetDefaultParametersAll( )
{
	ma.SetDefaultParameters( );
	bbi.SetDefaultParameters( );
	boll.SetDefaultParameters( );
	pv.SetDefaultParameters( );
	sar.SetDefaultParameters( );
	dj.SetDefaultParameters( );
	cw.SetDefaultParameters( );

	macd.SetDefaultParameters( );
	mike.SetDefaultParameters( );
	psy.SetDefaultParameters( );

	volume.SetDefaultParameters( );
	nvi.SetDefaultParameters( );
	pvi.SetDefaultParameters( );
	vr.SetDefaultParameters( );
	vroc.SetDefaultParameters( );
	obv.SetDefaultParameters( );
	mobv.SetDefaultParameters( );
	mfi.SetDefaultParameters( );
	vmacd.SetDefaultParameters( );
	wvad.SetDefaultParameters( );
	emv.SetDefaultParameters( );
	vrsi.SetDefaultParameters( );
	nvrsi.SetDefaultParameters( );
	ad.SetDefaultParameters( );
	ci.SetDefaultParameters( );

	kdj.SetDefaultParameters( );
	r.SetDefaultParameters( );
	rsi.SetDefaultParameters( );
	bias.SetDefaultParameters( );
	mtm.SetDefaultParameters( );
	dmi.SetDefaultParameters( );
	roc.SetDefaultParameters( );
	cci.SetDefaultParameters( );
	cv.SetDefaultParameters( );
	arbr.SetDefaultParameters( );
	cr.SetDefaultParameters( );
	osc.SetDefaultParameters( );
	uos.SetDefaultParameters( );
	maosc.SetDefaultParameters( );
	bias36.SetDefaultParameters( );
	dpo.SetDefaultParameters( );
	kst.SetDefaultParameters( );

	rei.SetDefaultParameters( );
	dmki.SetDefaultParameters( );
	pcnt.SetDefaultParameters( );
	hlc.SetDefaultParameters( );
	cdp.SetDefaultParameters( );
	asi.SetDefaultParameters( );
	atr.SetDefaultParameters( );

	cyo.SetDefaultParameters( );
	dcyo.SetDefaultParameters( );
	hsl.SetDefaultParameters( );
	dper.SetDefaultParameters( );

	AfxGetProfile().StoreProfile( );
}

BOOL CTechParameters::FindParameters( UINT nTech, CTechnique * pTech )
{
	switch( nTech )
	{
		case STT_MA:		((CMA *)pTech)->AttachParameters( ma );		break;
		case STT_BBI:		((CBBI *)pTech)->AttachParameters( bbi );		break;
		case STT_BOLL:		((CBOLL *)pTech)->AttachParameters( boll );		break;
		case STT_PV:		((CPV *)pTech)->AttachParameters( pv );		break;
		case STT_SAR:		((CSAR *)pTech)->AttachParameters( sar );		break;
		case STT_DJ:		((CDJ *)pTech)->AttachParameters( dj );		break;
		case STT_CW:		((CCW *)pTech)->AttachParameters( cw );		break;
		
		case STT_MACD:		((CMACD *)pTech)->AttachParameters( macd );		break;
		case STT_MIKE:		((CMIKE *)pTech)->AttachParameters( mike );		break;
		case STT_PSY:		((CPSY *)pTech)->AttachParameters( psy );		break;

		case STT_VOLUME:	((CVOLUME *)pTech)->AttachParameters( volume );		break;
		case STT_NVI:		((CNVI *)pTech)->AttachParameters( nvi );		break;
		case STT_PVI:		((CPVI *)pTech)->AttachParameters( pvi );		break;
		case STT_VR:		((CVR *)pTech)->AttachParameters( vr );		break;
		case STT_VROC:		((CVROC *)pTech)->AttachParameters( vroc );		break;
		case STT_OBV:		((COBV *)pTech)->AttachParameters( obv );		break;
		case STT_MOBV:		((CMOBV *)pTech)->AttachParameters( mobv );		break;
		case STT_MFI:		((CMFI *)pTech)->AttachParameters( mfi );		break;
		case STT_VMACD:		((CVMACD *)pTech)->AttachParameters( vmacd );		break;
		case STT_WVAD:		((CWVAD *)pTech)->AttachParameters( wvad );		break;
		case STT_EMV:		((CEMV *)pTech)->AttachParameters( emv );		break;
		case STT_VRSI:		((CVRSI *)pTech)->AttachParameters( vrsi );		break;
		case STT_NVRSI:		((CNVRSI *)pTech)->AttachParameters( nvrsi );		break;
		case STT_AD:		((CAD *)pTech)->AttachParameters( ad );		break;
		case STT_CI:		((CCI *)pTech)->AttachParameters( ci );		break;

		case STT_KDJ:		((CKDJ *)pTech)->AttachParameters( kdj );		break;
		case STT_R:			((CR *)pTech)->AttachParameters( r );		break;
		case STT_RSI:		((CRSI *)pTech)->AttachParameters( rsi );		break;
		case STT_BIAS:		((CBIAS *)pTech)->AttachParameters( bias );		break;
		case STT_MTM:		((CMTM *)pTech)->AttachParameters( mtm );		break;
		case STT_DMI:		((CDMI *)pTech)->AttachParameters( dmi );		break;
		case STT_ROC:		((CROC *)pTech)->AttachParameters( roc );		break;
		case STT_CCI:		((CCCI *)pTech)->AttachParameters( cci );		break;
		case STT_CV:		((CCV *)pTech)->AttachParameters( cv );		break;
		case STT_ARBR:		((CARBR *)pTech)->AttachParameters( arbr );		break;
		case STT_CR:		((CCR *)pTech)->AttachParameters( cr );		break;
		case STT_OSC:		((COSC *)pTech)->AttachParameters( osc );		break;
		case STT_UOS:		((CUOS *)pTech)->AttachParameters( uos );		break;
		case STT_MAOSC:		((CMAOSC *)pTech)->AttachParameters( maosc );		break;
		case STT_36BIAS:	((C36BIAS *)pTech)->AttachParameters( bias36 );		break;
		case STT_DPO:		((CDPO *)pTech)->AttachParameters( dpo );		break;
		case STT_KST:		((CKST *)pTech)->AttachParameters( kst );		break;

		case STT_REI:		((CREI *)pTech)->AttachParameters( rei );		break;
		case STT_DMKI:		((CDMKI *)pTech)->AttachParameters( dmki );		break;
		case STT_PCNT:		((CPCNT *)pTech)->AttachParameters( pcnt );		break;
		case STT_HLC:		((CHLC *)pTech)->AttachParameters( hlc );		break;
		case STT_CDP:		((CCDP *)pTech)->AttachParameters( cdp );		break;
		case STT_ASI:		((CASI *)pTech)->AttachParameters( asi );		break;
		case STT_ATR:		((CATR *)pTech)->AttachParameters( atr );		break;

		case STT_CYO:		((CCYO *)pTech)->AttachParameters( cyo );		break;
		case STT_DCYO:		((CDCYO *)pTech)->AttachParameters( dcyo );		break;
		case STT_HSL:		((CHSL *)pTech)->AttachParameters( hsl );		break;
		case STT_DPER:		((CDPER *)pTech)->AttachParameters( dper );		break;

		default:
			SP_ASSERT( FALSE );
			return FALSE;
	}
	return TRUE;
}

void CTechParameters::Serialize( CSPArchive &ar )
{
	if( ar.IsStoring() )
	{
		// CMA
		ar << ma.m_nType;
		ma.m_adwMADays.Serialize( ar );
		ar << ma.m_itsGoldenFork;
		ar << ma.m_itsDeadFork;
		ar << ma.m_itsLong;
		ar << ma.m_itsShort;

		// CBBI
		ar << bbi.m_nMA1Days;
		ar << bbi.m_nMA2Days;
		ar << bbi.m_nMA3Days;
		ar << bbi.m_nMA4Days;
		ar << bbi.m_itsGoldenFork;
		ar << bbi.m_itsDeadFork;

		// CBOLL
		ar << boll.m_dMultiUp;
		ar << boll.m_dMultiDown;
		ar << boll.m_nMADays;
		ar << boll.m_itsSupport;
		ar << boll.m_itsResistance;

		// CPV
		
		// CSAR
		ar << sar.m_nInitDays;
		ar << sar.m_bFirstUp;
		ar << sar.m_dAFStep;
		ar << sar.m_dAFMax;
		ar << sar.m_itsBuy;
		ar << sar.m_itsSell;

		// CDJ
		ar << dj.m_strCodeSha;
		ar << dj.m_strCodeSzn;

		// CCW
		ar << cw.m_dChangeHand;

		// CMACD
		ar << macd.m_nEMA1Days;
		ar << macd.m_nEMA2Days;
		ar << macd.m_nDIFDays;
		ar << macd.m_itsDeviateOnBottom;
		ar << macd.m_itsDeviateOnTop;
		ar << macd.m_itsGoldenFork;
		ar << macd.m_itsDeadFork;

		// CMIKE
		ar << mike.m_nDays;

		// CPSY
		ar << psy.m_nDays;
		ar << psy.m_itsSold;
		ar << psy.m_itsBought;

		// CVOLUME
		volume.m_adwMADays.Serialize( ar );
		ar << volume.m_itsDeviateOnBottom;
		ar << volume.m_itsDeviateOnTop;
		ar << volume.m_itsLong;
		ar << volume.m_itsShort;

		// CNVI
		ar << nvi.m_nMADays;
		ar << nvi.m_itsGoldenFork;
		ar << nvi.m_itsDeadFork;

		// CPVI
		ar << pvi.m_nMADays;
		ar << pvi.m_itsGoldenFork;
		ar << pvi.m_itsDeadFork;

		// CVR
		ar << vr.m_nDays;
		ar << vr.m_itsLong;
		ar << vr.m_itsShort;

		// CVROC
		ar << vroc.m_nDays;
		ar << vroc.m_nMADays;
		ar << vroc.m_itsDeviateOnBottom;
		ar << vroc.m_itsDeviateOnTop;

		// COBV
		ar << obv.m_itsDeviateOnBottom;
		ar << obv.m_itsDeviateOnTop;

		// CMOBV
		ar << mobv.m_nDays1;
		ar << mobv.m_nDays2;
		ar << mobv.m_itsGoldenFork;
		ar << mobv.m_itsDeadFork;

		// CMFI
		ar << mfi.m_nDays;
		ar << mfi.m_itsLong;
		ar << mfi.m_itsShort;

		// CVMACD
		ar << vmacd.m_nEMA1Days;
		ar << vmacd.m_nEMA2Days;
		ar << vmacd.m_nDIFDays;
		ar << vmacd.m_itsDeviateOnBottom;
		ar << vmacd.m_itsDeviateOnTop;
		ar << vmacd.m_itsGoldenFork;
		ar << vmacd.m_itsDeadFork;

		// CWVAD
		ar << wvad.m_nDays;
		ar << wvad.m_itsLong;
		ar << wvad.m_itsShort;

		// CEMV
		ar << emv.m_nDays;
		ar << emv.m_nMADays;
		ar << emv.m_itsGoldenFork;
		ar << emv.m_itsDeadFork;

		// CVRSI
		ar << vrsi.m_nDays;
		ar << vrsi.m_itsDeviateOnBottom;
		ar << vrsi.m_itsDeviateOnTop;
		ar << vrsi.m_itsSold;
		ar << vrsi.m_itsBought;

		// CNVRSI
		ar << nvrsi.m_nDays;
		ar << nvrsi.m_itsDeviateOnBottom;
		ar << nvrsi.m_itsDeviateOnTop;
		ar << nvrsi.m_itsSold;
		ar << nvrsi.m_itsBought;

		// CAD
		ar << ad.m_nDays;

		// CCI

		// CKDJ
		ar << kdj.m_nRSVDays;
		ar << kdj.m_nKDays;
		ar << kdj.m_nDDays;
		ar << kdj.m_nJ;
		ar << kdj.m_itsGoldenFork;
		ar << kdj.m_itsDeadFork;

		// CR
		ar << r.m_nDays;

		// CRSI
		rsi.m_adwDays.Serialize( ar );
		ar << rsi.m_itsSold;
		ar << rsi.m_itsGoldenFork;
		ar << rsi.m_itsDeadFork;

		// CBIAS
		ar << bias.m_nDays;
		ar << bias.m_itsSold;
		ar << bias.m_itsBought;

		// CMTM
		ar << mtm.m_nDays;
		ar << mtm.m_nMADays;
		ar << mtm.m_itsGoldenFork;
		ar << mtm.m_itsDeadFork;

		// CDMI
		ar << dmi.m_nDays;

		// CROC
		ar << roc.m_nDays;
		ar << roc.m_nMADays;
		ar << roc.m_itsGoldenFork;
		ar << roc.m_itsDeadFork;

		// CCCI
		ar << cci.m_nDays;
		ar << cci.m_dQuotiety;
		ar << cci.m_nMADays;
		ar << cci.m_itsGoldenFork;
		ar << cci.m_itsDeadFork;

		// CCV
		ar << cv.m_nMAHLDays;
		ar << cv.m_nCVDays;
		ar << cv.m_itsSold;
		ar << cv.m_itsBought;

		// CARBR
		ar << arbr.m_nDays;
		ar << arbr.m_itsGoldenFork;
		ar << arbr.m_itsDeadFork;
		ar << arbr.m_itsSold;
		ar << arbr.m_itsBought;

		// CCR
		ar << cr.m_nDays;
		ar << cr.m_nMADaysA;
		ar << cr.m_nMADaysB;
		ar << cr.m_nMADaysC;
		ar << cr.m_nMADaysD;
		ar << cr.m_itsSold;
		ar << cr.m_itsBought;

		// COSC
		ar << osc.m_nDays;
		ar << osc.m_nMADays;
		ar << osc.m_itsGoldenFork;
		ar << osc.m_itsDeadFork;

		// CUOS
		ar << uos.m_nDays1;
		ar << uos.m_nDays2;
		ar << uos.m_nDays3;
		ar << uos.m_nMADays;
		ar << uos.m_itsGoldenFork;
		ar << uos.m_itsDeadFork;

		// CMAOSC
		ar << maosc.m_nDays1;
		ar << maosc.m_nDays2;
		ar << maosc.m_nMADays;
		ar << maosc.m_itsGoldenFork;
		ar << maosc.m_itsDeadFork;

		// C36BIAS
		ar << bias36.m_itsSold;
		ar << bias36.m_itsBought;

		// CDPO
		ar << dpo.m_nDays;
		ar << dpo.m_nMADays;
		ar << dpo.m_itsGoldenFork;
		ar << dpo.m_itsDeadFork;

		// CKST
		kst.m_adwROCDays.Serialize( ar );
		ar << kst.m_nMADays;
		ar << kst.m_itsGoldenFork;
		ar << kst.m_itsDeadFork;

		// CREI
		ar << rei.m_nDays;
		ar << rei.m_itsLong;
		ar << rei.m_itsShort;

		// CDMKI
		ar << dmki.m_nDays;
		ar << dmki.m_itsSold;
		ar << dmki.m_itsBought;

		// CPCNT

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -