129 lines
4.2 KiB
C++
129 lines
4.2 KiB
C++
// FutureCheckerDlg.h : header file
|
|
//
|
|
|
|
#if !defined(AFX_FUTURECHECKERDLG_H__976B64CB_BA9F_494B_A134_679B993EA694__INCLUDED_)
|
|
#define AFX_FUTURECHECKERDLG_H__976B64CB_BA9F_494B_A134_679B993EA694__INCLUDED_
|
|
|
|
#if _MSC_VER > 1000
|
|
#pragma once
|
|
#endif // _MSC_VER > 1000
|
|
|
|
/////////////////////////////////////////////////////////////////////////////
|
|
// CFutureCheckerDlg dialog
|
|
|
|
|
|
class CFutureCheckerDlg : public CDialog, public CThinThread
|
|
{
|
|
public:
|
|
void StartWork(); // override to do startup
|
|
void DoWork(); // override to do work
|
|
void EndWork(); // override to do shutdown
|
|
|
|
BOOL _MessageParse( CString & strMessage, int &nCount );
|
|
void _WorkThreadProc(); // 매수판단 Processing 함수.
|
|
void CheckAmount( DWORD dwCurTime, int nCount );
|
|
|
|
public:
|
|
CFutureCheckerDlg(CWnd* pParent = NULL);// standard constructor
|
|
virtual ~CFutureCheckerDlg();
|
|
|
|
BOOL m_bMonitorStatus;
|
|
|
|
IDibPtr m_pObjFutureCurOnly;
|
|
CCpDibEvent * m_pEventFutureCurOnly;
|
|
|
|
typedef struct _tag_FCURR
|
|
{
|
|
DWORD dwStartTime; // 검사 기준시각.
|
|
float fPrevCheckMoney; // 마지막 검사 호가.(매도1레벨).
|
|
int nDiffLevel; // 레벨 변화값.
|
|
} FCURR, *LPFCURR;
|
|
FCURR m_FCURR;
|
|
|
|
typedef struct _tag__FAMOUNT__
|
|
{
|
|
DWORD dwTime; // 시각.
|
|
int nCount; // 거래량.
|
|
} __FAMOUNT__, *LP__FAMOUNT__;
|
|
typedef struct _tag_FAMOUNT
|
|
{
|
|
int nIndexFAMOUNT; // 기록순서.(라인갯수기준 Circular 큐운영)
|
|
__FAMOUNT__ FAMOUNT[100]; // 과거 기록검토 최대치.
|
|
} FAMOUNT, *LPFAMOUNT;
|
|
FAMOUNT m_FAMOUNT;
|
|
|
|
typedef struct _tag_APPLYRULEJOIN
|
|
{
|
|
DWORD dwTimeFAMOUNT; // 검사 기준시각.
|
|
int nStateFAMOUNT; // Normal(0), 상승(1), 하락(2)
|
|
DWORD dwTimeFCURR; // 검사 기준시각.
|
|
int nStateFCURR; // Normal(0), 상승(1), 하락(2)
|
|
} APPLYRULEJOIN, *LPAPPLYRULEJOIN;
|
|
APPLYRULEJOIN m_APPLYRULEJOIN; // 합집합 조건처리를 위해.
|
|
|
|
typedef struct _tag_CHECKAMOUNT
|
|
{
|
|
float fPrevCMoney; // 1-(float) 현재가
|
|
float fPrevMedo; // 16-(float) 매도 1 우선호가
|
|
float fPrevMesu; // 33-(float) 매수 1 우선호가
|
|
long lTotalAmount; // 13-(long) 누적거래량
|
|
} CHECKAMOUNT, *LPCHECKAMOUNT;
|
|
CHECKAMOUNT m_CHECKAMOUNT;
|
|
|
|
enum EMULATEHOTKEY_SRC { SRC_FAMOUNT=0, SRC_FCURR=1 };
|
|
|
|
private:
|
|
void InstallHotKey( BOOL bInstall = TRUE );
|
|
void TraceMsg( CString strMsg, CXListBox::Color tc=CXListBox::Black, CXListBox::Color bc=CXListBox::White );
|
|
BOOL EmulateHotKey( EMULATEHOTKEY_SRC srcType, int nIndex , BOOL bSound=FALSE );
|
|
|
|
void ClearCheckValue();
|
|
|
|
// Dialog Data
|
|
//{{AFX_DATA(CFutureCheckerDlg)
|
|
enum { IDD = IDD_FUTURECHECKER_DIALOG };
|
|
CXListBox m_hTraceListBox;
|
|
//}}AFX_DATA
|
|
|
|
// ClassWizard generated virtual function overrides
|
|
//{{AFX_VIRTUAL(CFutureCheckerDlg)
|
|
public:
|
|
virtual BOOL DestroyWindow();
|
|
protected:
|
|
virtual void DoDataExchange(CDataExchange* pDX); // DDX/DDV support
|
|
//}}AFX_VIRTUAL
|
|
|
|
// Implementation
|
|
protected:
|
|
CFont m_LockUnlockBtnFont;
|
|
HICON m_hIcon;
|
|
|
|
// Generated message map functions
|
|
//{{AFX_MSG(CFutureCheckerDlg)
|
|
virtual BOOL OnInitDialog();
|
|
afx_msg void OnSysCommand(UINT nID, LPARAM lParam);
|
|
afx_msg void OnPaint();
|
|
afx_msg HCURSOR OnQueryDragIcon();
|
|
afx_msg void OnConfigBtn();
|
|
afx_msg void OnClose();
|
|
afx_msg void OnRunCheck();
|
|
afx_msg void OnMonitorStart();
|
|
afx_msg void OnUpdateMonitorStart(CCmdUI* pCmdUI);
|
|
afx_msg void OnMonitorPause();
|
|
afx_msg void OnUpdateMonitorPause(CCmdUI* pCmdUI);
|
|
afx_msg void OnSize(UINT nType, int cx, int cy);
|
|
afx_msg void OnGetMinMaxInfo(MINMAXINFO FAR* lpMMI);
|
|
afx_msg BOOL OnCopyData(CWnd* pWnd, COPYDATASTRUCT* pCopyDataStruct);
|
|
//}}AFX_MSG
|
|
afx_msg LONG OnReceived(WPARAM wParam, LPARAM lParam);
|
|
afx_msg LRESULT OnHotKey(WPARAM wParam, LPARAM lParam);
|
|
// afx_msg LRESULT OnTargetAppDestoryed( WPARAM wParam, LPARAM lParam ); // 후킹 라이브러리용.
|
|
|
|
DECLARE_MESSAGE_MAP()
|
|
};
|
|
|
|
//{{AFX_INSERT_LOCATION}}
|
|
// Microsoft Visual C++ will insert additional declarations immediately before the previous line.
|
|
|
|
#endif // !defined(AFX_FUTURECHECKERDLG_H__976B64CB_BA9F_494B_A134_679B993EA694__INCLUDED_)
|