Example #1
0
    def __init__(self, logger, ui2eg_q, eg2ui_q):

        # 日志对象
        self.logger = logger
        # 初始化多语言
        # load_language("config")
        self._ui2egQueue = ui2eg_q
        self._eg2uiQueue = eg2ui_q

        # UI2EG发送请求对象
        self._request = SendRequest(self._ui2egQueue, self.logger)
        # 高分辨率支持
        QApplication.setAttribute(Qt.AA_EnableHighDpiScaling)
        qInstallMessageHandler(lambda x, y, z: None)

        self.mainApp = QApplication(sys.argv)

        # 根据分辨率调整字体
        font = QFont("Microsoft YaHei UI", 11)
        pointsize = font.pointSize()
        font.setPixelSize(pointsize * 96 / 72)
        self.mainApp.setFont(font)

        ################创建回测报告####################
        self._createReportWin()
        ################################################

        version = ''
        if os.path.exists('../Version.txt'):
            with open('../Version.txt', 'r', encoding='utf-8-sig') as f:
                version = f.readline()
        if ' ' in version:
            version = version.split(' ')[1]
        if len(version) > 0:
            version = ' - ' + version

        self.mainWnd = FramelessWindow()
        self.mainWnd.setWindowTitle('极星量化' + version)
        self.app = QuantApplication(self, master=self.mainWnd)
        if self.app.settings.contains('theme') and self.app.settings.value(
                'theme') == 'vs-dark':
            theme = THESE_STATE_DARK
        else:
            theme = THESE_STATE_WHITE

        self.mainWnd.setWinThese(theme)
        self.mainWnd.setWindowIcon(QIcon('icon/epolestar ix2.ico'))
        screen = QDesktopWidget().screenGeometry()
        self.mainWnd.setGeometry(screen.width() * 0.1,
                                 screen.height() * 0.1,
                                 screen.width() * 0.8,
                                 screen.height() * 0.8)
        # self.mainWnd.titleBar.buttonClose.clicked.connect(self.quitThread)
        self.mainWnd.titleBar.buttonClose.clicked.disconnect(
            self.mainWnd.titleBar.closeWindow)
        self.mainWnd.titleBar.buttonClose.clicked.connect(
            self.app.save_edit_strategy)
        self.mainWnd.setWidget(self.app)

        # 创建模块
        self.model = QuantModel(self.app, self._ui2egQueue, self._eg2uiQueue,
                                self.logger)
        self.app.init_control()
        self.logger.info("Create quant model!")

        # 策略管理器
        self.strategyManager = self.getStManager()

        # 创建接收引擎数据线程
        self.receiveEgThread = ChildThread(self.model.receiveEgEvent)
Example #2
0
    def __init__(self, logger, ui2eg_q, eg2ui_q):

        # 日志对象
        self.logger = logger
        # 初始化多语言
        # load_language("config")
        self._ui2egQueue = ui2eg_q
        self._eg2uiQueue = eg2ui_q

        # UI2EG发送请求对象
        self._request = SendRequest(self._ui2egQueue, self.logger)
        # 高分辨率支持
        QApplication.setAttribute(Qt.AA_EnableHighDpiScaling)
        # 创建主窗口
        QApplication.setAttribute(Qt.AA_EnableHighDpiScaling)  # 高分辨率下适应屏幕
        self.mainApp = QApplication(sys.argv)

        # 根据分辨率调整字体
        font = QFont("Microsoft YaHei UI", 10)
        pointsize = font.pointSize()
        font.setPixelSize(pointsize * 90 / 72)
        self.mainApp.setFont(font)

        ###############回测报告#####################
        style = CommonHelper.readQss(DARKSTYLE)
        self.reportWnd = FramelessWindow()
        self.reportWnd.setStyleSheet(style)
        self.reportWnd.setWindowTitle("回测报告")
        self.reportWnd.setWinThese(THESE_STATE_DARK)
        self.reportWnd.setWindowIcon(QIcon('icon/epolestar ix2.ico'))
        self.reportView = ReportView()
        self.reportWnd.setWidget(self.reportView)

        ##############################################

        self.app = QuantApplication(self)
        if self.app.settings.contains('theme') and self.app.settings.value(
                'theme') == 'vs-dark':
            qss_path = DARKSTYLE
            theme = THESE_STATE_DARK
        else:
            qss_path = WHITESTYLE
            theme = THESE_STATE_WHITE
        # 回测报告窗口(主线程中创建)
        self.mainWnd = FramelessWindow()
        style = CommonHelper.readQss(qss_path)
        self.mainWnd.setStyleSheet(style)
        self.mainWnd.setWindowTitle('极星量化')
        self.mainWnd.setWinThese(theme)
        self.mainWnd.setWindowIcon(QIcon('icon/epolestar ix2.ico'))
        screen = QDesktopWidget().screenGeometry()
        self.mainWnd.setGeometry(screen.width() * 0.1,
                                 screen.height() * 0.1,
                                 screen.width() * 0.8,
                                 screen.height() * 0.8)
        self.mainWnd.titleBar.buttonClose.clicked.connect(self.quitThread)
        self.mainWnd.setWidget(self.app)

        # 创建模块
        self.model = QuantModel(self.app, self._ui2egQueue, self._eg2uiQueue,
                                self.logger)
        self.app.init_control()
        self.logger.info("Create quant model!")

        # 策略管理器
        self.strategyManager = self.getStManager()

        # 创建接收引擎数据线程
        self.receiveEgThread = ChildThread(self.model.receiveEgEvent)