def __init__(self, *args, **kwds): # begin wxGlade: AnalysisPanel.__init__ kwds["style"] = wx.TAB_TRAVERSAL wx.Panel.__init__(self, *args, **kwds) self.__set_properties() self.__do_layout() self.timer = wx.Timer(self) self.Bind(wx.EVT_PAINT, self.OnPaint) self.Bind(wx.EVT_ERASE_BACKGROUND, self.OnEraseBack) self.Bind(wx.EVT_TIMER, self.OnTimer, self.timer) self.Buffer = None self.__stockList = [] self.quote = '002094' dm = DataManager() q = dm.GetQuoteData(self.quote, 300, 5) self.df = q.df for bar in xrange(len(q.close)): a = StockData(self.quote) a.open = q.open[bar] a.close = q.close[bar] a.high = q.high[bar] a.low = q.low[bar] self.__stockList.append(a) self.timer.Start(10000)
def __init__(self, app): self.mainwindow = MyParentFrame() self.mainwindow.Bind(wx.EVT_MENU, self.On5MinAnalysis, id=ID_Menu_5Min) self.mainwindow.Bind(wx.EVT_MENU, self.On30MinAnalysis, id=ID_Menu_30Min) self.mainwindow.Bind(wx.EVT_MENU, self.OnDayAnalysis, id=ID_Menu_Day) self.mainwindow.Bind(wx.EVT_MENU, self.OnNewRealtimeWindow, id=ID_Menu_Realtime) self.mainwindow.Show(True) app.SetTopWindow(self.mainwindow) self.mainwindow.Bind(wx.EVT_KEY_DOWN, self.OnKeyDown) self.mainwindow.symbol_ctrl.Bind(wx.EVT_TEXT_ENTER, self.OnSymbolCtrlEnter) self.data_manager = DataManager() self.data_manager.start() self.symbol = '000001' self.data_manager.UpdateSymbol(self.symbol) #self.realtime_data = self.data_manager.GetQuoteData(self.symbol, 60, 1).df #self.analysis_data = self.data_manager.GetQuoteData(self.symbol, 1800, 30).df self._lastclose = self.data_manager.GetLastClose(self.symbol) self.realtime_data = None self.analysis_data = None #for d in self.data_manager.symbol_quote_dict.keys(): pub.subscribe(self.AnalysisDataArrive, "ANALYSISDATA") pub.subscribe(self.RealtimeDataArrive, "REALTIMEDATA") self.mainwindow.SetFocus() self.realtime_window = None self.analysis_window = None
def OnTimer(self, evt): dc = wx.ClientDC(self) dc = wx.BufferedDC(wx.ClientDC(self)) dc.Clear() q = DataManager().GetQuoteData(self.quote, 300, 10) self.df = q.df self.Refresh()