| | |
| | | #include <wx/dataview.h> |
| | | #include <list> |
| | | #include "ViewManager.h" |
| | | #include "DataStruct.h" |
| | | #include "TickDataRequestStrategy.h" |
| | | #include "JueJinDataUtil.h" |
| | | #include "BlinkingMessageDialog.h" |
| | | |
| | | |
| | | |
| | |
| | | { |
| | | private: |
| | | ViewManager* viewManager; |
| | | std::list<PositionInfo> orginPositionList; |
| | | std::list<PositionInfo> positionList; |
| | | wxString selectPositionId;// 选中的持仓ID |
| | | long msgExpireTime; |
| | | TickDataRequestStrategy* tickDataRequestStrategy; |
| | | bool killed; |
| | | BlinkingMessageDialog* blinkingMessageDialog; |
| | | int requestCount; |
| | | |
| | | public: |
| | | // Constructor |
| | | MainFrame(const wxString& title); |
| | | MainFrame(const wxString& title, wxPoint position=wxDefaultPosition, wxSize size= wxDefaultSize); |
| | | // Event handlers |
| | | void OnQuit(wxCommandEvent& event); |
| | | void OnAbout(wxCommandEvent& event); |
| | | void OnTextEnter(wxCommandEvent& event); |
| | | private: |
| | | // This class handles events |
| | | DECLARE_EVENT_TABLE() |
| | | |
| | | /// <summary> |
| | | /// 绑定事件 |
| | | /// </summary> |
| | | void bindEvent(); |
| | | |
| | | /// <summary> |
| | | /// 初始化数据 |
| | | /// </summary> |
| | | void initData(); |
| | | |
| | | /// <summary> |
| | | /// 初始化任务 |
| | | /// </summary> |
| | | void initTask(); |
| | | |
| | | |
| | | /// <summary> |
| | | /// 获取持仓 |
| | | /// </summary> |
| | | void requestPositions(); |
| | | |
| | | /// <summary> |
| | | /// 获取资金 |
| | | /// </summary> |
| | | void requestMoney(); |
| | | |
| | | /// <summary> |
| | | /// 开始持仓任务 |
| | | /// </summary> |
| | | /// <param name="context"></param> |
| | | static void startRequestPositionsTask(MainFrame *context); |
| | | |
| | | |
| | | /// <summary> |
| | | /// 获取持仓任务 |
| | | /// </summary> |
| | | /// <param name="context"></param> |
| | | static void startRequestMoneyTask(MainFrame* context); |
| | | |
| | | /// <summary> |
| | | /// 显示信息 |
| | | /// </summary> |
| | | /// <param name="msg"></param> |
| | | /// <param name="type"></param> |
| | | void showMsg(wxString msg, MsgTypeEnum type); |
| | | |
| | | /// <summary> |
| | | /// 清除信息 |
| | | /// </summary> |
| | | /// <param name="context"></param> |
| | | static void clearMsg(MainFrame* context); |
| | | |
| | | /// <summary> |
| | | /// 运行掘金策略 |
| | | /// </summary> |
| | | /// <param name="context"></param> |
| | | static void runJueJinStrategy(MainFrame* context); |
| | | |
| | | /// <summary> |
| | | /// 掘金行情数据回调 |
| | | /// </summary> |
| | | /// <param name="tick"></param> |
| | | /// <param name="context"></param> |
| | | static void tickDataCallback(Tick *tick, void* context); |
| | | |
| | | /// <summary> |
| | | /// 获取选中的持仓 |
| | | /// </summary> |
| | | /// <returns></returns> |
| | | PositionInfo getSeclectedPosition(); |
| | | |
| | | |
| | | /// <summary> |
| | | /// Tick 回调 |
| | | /// </summary> |
| | | /// <param name="info"></param> |
| | | /// <param name="xStartTime"></param> |
| | | /// <param name="xEndTime"></param> |
| | | static void OnTickCallBack(CodeBasicInfo info, wxString xStartTime, wxString xEndTime, std::list<TickTradeData> buyPoints, std::list<TickTradeData> sellPoints, float costRate, void* context); |
| | | |
| | | protected: |
| | | LRESULT MSWWindowProc(WXUINT nMsg, WXWPARAM wParam, WXLPARAM lParam); |
| | | |
| | | |
| | | private: |
| | | /// <summary> |
| | | /// 刷新事件 |
| | | /// </summary> |
| | | /// <param name="event"></param> |
| | | void OnBtnRefreshClick(wxCommandEvent& event); |
| | | /// <summary> |
| | | /// 买入点击事件 |
| | | /// </summary> |
| | | /// <param name="event"></param> |
| | | void OnBtnBuyClick(wxCommandEvent& event); |
| | | |
| | | /// <summary> |
| | | /// 卖出 |
| | | /// </summary> |
| | | /// <param name="event"></param> |
| | | void OnBtnSellClick(wxCommandEvent& event); |
| | | |
| | | void OnPositionSelectionChanged(wxDataViewEvent& event); |
| | | |
| | | /// <summary> |
| | | /// 回测 |
| | | /// </summary> |
| | | /// <param name="event"></param> |
| | | void OnBtnBackTest(wxCommandEvent& event); |
| | | |
| | | /// <summary> |
| | | /// 窗口关闭 |
| | | /// </summary> |
| | | /// <param name="event"></param> |
| | | void OnClose(wxCloseEvent& event); |
| | | |
| | | |
| | | }; |
| | | |