diff --git a/CPRobot.rc b/CPRobot.rc index f29b404..4d7426a 100644 --- a/CPRobot.rc +++ b/CPRobot.rc @@ -78,7 +78,7 @@ IDR_MAINFRAME ICON "res\\CPRobot.ico" // IDD_CPROBOT_DIALOG DIALOGEX 0, 0, 319, 239 -STYLE DS_SETFONT | DS_MODALFRAME | DS_FIXEDSYS | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU +STYLE DS_SETFONT | DS_MODALFRAME | DS_3DLOOK | DS_FIXEDSYS | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU EXSTYLE WS_EX_APPWINDOW CAPTION "CPRobot" FONT 9, "MS Shell Dlg", 0, 0, 0x1 @@ -86,29 +86,29 @@ BEGIN PUSHBUTTON "Àܰí È®ÀÎ\n¹×\nµ¥ÀÌÅÍ ·Îµå",IDC_BUTTON_REFRESH_BALANCE,262,7,50,28,BS_MULTILINE CONTROL "¸ÅµµÈ£°¡",IDC_RADIO_BID,"Button",BS_AUTORADIOBUTTON | WS_GROUP,7,7,43,10 CONTROL "¸Å¼öÈ£°¡",IDC_RADIO_ASK,"Button",BS_AUTORADIOBUTTON | WS_GROUP,7,19,43,10 - EDITTEXT IDC_EDIT_ORDERINGPRICE,88,14,67,12,ES_RIGHT | ES_AUTOHSCROLL | ES_NUMBER | WS_GROUP + EDITTEXT IDC_EDIT_ORDERINGPRICE,83,14,58,12,ES_RIGHT | ES_AUTOHSCROLL | ES_NUMBER | WS_GROUP EDITTEXT IDC_EDIT_ORDERING_TICK_MIN,16,45,67,12,ES_RIGHT | ES_AUTOHSCROLL EDITTEXT IDC_EDIT_ORDERING_TICK_MAX,110,45,67,12,ES_RIGHT | ES_AUTOHSCROLL EDITTEXT IDC_EDIT_SELL_TICK,14,85,22,12,ES_RIGHT | ES_AUTOHSCROLL | ES_NUMBER - EDITTEXT IDC_EDIT_LOSS_CUT_TICK,93,85,22,12,ES_RIGHT | ES_AUTOHSCROLL | ES_NUMBER - EDITTEXT IDC_EDIT_TRAING_TICK,172,85,22,12,ES_RIGHT | ES_AUTOHSCROLL | ES_NUMBER - EDITTEXT IDC_EDIT_CANCEL_DELAY,251,85,22,12,ES_RIGHT | ES_AUTOHSCROLL | ES_NUMBER + EDITTEXT IDC_EDIT_LOSS_CUT_TICK,93,85,22,12,ES_RIGHT | ES_AUTOHSCROLL + EDITTEXT IDC_EDIT_TRAING_TICK,172,85,22,12,ES_RIGHT | ES_AUTOHSCROLL + EDITTEXT IDC_EDIT_CANCEL_DELAY,251,85,38,12,ES_RIGHT | ES_AUTOHSCROLL | ES_NUMBER CONTROL "ÄݿɼÇ",IDC_RADIO_CALLOP,"Button",BS_AUTORADIOBUTTON | WS_GROUP | WS_TABSTOP,93,124,37,10 CONTROL "Dz¿É¼Ç",IDC_RADIO_PUTOP,"Button",BS_AUTORADIOBUTTON | WS_TABSTOP,139,124,37,10 PUSHBUTTON "°Ë»ö",IDC_BUTTON_SEARCH,190,123,50,14,WS_GROUP PUSHBUTTON "°Å·¡ ½ÃÀÛ",IDC_BUTTON_START_DEAL,251,123,50,14 LISTBOX IDC_LIST_ITEMS,7,146,305,86,LBS_NOINTEGRALHEIGHT | WS_VSCROLL | WS_TABSTOP - LTEXT "",IDC_STATIC_BALANCE,158,17,94,8,NOT WS_GROUP + LTEXT "",IDC_STATIC_BALANCE,142,17,109,8,NOT WS_GROUP LTEXT "~",IDC_STATIC,95,48,8,8,NOT WS_GROUP GROUPBOX "¸Åµµ ¿äû",IDC_STATIC,7,69,69,40 GROUPBOX "¼ÕÀý ¹üÀ§",IDC_STATIC,86,69,69,40 GROUPBOX "Æ®·¹Àϸµ ¹üÀ§",IDC_STATIC,165,69,69,40 GROUPBOX "Ãë¼Ò ½Ã°£",IDC_STATIC,243,69,69,40 LTEXT "ƽ",IDC_STATIC,43,88,8,8,NOT WS_GROUP - LTEXT "ƽ",IDC_STATIC,126,88,8,8,NOT WS_GROUP - LTEXT "ƽ",IDC_STATIC,198,88,8,8,NOT WS_GROUP + LTEXT "(°¡°Ý)",IDC_STATIC,126,88,18,8,NOT WS_GROUP + LTEXT "(°¡°Ý)",IDC_STATIC,198,88,21,8,NOT WS_GROUP LTEXT "ms",IDC_STATIC,290,89,10,8,NOT WS_GROUP - LTEXT "°Å·¡ ±Ý¾× : ",IDC_STATIC,49,16,38,8,NOT WS_GROUP + LTEXT "°Å·¡ ±Ý¾× : ",IDC_STATIC,49,16,31,8,NOT WS_GROUP GROUPBOX "¸Å¼ö Á¶°Ç",IDC_STATIC,7,33,186,30 END diff --git a/CPRobotDlg.cpp b/CPRobotDlg.cpp index c96f5d3..8558710 100644 Binary files a/CPRobotDlg.cpp and b/CPRobotDlg.cpp differ diff --git a/CPRobotDlg.h b/CPRobotDlg.h index f184097..9d6c4f3 100644 --- a/CPRobotDlg.h +++ b/CPRobotDlg.h @@ -8,9 +8,30 @@ #include "Trader.h" #include #include +#include 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 @@ -50,6 +71,8 @@ protected: HICON m_hIcon; private: + CP_STATE m_enState; + CListBox m_ResultList; vector m_OpCodeList; @@ -63,12 +86,32 @@ private: int m_iAmountSet; float m_fMinPriceSet; float m_fMaxPriceSet; - int m_iSellTick; - int m_iLossCutTick; - int m_iTrailingTick; + int m_iPlusTick; + float m_fLossCutTick; + float m_fTrailingTick; int m_iCancelDelay; BOOL m_bPutOption; + string m_CurCode; + float m_fBoughtTick; + float m_fHighestTick; + float m_fCurTick; + int m_iBoughtCnt; + int m_iOrderNum; + + ATOM m_IdKeyFxCall; + ATOM m_IdKeyFxPut; + + ofstream m_LogFile; + void Subscribe(void); void Unsubscribe(void); + + void BuyThis(const string& Code, const float fBid1Price, const int iBid1Cnt, float afOfferPrice[5]); + void CorrectToCurrent(const string& Code); + + void CPLog(const std::string fmt, ...); + +public: + afx_msg void OnHotKey(UINT nHotKeyId, UINT nKey1, UINT nKey2); };