''' ''' from PyQt5.QtWidgets import QMainWindow, QTreeWidgetItem from .ui_mainwindow import Ui_MainWindow from solver.solver import Solver from data.series import Series from data.signal import PriceComparisonSignalGenerator, RsiSignalGenerator,\ AtrSignalGenerator from PyQt5.Qt import Qt class MainWindow(QMainWindow, Ui_MainWindow): ''' ''' def __init__(self, parent=None): ''' Constructor ''' super().__init__(parent) self.setupUi(self) self.series = Series() self.series.load_from_finam_csv('/home/asakul/tmp/daily/RTSI_20000101_20171231_daily.csv') self.solver = Solver(self.series) self.solver.add_generator(PriceComparisonSignalGenerator()) self.solver.add_generator(RsiSignalGenerator()) self.solver.add_generator(AtrSignalGenerator()) results = self.solver.solve() for result in results: item = QTreeWidgetItem(self.tw_strategies) item.setText(0, result['display_name']) item.setText(1, str(result['trades_number'])) item.setText(2, str(result['total_pnl'])) item.setText(3, "{:.2f}".format(result['profit_factor'])) item.setText(4, "{:.2f}".format(result['sharpe'])) item.setText(5, "{:.2f}%".format(result['avg_percentage'])) item.setData(0, Qt.UserRole + 1, result) def strategyClicked(self, item, column): result = item.getData(0, Qt.UserRole + 1)