示例#1
0
BOOL CMTMDlg::RefreshData( BOOL bSaveAndValidate )
{
	if( !m_pMTM->IsValidParameters() )
		m_pMTM->SetDefaultParameters();

	if( bSaveAndValidate )
	{
		UpdateData( TRUE );
		
		m_pMTM->m_nDays		=	m_nDays;
		m_pMTM->m_nMADays	=	m_nMADays;

		m_pMTM->m_itsGoldenFork	=	m_cmbGoldenFork.GetSelect();
		m_pMTM->m_itsDeadFork	=	m_cmbDeadFork.GetSelect();
		return m_pMTM->IsValidParameters();
	}
	else
	{
		m_staticName.SetWindowText( AfxGetSTTFullName(STT_MTM) );

		m_nDays		=	m_pMTM->m_nDays;
		m_nMADays	=	m_pMTM->m_nMADays;

		m_cmbGoldenFork.ResetAndSelect( m_pMTM->m_itsGoldenFork );
		m_cmbDeadFork.ResetAndSelect( m_pMTM->m_itsDeadFork );
		UpdateData( FALSE );
	}

	return TRUE;
}
示例#2
0
BOOL CCVDlg::RefreshData( BOOL bSaveAndValidate )
{
	if( !m_pCV->IsValidParameters() )
		m_pCV->SetDefaultParameters();

	if( bSaveAndValidate )
	{
		UpdateData( TRUE );
		
		m_pCV->m_nMAHLDays	=	m_nMAHLDays;
		m_pCV->m_nCVDays	=	m_nCVDays;

		m_pCV->m_itsSold	=	m_cmbSold.GetSelect();
		m_pCV->m_itsBought	=	m_cmbBought.GetSelect();
		return m_pCV->IsValidParameters();
	}
	else
	{
		m_staticName.SetWindowText( AfxGetSTTFullName(STT_CV) );

		m_nMAHLDays		=	m_pCV->m_nMAHLDays;
		m_nCVDays		=	m_pCV->m_nCVDays;

		m_cmbSold.ResetAndSelect( m_pCV->m_itsSold );
		m_cmbBought.ResetAndSelect( m_pCV->m_itsBought );
		UpdateData( FALSE );
	}

	return TRUE;
}
示例#3
0
BOOL CVRDlg::RefreshData( BOOL bSaveAndValidate )
{
	if( !m_pVR->IsValidParameters() )
		m_pVR->SetDefaultParameters();

	if( bSaveAndValidate )
	{
		UpdateData( TRUE );
		
		m_pVR->m_nDays		=	m_nDays;
		
		m_pVR->m_itsLong	=	m_cmbLong.GetSelect();
		m_pVR->m_itsShort	=	m_cmbShort.GetSelect();
		return m_pVR->IsValidParameters();
	}
	else
	{
		m_staticName.SetWindowText( AfxGetSTTFullName(STT_VR) );

		m_nDays		=	m_pVR->m_nDays;

		m_cmbLong.ResetAndSelect( m_pVR->m_itsLong );
		m_cmbShort.ResetAndSelect( m_pVR->m_itsShort );
		UpdateData( FALSE );
	}

	return TRUE;
}
示例#4
0
BOOL CVROCDlg::RefreshData( BOOL bSaveAndValidate )
{
	if( !m_pVROC->IsValidParameters() )
		m_pVROC->SetDefaultParameters();

	if( bSaveAndValidate )
	{
		UpdateData( TRUE );
		
		m_pVROC->m_nDays	=	m_nDays;
		m_pVROC->m_nMADays	=	m_nMADays;

		m_pVROC->m_itsDeviateOnBottom	=	m_cmbDeviateOnBottom.GetSelect();
		m_pVROC->m_itsDeviateOnTop		=	m_cmbDeviateOnTop.GetSelect();
		return m_pVROC->IsValidParameters();
	}
	else
	{
		m_staticName.SetWindowText( AfxGetSTTFullName(STT_VROC) );

		m_nDays		=	m_pVROC->m_nDays;
		m_nMADays	=	m_pVROC->m_nMADays;

		m_cmbDeviateOnBottom.ResetAndSelect( m_pVROC->m_itsDeviateOnBottom );
		m_cmbDeviateOnTop.ResetAndSelect( m_pVROC->m_itsDeviateOnTop );
		UpdateData( FALSE );
	}

	return TRUE;
}
示例#5
0
BOOL CRSIDlg::RefreshData( BOOL bSaveAndValidate )
{
	if( !m_pRSI->IsValidParameters() )
		m_pRSI->SetDefaultParameters();

	if( bSaveAndValidate )
	{
		UpdateData( TRUE );
		
		m_pRSI->m_adwDays.RemoveAll();
		if( m_nDays1 > 0 )	m_pRSI->m_adwDays.Add( m_nDays1 );
		if( m_nDays2 > 0 )	m_pRSI->m_adwDays.Add( m_nDays2 );

		m_pRSI->m_itsGoldenFork		=	m_cmbGoldenFork.GetSelect();
		m_pRSI->m_itsDeadFork		=	m_cmbDeadFork.GetSelect();
		m_pRSI->m_itsSold			=	m_cmbSold.GetSelect();
		return m_pRSI->IsValidParameters();
	}
	else
	{
		m_staticName.SetWindowText( AfxGetSTTFullName(STT_RSI) );

		m_nDays1	=	m_nDays2	=	0;
		if( m_pRSI->m_adwDays.GetSize() > 0 )	m_nDays1	=	m_pRSI->m_adwDays.ElementAt(0);
		if( m_pRSI->m_adwDays.GetSize() > 1 )	m_nDays2	=	m_pRSI->m_adwDays.ElementAt(1);

		m_cmbGoldenFork.ResetAndSelect( m_pRSI->m_itsGoldenFork );
		m_cmbDeadFork.ResetAndSelect( m_pRSI->m_itsDeadFork );
		m_cmbSold.ResetAndSelect( m_pRSI->m_itsSold );
		UpdateData( FALSE );
	}

	return TRUE;
}
示例#6
0
BOOL CDJDlg::RefreshData( BOOL bSaveAndValidate )
{
	if( !m_pDJ->IsValidParameters() )
		m_pDJ->SetDefaultParameters();

	if( bSaveAndValidate )
	{
		UpdateData( TRUE );

		CString	strStockSha	=	m_comboDJSha.GetSelectedStockCode();
		CString	strStockSzn	=	m_comboDJSzn.GetSelectedStockCode();

		m_pDJ->SetDefaultParameters( );
		if( strStockSha.GetLength() > 0 )
			m_pDJ->m_strCodeSha	=	strStockSha;
		if( strStockSzn.GetLength() > 0 )
			m_pDJ->m_strCodeSzn	=	strStockSzn;

		return m_pDJ->IsValidParameters();
	}
	else
	{
		m_staticName.SetWindowText( AfxGetSTTFullName(STT_DJ) );

		m_comboDJSha.SelectString( 0, m_pDJ->m_strCodeSha );
		m_comboDJSzn.SelectString( 0, m_pDJ->m_strCodeSzn );

		UpdateData( FALSE );
	}

	return TRUE;
}
示例#7
0
BOOL CCWDlg::RefreshData( BOOL bSaveAndValidate )
{
	if( !m_pCW->IsValidParameters() )
		m_pCW->SetDefaultParameters();

	if( bSaveAndValidate )
	{
		UpdateData( TRUE );

		if( !IsNumber(m_strChangeHand,FALSE) )
			return FALSE;

		m_pCW->m_dChangeHand	=	atof(m_strChangeHand);
		return m_pCW->IsValidParameters();
	}
	else
	{
		m_staticName.SetWindowText( AfxGetSTTFullName(STT_CW) );

		m_strChangeHand.Format( "%.2f", m_pCW->m_dChangeHand );
		UpdateData( FALSE );
	}

	return TRUE;
}
BOOL CSetParamDlg::OnInitDialog() 
{
	CXFDialog::OnInitDialog();

	m_ImageList.Create(IDB_TECHSVIEW_ICONS, 16, 1, RGB(0,255,0));
	m_tree.SetImageList (&m_ImageList, TVSIL_NORMAL);

	CString	strClassLast;
	HTREEITEM	hTechClass = NULL, hTech = NULL;
	HTREEITEM	hTechClassKLine = NULL, hTechFirstSelected = NULL;
	UINT nTechUserCount = CTechUser::GetTechUserCount();
	for( UINT i=STT_MIN; i <= STT_MAX+nTechUserCount; i ++ )
	{
		UINT	nTech	=	i;
		if( nTech > STT_MAX )
			nTech	=	i-STT_MAX-1+STT_USER_MIN;

		CString	strClass	=	AfxGetSTTClassName(nTech);
		if( strClass.GetLength() > 0 && 0 != strClass.Compare(strClassLast) )
		{
			hTechClass = m_tree.InsertItem(strClass,IMG_TECHCLASS,IMG_TECHCLASS_SEL);
			m_tree.SetItemData( hTechClass, 0 );
			if( nTech >= STT_KLINE_MIN && nTech <= STT_KLINE_MAX )
				hTechClassKLine	=	hTechClass;
		}

		strClassLast	=	strClass;

		if( NULL == hTechClass )
			hTechClass	=	TVI_ROOT;
		CString	strTechName	=	AfxGetSTTFullName(nTech);
		hTech	=	m_tree.InsertItem(strTechName,IMG_TECH,IMG_TECH_SEL,hTechClass);
		m_tree.SetItemData( hTech, nTech );
		if( m_nSTTFirstSelected == nTech )
			hTechFirstSelected	=	hTech;
	}

	if( hTechFirstSelected )
	{
		m_tree.Expand( m_tree.GetParentItem(hTechFirstSelected), TVE_EXPAND );
		m_tree.Select( hTechFirstSelected, TVGN_CARET );
	}
	else
	{
		m_tree.Expand( hTechClassKLine, TVE_EXPAND );
		HTREEITEM	hSelect	=	m_tree.GetChildItem( hTechClassKLine );
		m_tree.Select( hSelect, TVGN_CARET );
	}

	return TRUE;  // return TRUE unless you set the focus to a control
	              // EXCEPTION: OCX Property Pages should return FALSE
}
示例#9
0
BOOL CMADlg::RefreshData( BOOL bSaveAndValidate )
{
	if( !m_pMA->IsValidParameters() )
		m_pMA->SetDefaultParameters();

	if( bSaveAndValidate )
	{
		UpdateData( TRUE );

		CButton * pbtn = (CButton *)GetDlgItem(IDC_EXPMA);
		if( pbtn && pbtn->GetCheck() )
			m_pMA->m_nType	=	CMA::typeEXPMA;
		else
			m_pMA->m_nType	=	CMA::typeMA;
		
		m_pMA->m_adwMADays.RemoveAll();
		if( m_bMA1 )	m_pMA->m_adwMADays.Add( m_nDays1 );
		if( m_bMA2 )	m_pMA->m_adwMADays.Add( m_nDays2 );
		if( m_bMA3 )	m_pMA->m_adwMADays.Add( m_nDays3 );
		if( m_bMA4 )	m_pMA->m_adwMADays.Add( m_nDays4 );

		m_pMA->m_itsGoldenFork	=	m_cmbGoldenFork.GetSelect( );
		m_pMA->m_itsDeadFork	=	m_cmbDeadFork.GetSelect( );
		m_pMA->m_itsLong		=	m_cmbLong.GetSelect( );
		m_pMA->m_itsShort		=	m_cmbShort.GetSelect( );
		return m_pMA->IsValidParameters();
	}
	else
	{
		m_staticName.SetWindowText( AfxGetSTTFullName(STT_MA) );

		CheckRadioButton( IDC_STDMA, IDC_EXPMA, CMA::typeEXPMA == m_pMA->m_nType ? IDC_EXPMA : IDC_STDMA );

		m_bMA1	=	m_pMA->m_adwMADays.GetSize() >= 1;
		m_bMA2	=	m_pMA->m_adwMADays.GetSize() >= 2;
		m_bMA3	=	m_pMA->m_adwMADays.GetSize() >= 3;
		m_bMA4	=	m_pMA->m_adwMADays.GetSize() >= 4;

		if( m_bMA1 )	m_nDays1	=	m_pMA->m_adwMADays[0];
		if( m_bMA2 )	m_nDays2	=	m_pMA->m_adwMADays[1];
		if( m_bMA3 )	m_nDays3	=	m_pMA->m_adwMADays[2];
		if( m_bMA4 )	m_nDays4	=	m_pMA->m_adwMADays[3];

		m_cmbGoldenFork.ResetAndSelect( m_pMA->m_itsGoldenFork );
		m_cmbDeadFork.ResetAndSelect( m_pMA->m_itsDeadFork );
		m_cmbLong.ResetAndSelect( m_pMA->m_itsLong );
		m_cmbShort.ResetAndSelect( m_pMA->m_itsShort );
		UpdateData( FALSE );
	}

	return TRUE;
}
示例#10
0
BOOL CTechComboBox::Initialize( )
{
	ResetContent();
	
	for( int nTech = STT_MIN; nTech < STT_MAX; nTech ++ )
	{
		int nIndex	=	AddString( AfxGetSTTFullName(nTech) );
		SetItemData( nIndex, nTech );
	}

	SetCurSel( 0 );
	return TRUE;
}
示例#11
0
void CTechsView::OnUpdate(CView* pSender, LPARAM lHint, CObject* pHint) 
{
	CTreeCtrl &treectrl = GetTreeCtrl();
	treectrl.DeleteAllItems( );

	CString	strClassLast;
	HTREEITEM	hTechClass = NULL, hTech = NULL, hTechClassCLK = NULL, hTechClassUser = NULL;
	UINT nTechUserCount = CTechUser::GetTechUserCount();
	for( UINT i=STT_MIN; i <= STT_MAX+nTechUserCount; i ++ )
	{
		UINT	nTech	=	i;
		if( nTech > STT_MAX )
			nTech	=	i-STT_MAX-1+STT_USER_MIN;

		CString	strClass	=	AfxGetSTTClassName(nTech);
		if( strClass.GetLength() > 0 && 0 != strClass.Compare(strClassLast) )
		{
			hTechClass = treectrl.InsertItem(strClass,IMG_TECHCLASS,IMG_TECHCLASS_SEL);
			treectrl.SetItemData( hTechClass, 0 );
			if( nTech >= STT_CLK_MIN && nTech <= STT_CLK_MAX )
				hTechClassCLK	=	hTechClass;
			if( nTech >= STT_USER_MIN )
				hTechClassUser	=	hTechClass;
		}

		strClassLast	=	strClass;

		if( NULL == hTechClass )
			hTechClass	=	TVI_ROOT;
		CString	strTechName	=	AfxGetSTTFullName(nTech);
		hTech	=	treectrl.InsertItem(strTechName,IMG_TECH,IMG_TECH_SEL,hTechClass);
		treectrl.SetItemData( hTech, nTech );
	}

	treectrl.Expand( hTechClassCLK, TVE_EXPAND );
	treectrl.Expand( hTechClassUser, TVE_EXPAND );
	treectrl.Select( hTechClassCLK, TVGN_CARET );
	treectrl.Select( treectrl.GetRootItem(), TVGN_FIRSTVISIBLE );

	CWnd * pParent = GetParent();
	if( pParent && ::IsWindow(pParent->GetSafeHwnd()) )
		pParent->Invalidate();
}
示例#12
0
BOOL CHSLDlg::RefreshData( BOOL bSaveAndValidate )
{
	if( !m_pHSL->IsValidParameters() )
		m_pHSL->SetDefaultParameters();

	if( bSaveAndValidate )
	{
		UpdateData( TRUE );
		
		return m_pHSL->IsValidParameters();
	}
	else
	{
		m_staticName.SetWindowText( AfxGetSTTFullName(STT_HSL) );

		UpdateData( FALSE );
	}

	return TRUE;
}
示例#13
0
BOOL CKSTDlg::RefreshData( BOOL bSaveAndValidate )
{
	if( !m_pKST->IsValidParameters() )
		m_pKST->SetDefaultParameters();

	if( bSaveAndValidate )
	{
		UpdateData( TRUE );
		
		m_pKST->m_adwROCDays.RemoveAll();
		if( m_nROCDays1 > 0 )	m_pKST->m_adwROCDays.Add( m_nROCDays1 );
		if( m_nROCDays2 > 0 )	m_pKST->m_adwROCDays.Add( m_nROCDays2 );
		if( m_nROCDays3 > 0 )	m_pKST->m_adwROCDays.Add( m_nROCDays3 );
		if( m_nROCDays4 > 0 )	m_pKST->m_adwROCDays.Add( m_nROCDays4 );
		
		m_pKST->m_nMADays	=	m_nMADays;

		m_pKST->m_itsGoldenFork	=	m_cmbGoldenFork.GetSelect();
		m_pKST->m_itsDeadFork	=	m_cmbDeadFork.GetSelect();
		return m_pKST->IsValidParameters();
	}
	else
	{
		m_staticName.SetWindowText( AfxGetSTTFullName(STT_KST) );

		m_nROCDays1	=	m_nROCDays2	=	m_nROCDays3	=	m_nROCDays4	=	0;
		if( m_pKST->m_adwROCDays.GetSize() > 0 )	m_nROCDays1		=	m_pKST->m_adwROCDays.ElementAt(0);
		if( m_pKST->m_adwROCDays.GetSize() > 1 )	m_nROCDays2		=	m_pKST->m_adwROCDays.ElementAt(1);
		if( m_pKST->m_adwROCDays.GetSize() > 2 )	m_nROCDays3		=	m_pKST->m_adwROCDays.ElementAt(2);
		if( m_pKST->m_adwROCDays.GetSize() > 3 )	m_nROCDays4		=	m_pKST->m_adwROCDays.ElementAt(3);
		
		m_nMADays	=	m_pKST->m_nMADays;

		m_cmbGoldenFork.ResetAndSelect( m_pKST->m_itsGoldenFork );
		m_cmbDeadFork.ResetAndSelect( m_pKST->m_itsDeadFork );
		UpdateData( FALSE );
	}

	return TRUE;
}
示例#14
0
BOOL CMIKEDlg::RefreshData( BOOL bSaveAndValidate )
{
	if( !m_pMIKE->IsValidParameters() )
		m_pMIKE->SetDefaultParameters();

	if( bSaveAndValidate )
	{
		UpdateData( TRUE );
		
		m_pMIKE->m_nDays	=	m_nDays;
		return m_pMIKE->IsValidParameters();
	}
	else
	{
		m_staticName.SetWindowText( AfxGetSTTFullName(STT_MIKE) );

		m_nDays		=	m_pMIKE->m_nDays;
		UpdateData( FALSE );
	}

	return TRUE;
}
示例#15
0
BOOL CVMACDDlg::RefreshData( BOOL bSaveAndValidate )
{
	if( !m_pVMACD->IsValidParameters() )
		m_pVMACD->SetDefaultParameters();

	if( bSaveAndValidate )
	{
		UpdateData( TRUE );
		
		m_pVMACD->m_nEMA1Days	=	m_nEMADays1;
		m_pVMACD->m_nEMA2Days	=	m_nEMADays2;
		m_pVMACD->m_nDIFDays		=	m_nDIFDays;

		m_pVMACD->m_itsDeviateOnBottom	=	m_cmbDeviateOnBottom.GetSelect();
		m_pVMACD->m_itsDeviateOnTop		=	m_cmbDeviateOnTop.GetSelect();
		m_pVMACD->m_itsGoldenFork		=	m_cmbGoldenFork.GetSelect();
		m_pVMACD->m_itsDeadFork			=	m_cmbDeadFork.GetSelect();
		return m_pVMACD->IsValidParameters();
	}
	else
	{
		m_staticName.SetWindowText( AfxGetSTTFullName(STT_VMACD) );

		m_nEMADays1		=	m_pVMACD->m_nEMA1Days;
		m_nEMADays2		=	m_pVMACD->m_nEMA2Days;
		m_nDIFDays		=	m_pVMACD->m_nDIFDays;

		m_cmbDeviateOnBottom.ResetAndSelect( m_pVMACD->m_itsDeviateOnBottom );
		m_cmbDeviateOnTop.ResetAndSelect( m_pVMACD->m_itsDeviateOnTop );
		m_cmbGoldenFork.ResetAndSelect( m_pVMACD->m_itsGoldenFork );
		m_cmbDeadFork.ResetAndSelect( m_pVMACD->m_itsDeadFork );
		UpdateData( FALSE );
	}

	return TRUE;
}