Files
CPRobot/CPRobotDlg.h
2013-08-26 14:55:27 +00:00

120 lines
2.3 KiB
C++

// CPRobotDlg.h : 헤더 파일
//
#pragma once
#include "afxwin.h"
#include "EventHandler.h"
#include "OptionEventHandler.h"
#include "Trader.h"
#include <string>
#include <vector>
#include <fstream>
using std::vector;
using std::string;
using std::ofstream;
struct CP_BUYINFO
{
string m_Code;
int m_iBoughtTime;
float m_fBoughtPrice;
float m_fHighestPrice;
};
enum CP_STATE
{
CPS_WAIT=0,
CPS_LOOKING,
CPS_LOOKING_DEAL,
CPS_BUYING,
CPS_WAITING_SELL,
CPS_SELLING
};
// CCPRobotDlg 대화 상자
class CCPRobotDlg : public CDialog, public IEventHandler
{
// 생성입니다.
public:
CCPRobotDlg(CWnd* pParent = NULL); // 표준 생성자입니다.
// 대화 상자 데이터입니다.
enum { IDD = IDD_CPROBOT_DIALOG };
afx_msg void OnBnClickedButtonRefreshBalance();
afx_msg int OnCreate(LPCREATESTRUCT lpCreateStruct);
afx_msg void OnDestroy();
afx_msg void OnBnClickedButtonStartDeal();
afx_msg void OnBnClickedButtonSearch();
afx_msg void OnHotKey(UINT nHotKeyId, UINT nKey1, UINT nKey2);
virtual void Received();
protected:
virtual void DoDataExchange(CDataExchange* pDX); // DDX/DDV 지원입니다.
virtual BOOL DestroyWindow();
// 생성된 메시지 맵 함수
virtual BOOL OnInitDialog();
afx_msg void OnPaint();
afx_msg HCURSOR OnQueryDragIcon();
DECLARE_MESSAGE_MAP()
void SaveToFile(void);
void LoadFromFile(void);
HICON m_hIcon;
private:
CP_STATE m_enState;
CP_STATE m_enPrevState;
CListBox m_ResultList;
vector<string> m_OpCodeList;
ISysDibPtr m_pOpJpBid;
CEventHandler m_EventHandler;
string m_AccountNum;
int m_iBalance;
int m_iAmountSet;
float m_fMinPriceSet;
float m_fMaxPriceSet;
int m_iPlusTick;
float m_fLossCutTick;
float m_fTrailingTick;
int m_iCancelDelay;
BOOL m_bBuyOnBid1;
BOOL m_bPutOption;
string m_CurCode;
float m_fBoughtPrice;
float m_fHighestBid1;
float m_fCurBid1;
int m_iBoughtCnt;
int m_iOrderNum;
CTime m_BoughtT;
ATOM m_IdKeyFxCall;
ATOM m_IdKeyFxPut;
ATOM m_IdKeyFxStop;
ofstream m_LogFile;
void Subscribe(void);
void Unsubscribe(void);
void BuyThis(const string& Code, const float fBid1Price, const int iBid1Cnt, float afAskPrice[5]);
void CorrectToCurrent(const string& Code);
inline void SwitchState(const CP_STATE enState);
void CPLog(const std::string fmt, ...);
};