Exemplo n.º 1
0
    def __init__(self, settings):
        # mandatory
        QMainWindow.__init__(self)
        Ui_MainWindow.__init__(self)
        self.trading_session_state = "TBD"
        self.est = timezone('US/Eastern')
        self.settingsWindow = SettingsWindow()
        self.setupUi(self)
        self.settings = settings
        self.ibkrworker = IBKRWorker(self.settings)
        self.threadpool = QThreadPool()
        self.setWindowTitle("Algo Traider v 2.0")

        sys.stderr = open('LOG/errorLog.txt', 'w')

        self.create_open_positions_grid()

        # setting a timer for Worker

        self.uiTimer = QTimer()
        self.uiTimer.timeout.connect(self.update_ui)

        self.workerTimer = QTimer()
        self.workerTimer.timeout.connect(self.run_worker)

        self.server_timer = QTimer()
        self.server_timer.timeout.connect(self.report_to_server)
        self.server_timer.start(int(self.settings.INTERVALSERVER) * 1000)

        # connecting a buttons
        self.chbxProcess.stateChanged.connect(self.process_checked)
        self.btnSettings.pressed.connect(self.show_settings)

        self.statusbar.showMessage("Ready")

        stock_names = [o.ticker for o in self.settings.CANDIDATES]
        self.ibkrworker.stocks_data_from_server = get_market_data_from_server(
            self.settings, stock_names)
        self.update_console("Market data for " + str(len(stock_names)) +
                            " Candidates received from Server")
        self.start_updating_candidates_and_connect()

        StyleSheet = '''
        #lcdPNLgreen {
            border: 3px solid green;
        }
        #lcdPNLred {
            border: 3px solid red;
        }
        '''
        self.setStyleSheet(StyleSheet)
Exemplo n.º 2
0
    def __init__(self, settings):
        # mandatory
        QMainWindow.__init__(self)
        Ui_MainWindow.__init__(self)
        self.settingsWindow = SettingsWindow()
        self.setupUi(self)
        self.settings = settings
        self.ibkrworker = IBKRWorker(self.settings)
        self.threadpool = QThreadPool()
        self.setWindowTitle("Algo Traider v 2.0")

        sys.stderr = open('LOG/errorLog.txt', 'w')

        self.create_open_positions_grid()

        # # redirecting Cosole to UI and Log
        # sys.stdout = OutLog(self.consoleOut, sys.stdout)
        # sys.stderr = OutLog(self.consoleOut, sys.stderr)

        # setting a timer for Worker

        self.uiTimer = QTimer()
        self.uiTimer.timeout.connect(self.update_ui)

        self.workerTimer = QTimer()
        self.workerTimer.timeout.connect(self.run_worker)

        # connecting a buttons
        self.chbxProcess.stateChanged.connect(self.process_checked)
        self.btnSettings.pressed.connect(self.show_settings)

        self.statusbar.showMessage("Ready")
        # self.update_session_state()

        # self.connect_to_ibkr()

        if not self.settings.UIDEBUG:
            self.connect_to_ibkr()
        else:
            self.btnSettings.setEnabled(True)

        StyleSheet = '''
        #lcdPNLgreen {
            border: 3px solid green;
        }
        #lcdPNLred {
            border: 3px solid red;
        }
        '''
        self.setStyleSheet(StyleSheet)
Exemplo n.º 3
0
    def __init__(self):
        QMainWindow.__init__(self)
        Ui_MainWindow.__init__(self)
        self.setupUi(self)
        self.resize(600, 600)

        # define the Bin Information
        self.bin_info_dict = {}
        # define the Sort bin map
        self.bin_map_dict = {}
        # define bin data
        self.bin_data = pd.DataFrame()
        # define the ucs map and initial the map and ucs_info
        self.ucs_map = pd.DataFrame()
        self.ucs_info = pd.DataFrame()

        # Initialize scene and graphicView setting
        self.scene = QGraphicsScene()
        self.scene_text_item = None
        self.graphicsView.setScene(self.scene)
        # self.graphicsView.scale(1.5, 1.5)
        # self.scene.setSceneRect(-200, -200, 400, 400)

        # self.graphicsView.setScene(self.scene)
        self.graphicsView_save_path = os.path.abspath(".")

        # define the graphic item dictionary to store each plot item data
        self.graphics_item_dict = {}
        self.scene_text_item = None

        # create the dialog for wafer setting
        self.wafer_setting_dialog = ShowWaferSettingDialog()
        self.wafer_setting_dialog.wafer_layout_changed.connect(self.updateWaferLayoutSetting)
        self.wafer_setting_dialog.wafer_title_changed.connect(self.updateWaferTitleSetting)
        self.wafer_setting_dialog.die_props_changed.connect(self.updateDieSetting)

        # create the dialog for wafer selection
        self.wafer_select_dialog = ShowWaferItemDialog()
        self.wafer_select_dialog.select_item.connect(self.updateWaferSortMap)

        # create the ink dialog for wafer ink off process
        self.wafer_ink_dialog = ShowInkDialog()
        # self.wafer_select_dialog.select_bin.connect(self.updateWaferSortMap)

        # initial ink off setting in QGraphic View
        # self.graphicsView.ink_off_color = QColor(self.comboBox_inkoff_color.currentText())
        # self.die_edge_color = QColor(0, 0, 0, 90)

        # action button
        self.action_Map_Setting.triggered.connect(self.showWaferSettingDialog)
        self.action_Lot_Dialog.triggered.connect(self.showWaferSelectDialog)
        self.sort_map = SortMap(ucs_map_df=self.ucs_map, scene=self.scene)
        self.action_Zoom_In.triggered.connect(lambda : self.graphicsView.zoomMap(factor=1.1))
        self.action_Zoom_Out.triggered.connect(lambda : self.graphicsView.zoomMap(factor=0.9))
        self.action_Rotation_Left.triggered.connect(lambda : self.graphicsView.rotateMap(angle=-15))
        self.action_Rotation_Right.triggered.connect(lambda : self.graphicsView.rotateMap(angle=15))

        self.action_Ink_Off.triggered.connect(self.showInkDialog)

        # create the sort map class

        self.testGraphicPlot()

        self.testLotTableWidget()