Beispiel #1
0
 def initUi(self):
     """初始化界面"""
     self.setWindowTitle(u'CTA Strategy')
     
     # 按钮
     loadButton = QtWidgets.QPushButton(u'Load Strategy')
     updateMCButton = QtWidgets.QPushButton(u'Update Margin/Commission')
     
     loadButton.clicked.connect(self.load)
     updateMCButton.clicked.connect(self.updateMC)
     
     # 滚动区域,放置所有的ArbStrategyManager
     self.scrollArea = QtWidgets.QScrollArea()
     self.scrollArea.setWidgetResizable(True)
     
     # ARB组件的日志监控
     self.arbLogMonitor = QtWidgets.QTextEdit()
     self.arbLogMonitor.setReadOnly(True)
     self.arbLogMonitor.setMaximumHeight(200)
     
     # 设置布局
     hbox2 = QtWidgets.QHBoxLayout()
     hbox2.addWidget(loadButton)
     hbox2.addWidget(updateMCButton)
     hbox2.addStretch()
     
     vbox = QtWidgets.QVBoxLayout()
     vbox.addLayout(hbox2)
     vbox.addWidget(self.scrollArea)
     vbox.addWidget(self.arbLogMonitor)
     self.setLayout(vbox)
Beispiel #2
0
    def __init__(self, parent=None):
        """Constructor"""
        super(CtaEngineMonitorWidget, self).__init__(parent)
        self.mainEngine = None
        self.strategy_monitors = {}

        self.scrollArea = QtWidgets.QScrollArea()
        self.scrollArea.setWidgetResizable(True)

        self.scrollLayout = QtWidgets.QVBoxLayout()

        self.initUi()
        self.initVarMonitors = False
Beispiel #3
0
    def initUi(self):
        """初始化界面"""
        self.setWindowTitle(text.CTA_STRATEGY)

        # 按钮
        loadButton = QtWidgets.QPushButton(text.LOAD_STRATEGY)
        initAllButton = QtWidgets.QPushButton(text.INIT_ALL)
        startAllButton = QtWidgets.QPushButton(text.START_ALL)
        stopAllButton = QtWidgets.QPushButton(text.STOP_ALL)

        loadButton.clicked.connect(self.load)
        initAllButton.clicked.connect(self.initAll)
        startAllButton.clicked.connect(self.startAll)
        stopAllButton.clicked.connect(self.stopAll)

        # 滚动区域,放置所有的CtaStrategyManager
        self.scrollArea = QtWidgets.QScrollArea()
        self.scrollArea.setWidgetResizable(True)

        # CTA组件的日志监控
        self.ctaLogMonitor = QtWidgets.QTextEdit()
        self.ctaLogMonitor.setReadOnly(True)
        self.ctaLogMonitor.setMaximumHeight(200)

        # 设置布局
        hbox2 = QtWidgets.QHBoxLayout()
        hbox2.addWidget(loadButton)
        hbox2.addWidget(initAllButton)
        hbox2.addWidget(startAllButton)
        hbox2.addWidget(stopAllButton)
        hbox2.addStretch()

        vbox = QtWidgets.QVBoxLayout()
        vbox.addLayout(hbox2)
        vbox.addWidget(self.scrollArea)
        vbox.addWidget(self.ctaLogMonitor)

        self.setLayout(vbox)
        self.resize(1024, 800)  #ROBINLIN

        # ROBINLIN 窗口显示后,立即加载和初始化策略。
        self.load()
        self.initAll()
        self.startAll()
Beispiel #4
0
    def initUi(self):
        """初始化界面"""
        self.setWindowTitle(text.CTA_STRATEGY)

        # 按钮
        loadButton = QtWidgets.QPushButton(text.LOAD_STRATEGY)
        initAllButton = QtWidgets.QPushButton(text.INIT_ALL)
        startAllButton = QtWidgets.QPushButton(text.START_ALL)
        stopAllButton = QtWidgets.QPushButton(text.STOP_ALL)
        savePositionButton = QtWidgets.QPushButton(text.SAVE_POSITION_DATA)

        loadButton.clicked.connect(self.load)
        initAllButton.clicked.connect(self.initAll)
        startAllButton.clicked.connect(self.startAll)
        stopAllButton.clicked.connect(self.stopAll)
        savePositionButton.clicked.connect(self.ctaEngine.savePosition)

        # 滚动区域,放置所有的CtaStrategyManager
        self.scrollArea = QtWidgets.QScrollArea()
        self.scrollArea.setWidgetResizable(True)

        # CTA组件的日志监控
        self.ctaLogMonitor = QtWidgets.QTextEdit()
        self.ctaLogMonitor.setReadOnly(True)
        self.ctaLogMonitor.setMaximumHeight(200)

        # 设置布局
        hbox2 = QtWidgets.QHBoxLayout()
        hbox2.addWidget(loadButton)
        hbox2.addWidget(initAllButton)
        hbox2.addWidget(startAllButton)
        hbox2.addWidget(stopAllButton)
        hbox2.addWidget(savePositionButton)
        hbox2.addStretch()

        vbox = QtWidgets.QVBoxLayout()
        vbox.addLayout(hbox2)
        vbox.addWidget(self.scrollArea)
        vbox.addWidget(self.ctaLogMonitor)
        self.setLayout(vbox)
    def initUi(self):
        """初始化界面"""
        self.setWindowTitle(u'期权策略')

        # 按钮
        loadButton = QtWidgets.QPushButton(u'加载策略')
        initAllButton = QtWidgets.QPushButton(u'全部初始化')
        startAllButton = QtWidgets.QPushButton(u'全部启动')
        stopAllButton = QtWidgets.QPushButton(u'全部停止')

        loadButton.clicked.connect(self.load)
        initAllButton.clicked.connect(self.initAll)
        startAllButton.clicked.connect(self.startAll)
        stopAllButton.clicked.connect(self.stopAll)

        # 滚动区域,放置所有的StrategyManager
        self.scrollArea = QtWidgets.QScrollArea()
        self.scrollArea.setWidgetResizable(True)

        # 日志监控
        self.ctaLogMonitor = QtWidgets.QTextEdit()
        self.ctaLogMonitor.setReadOnly(True)
        self.ctaLogMonitor.setMaximumHeight(200)

        # 设置布局
        hbox2 = QtWidgets.QHBoxLayout()
        hbox2.addWidget(loadButton)
        hbox2.addWidget(initAllButton)
        hbox2.addWidget(startAllButton)
        hbox2.addWidget(stopAllButton)
        hbox2.addStretch()

        vbox = QtWidgets.QVBoxLayout()
        vbox.addLayout(hbox2)
        vbox.addWidget(self.scrollArea)
        vbox.addWidget(self.ctaLogMonitor)
        self.setLayout(vbox)
Beispiel #6
0
    def initUi(self):
        """初始化界面"""

        # 1) 服务端级别按钮,
        btnConnectRpcServer = QtWidgets.QPushButton(u'Connect {0}'.format(
            self.name))
        btnActivateGateWayConnection = QtWidgets.QPushButton(u'activate CTP')
        btnDeactivateGateway = QtWidgets.QPushButton(u'Deactivate CTP')
        btnQryStatus = QtWidgets.QPushButton(u'Qry Status')

        btnConnectRpcServer.clicked.connect(self.connect_rpc_server)
        btnActivateGateWayConnection.clicked.connect(
            self.activate_gateway_connection)
        btnDeactivateGateway.clicked.connect(
            self.deactivate_gateway_connection)
        btnQryStatus.clicked.connect(self.qryStatus)

        hbox1 = QtWidgets.QHBoxLayout()
        hbox1.addWidget(btnConnectRpcServer)
        hbox1.addWidget(btnActivateGateWayConnection)
        hbox1.addWidget(btnDeactivateGateway)
        hbox1.addWidget(btnQryStatus)

        self.chkCritical = QtWidgets.QCheckBox('Critical')
        self.chkCritical.setChecked(True)
        self.chkError = QtWidgets.QCheckBox('Error')
        self.chkError.setChecked(True)
        self.chkWarning = QtWidgets.QCheckBox('Warning')
        self.chkWarning.setChecked(True)
        self.chkCtaLog = QtWidgets.QCheckBox('CtaLog')
        self.chkCtaLog.setChecked(True)
        self.chkTicks = QtWidgets.QCheckBox('Ticks')
        self.chkTicks.setChecked(False)
        self.chkSignal = QtWidgets.QCheckBox('Signal')
        self.chkSignal.setChecked(True)

        hbox1.addWidget(self.chkCritical)
        hbox1.addWidget(self.chkError)
        hbox1.addWidget(self.chkWarning)
        hbox1.addWidget(self.chkCtaLog)
        hbox1.addWidget(self.chkTicks)
        hbox1.addWidget(self.chkSignal)

        hbox1.addStretch()

        self.server_info_monitor = ServerInfoWidget()

        # 滚动区域,放置所有的CtaStrategyManager
        self.scrollArea = QtWidgets.QScrollArea()
        self.scrollArea.setWidgetResizable(True)

        # 2)服务端策略监控widget
        self.ctaMonitor = CtaEngineMonitorWidget(self)  # 参数监控
        self.ctaMonitor.setMinimumHeight(200)
        #self.ctaMonitor.setMinimumWidth(800)

        hbox2 = QtWidgets.QVBoxLayout()
        hbox2.addWidget(self.ctaMonitor)
        self.scrollArea.setLayout(hbox2)

        # 服务端日志监控widget
        self.logMonitor = QtWidgets.QTextEdit()
        self.logMonitor.setReadOnly(True)
        self.logMonitor.setMaximumHeight(200)

        vbox = QtWidgets.QVBoxLayout()
        vbox.addLayout(hbox1)
        vbox.addWidget(self.server_info_monitor)  # 添加服务监控
        vbox.addWidget(self.logMonitor)
        vbox.addWidget(self.scrollArea)

        self.setLayout(vbox)