This commit is contained in:
2013-09-03 18:45:56 +00:00
parent b7d5adfae4
commit a5fc2f3da6
5 changed files with 73 additions and 51 deletions

View File

@@ -78,39 +78,43 @@ IDI_ICON_STOCK ICON "res\\HandDrawIcon.ico"
// Dialog
//
IDD_CPROBOT_DIALOG DIALOGEX 0, 0, 319, 243
IDD_CPROBOT_DIALOG DIALOGEX 0, 0, 319, 276
STYLE DS_SETFONT | DS_MODALFRAME | DS_FIXEDSYS | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU
EXSTYLE WS_EX_APPWINDOW
CAPTION "Option Robot"
FONT 8, "MS Shell Dlg", 400, 0, 0x0
BEGIN
PUSHBUTTON "잔고 확인\n및\n데이터 로드",IDC_BUTTON_REFRESH_BALANCE,263,11,50,28,BS_MULTILINE | NOT WS_VISIBLE | NOT WS_TABSTOP
GROUPBOX "거래 금액",IDC_STATIC,7,7,305,34
EDITTEXT IDC_EDIT_ORDERINGPRICE,16,20,67,12,ES_RIGHT | ES_AUTOHSCROLL | ES_NUMBER
LTEXT "원",IDC_STATIC_BALANCE,87,23,134,8,NOT WS_GROUP
GROUPBOX "매수 조건",IDC_STATIC,7,44,305,38
EDITTEXT IDC_EDIT_ORDERING_TICK_MIN,16,58,67,12,ES_RIGHT | ES_AUTOHSCROLL
LTEXT "~",IDC_STATIC,94,60,8,8,NOT WS_GROUP
EDITTEXT IDC_EDIT_ORDERING_TICK_MAX,110,58,67,12,ES_RIGHT | ES_AUTOHSCROLL
CONTROL "1차 매도호가",IDC_RADIO_BID,"Button",BS_AUTORADIOBUTTON | WS_GROUP | WS_TABSTOP,190,54,60,10
CONTROL "1차 매수호가",IDC_RADIO_ASK,"Button",BS_AUTORADIOBUTTON,190,67,61,10
CONTROL "콜옵션",IDC_RADIO_CALLOP,"Button",BS_AUTORADIOBUTTON | WS_GROUP | WS_TABSTOP,257,54,37,10
CONTROL "풋옵션",IDC_RADIO_PUTOP,"Button",BS_AUTORADIOBUTTON,257,67,37,10
GROUPBOX "매도 요청",IDC_STATIC,7,86,69,40
EDITTEXT IDC_EDIT_SELL_TICK,14,102,22,12,ES_RIGHT | ES_AUTOHSCROLL | ES_NUMBER
LTEXT "틱",IDC_STATIC,43,105,8,8,NOT WS_GROUP
GROUPBOX "손절 범위",IDC_STATIC,86,86,69,40
EDITTEXT IDC_EDIT_LOSS_CUT_TICK,93,102,22,12,ES_RIGHT | ES_AUTOHSCROLL
LTEXT "(가격)",IDC_STATIC,122,105,26,8,NOT WS_GROUP
GROUPBOX "트레일링 범위",IDC_STATIC,165,86,69,40
EDITTEXT IDC_EDIT_TRAING_TICK,172,102,22,12,ES_RIGHT | ES_AUTOHSCROLL
LTEXT "(가격)",IDC_STATIC,198,105,21,8,NOT WS_GROUP
GROUPBOX "취소 시간",IDC_STATIC,243,86,69,40
EDITTEXT IDC_EDIT_CANCEL_DELAY,251,102,38,12,ES_RIGHT | ES_AUTOHSCROLL | ES_NUMBER
LTEXT "ms",IDC_STATIC,290,106,10,8,NOT WS_GROUP
PUSHBUTTON "검색",IDC_BUTTON_SEARCH,205,131,50,14
DEFPUSHBUTTON "거래 시작",IDC_BUTTON_START_DEAL,263,131,50,14
LISTBOX IDC_LIST_ITEMS,7,150,305,86,LBS_NOINTEGRALHEIGHT | WS_VSCROLL | WS_TABSTOP
GROUPBOX "매수 조건",IDC_STATIC,7,7,305,74
LTEXT "거래 금액 : ",IDC_STATIC,16,24,42,8,NOT WS_GROUP
EDITTEXT IDC_EDIT_ORDERINGPRICE,62,21,67,12,ES_RIGHT | ES_AUTOHSCROLL | ES_NUMBER
LTEXT "원 (잔고 : -원)",IDC_STATIC_BALANCE,133,24,134,8,NOT WS_GROUP
LTEXT "가격 :",IDC_STATIC,24,41,22,8,NOT WS_GROUP
EDITTEXT IDC_EDIT_ORDERING_TICK_MIN,62,39,34,12,ES_RIGHT | ES_AUTOHSCROLL
LTEXT "~",IDC_STATIC,100,41,8,8,NOT WS_GROUP
EDITTEXT IDC_EDIT_ORDERING_TICK_MAX,110,39,34,12,ES_RIGHT | ES_AUTOHSCROLL
LTEXT "취소 : ",IDC_STATIC,24,59,24,8,NOT WS_GROUP
EDITTEXT IDC_EDIT_CANCEL_DELAY,61,57,34,12,ES_AUTOHSCROLL,WS_EX_RIGHT
LTEXT "ms",IDC_STATIC,99,60,10,8,NOT WS_GROUP
CONTROL "1차 매도호가",IDC_RADIO_BID,"Button",BS_AUTORADIOBUTTON | WS_GROUP | WS_TABSTOP,174,42,60,10
CONTROL "1차 매수호가",IDC_RADIO_ASK,"Button",BS_AUTORADIOBUTTON,235,42,61,10
CONTROL "콜옵션",IDC_RADIO_CALLOP,"Button",BS_AUTORADIOBUTTON | WS_GROUP | WS_TABSTOP,174,58,37,10
CONTROL "풋옵션",IDC_RADIO_PUTOP,"Button",BS_AUTORADIOBUTTON,215,58,37,10
GROUPBOX "매도 조건",IDC_STATIC,7,85,305,58,WS_GROUP
LTEXT "요청 틱 :",IDC_STATIC,19,102,32,8,NOT WS_GROUP
EDITTEXT IDC_EDIT_SELL_TICK,62,101,34,12,ES_RIGHT | ES_AUTOHSCROLL | ES_NUMBER
LTEXT "틱",IDC_STATIC,101,104,8,8,NOT WS_GROUP
LTEXT "트레일링 :",IDC_STATIC,19,121,38,8,NOT WS_GROUP
EDITTEXT IDC_EDIT_TRAING_TICK,62,120,34,12,ES_RIGHT | ES_AUTOHSCROLL
LTEXT "(가격)",IDC_STATIC,101,122,21,8,NOT WS_GROUP
LTEXT "손절 범위 :",IDC_STATIC,173,102,40,8,NOT WS_GROUP
EDITTEXT IDC_EDIT_LOSS_CUT_TICK,215,101,34,12,ES_RIGHT | ES_AUTOHSCROLL
LTEXT "(가격)",IDC_STATIC,253,104,26,8,NOT WS_GROUP
LTEXT "청산 시간 :",IDC_STATIC,173,121,40,8,NOT WS_GROUP
EDITTEXT IDC_EDIT_WIND_UP_DELAY,215,120,34,12,ES_RIGHT | ES_AUTOHSCROLL | ES_NUMBER
LTEXT "ms",IDC_STATIC,254,123,10,8,NOT WS_GROUP
DEFPUSHBUTTON "검색",IDC_BUTTON_SEARCH,205,147,50,14
PUSHBUTTON "거래 시작",IDC_BUTTON_START_DEAL,263,147,50,14
LISTBOX IDC_LIST_ITEMS,7,169,305,100,LBS_HASSTRINGS | LBS_NOINTEGRALHEIGHT | WS_VSCROLL | WS_TABSTOP
END
@@ -166,7 +170,7 @@ BEGIN
LEFTMARGIN, 7
RIGHTMARGIN, 312
TOPMARGIN, 7
BOTTOMMARGIN, 236
BOTTOMMARGIN, 269
END
END
#endif // APSTUDIO_INVOKED

Binary file not shown.

View File

@@ -7,9 +7,11 @@
#include "Trader.h"
#include <string>
#include <vector>
#include <hash_map>
#include <fstream>
using std::vector;
using stdext::hash_map;
using std::string;
using std::ofstream;
@@ -22,6 +24,23 @@ struct CP_BUYINFO
};
struct CP_UNITINFO
{
string m_Code;
int m_iCnt;
float m_fBoughtPrice;
float m_fHighestPrice;
CTime m_Time;
int m_iOrderNum;
};
struct CP_PRICEINFO
{
float m_afAskPrice[5];
float m_afBidPrice[5];
};
enum CP_STATE
{
CPS_WAIT=0,
@@ -43,14 +62,14 @@ public:
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);
afx_msg void OnTimer(UINT_PTR nIDEvent);
virtual void ReceivedSysDib();
virtual void ReceivedDib();
@@ -90,6 +109,7 @@ private:
float m_fLossCutTick;
float m_fTrailingTick;
int m_iCancelDelay;
int m_iWindUpDelay;
BOOL m_bBuyOnBid1;
BOOL m_bPutOption;
@@ -101,6 +121,12 @@ private:
int m_iOrderNum;
CTime m_BoughtT;
vector<CP_UNITINFO> m_OrderList;
vector<CP_UNITINFO> m_ConclusionList;
vector<CP_UNITINFO> m_WindUpList;
hash_map<string, CP_PRICEINFO> m_CurPriceList;
CpDib::IDibPtr m_pCpFConclusion;
CEventHandlerDib m_EventHandlerDib;
@@ -114,12 +140,12 @@ private:
void Unsubscribe(void);
void BuyThis(const string& Code, const float fBid1Price, const int iBid1Cnt, float afAskPrice[5]);
void CorrectToCurrent(const string& Code);
void SellThis(const string& Code);
void WindUp(const string& Code);
void CancelOrder(const string& Code);
inline void SwitchState(const CP_STATE enState);
void CPLog(const std::string fmt, ...);
// winding-up 청산
};

View File

@@ -3,33 +3,24 @@
// Used by CPRobot.rc
//
#define IDD_CPROBOT_DIALOG 102
#define IDD_CPROBOT_DIALOG2 102
#define IDR_MAINFRAME 128
#define IDI_ICON2 132
#define IDI_ICON_STOCK 132
#define IDC_EDIT_ORDERING_TICK_MIN 1000
#define IDC_EDIT_ORDERING_TICK_MAX 1001
#define IDC_BUTTON_SEARCH 1002
#define IDC_BUTTON_START_DEAL 1003
#define IDC_EDIT_ORDERINGPRICE 1004
#define IDC_BUTTON_REFRESH_BALANCE 1005
#define IDC_RADIO_BID 1006
#define IDC_EDIT4 1007
#define IDC_EDIT_SELL_TICK 1007
#define IDC_EDIT5 1008
#define IDC_EDIT_LOSS_CUT_TICK 1008
#define IDC_EDIT6 1009
#define IDC_EDIT_TRAING_TICK 1009
#define IDC_EDIT7 1010
#define IDC_EDIT_HAVE_TIME_MAX 1010
#define IDC_EDIT_CANCEL_DELAY 1010
#define IDC_STATIC_BALANCE 1011
#define IDC_RADIO_CALLOP 1012
#define IDC_RADIO_PUTOP 1013
#define IDC_LIST_ITEMS 1014
#define IDC_RADIO2 1015
#define IDC_RADIO_ASK 1015
#define IDC_BUTTON1 1016
#define IDC_EDIT_WIND_UP_DELAY 1011
#define IDC_STATIC_BALANCE 1012
#define IDC_RADIO_CALLOP 1013
#define IDC_RADIO_PUTOP 1014
#define IDC_LIST_ITEMS 1015
#define IDC_RADIO_ASK 1017
// Next default values for new objects
//
@@ -37,7 +28,7 @@
#ifndef APSTUDIO_READONLY_SYMBOLS
#define _APS_NEXT_RESOURCE_VALUE 133
#define _APS_NEXT_COMMAND_VALUE 32771
#define _APS_NEXT_CONTROL_VALUE 1017
#define _APS_NEXT_CONTROL_VALUE 1018
#define _APS_NEXT_SYMED_VALUE 101
#endif
#endif

View File

@@ -43,4 +43,5 @@
#import "c:\daishin\cybosplus\cptrade.dll" no_namespace named_guids
#import "c:\daishin\cybosplus\cputil.dll" no_namespace named_guids
typedef unsigned int uint;
#define SAFE_DELETE(p) { if(p) delete p; p = NULL; }