Skip to content

Commit ece6999

Browse files
committed
fix when running strat again
1 parent ed1aeb9 commit ece6999

File tree

5 files changed

+60
-5
lines changed

5 files changed

+60
-5
lines changed

Controller.py

Lines changed: 9 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -59,7 +59,6 @@ def __init__(self):
5959
global wallet
6060
wallet = Wallet(self.startingcash )
6161
self.wallet = wallet
62-
6362

6463
# Then add obersers and analyzers
6564
self.cerebro.addanalyzer(bt.analyzers.TradeAnalyzer, _name = "ta")
@@ -147,6 +146,11 @@ def strategyParametersSave(self, parameterName, parameterValue):
147146

148147
def run(self):
149148

149+
# UI label
150+
self.interface.strategyTesterUI.runLabel.setText("Running strategy...")
151+
152+
self.interface.resetChart()
153+
150154
# Add strategy here to get modified parameters
151155
test = self.strategyParameters
152156
self.strategyIndex = self.cerebro.addstrategy(self.strategyClass, test)
@@ -161,6 +165,10 @@ def run(self):
161165

162166
# Display results
163167
self.displayStrategyResults()
168+
169+
# UI label
170+
self.interface.strategyTesterUI.runLabel.setText("Strategy backtest completed.")
171+
164172
pass
165173

166174

finplotWindow.py

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -286,6 +286,11 @@ def resetPlots(self):
286286

287287
pass
288288

289+
def refreshChart(self):
290+
291+
fplt.refresh()
292+
pass
293+
289294
def setChartData(self, data):
290295
self.data = data
291296
pass

observers/SkinokObserver.py

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -36,6 +36,10 @@ def __init__(self):
3636
self.progressBar.setMaximum(self.datas[0].close.buflen())
3737
self.progressBar.setValue(0)
3838

39+
Controller.wallet.value_list = []
40+
Controller.wallet.equity_list = []
41+
Controller.wallet.cash_list = []
42+
3943
def next(self):
4044

4145
# Watch trades

ui/strategyTester.ui

Lines changed: 21 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@
1515
</property>
1616
<layout class="QGridLayout" name="gridLayout_2">
1717
<item row="0" column="0">
18-
<widget class="QGroupBox" name="groupBox">
18+
<widget class="QGroupBox" name="backTestingGroupBox">
1919
<property name="title">
2020
<string>Back testing</string>
2121
</property>
@@ -37,7 +37,25 @@
3737
</widget>
3838
</item>
3939
<item row="7" column="0">
40-
<widget class="QScrollArea" name="scrollArea">
40+
<widget class="QScrollArea" name="parametersScrollArea">
41+
<property name="sizePolicy">
42+
<sizepolicy hsizetype="Expanding" vsizetype="Minimum">
43+
<horstretch>0</horstretch>
44+
<verstretch>0</verstretch>
45+
</sizepolicy>
46+
</property>
47+
<property name="minimumSize">
48+
<size>
49+
<width>0</width>
50+
<height>50</height>
51+
</size>
52+
</property>
53+
<property name="maximumSize">
54+
<size>
55+
<width>16777215</width>
56+
<height>250</height>
57+
</size>
58+
</property>
4159
<property name="widgetResizable">
4260
<bool>true</bool>
4361
</property>
@@ -47,7 +65,7 @@
4765
<x>0</x>
4866
<y>0</y>
4967
<width>192</width>
50-
<height>210</height>
68+
<height>69</height>
5169
</rect>
5270
</property>
5371
<layout class="QVBoxLayout" name="verticalLayout">

userInterface.py

Lines changed: 21 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -429,7 +429,6 @@ def setOrders(self, orders):
429429
self.fpltWindow.drawOrders(orders)
430430
pass
431431

432-
433432
#########
434433
# Draw PnL chart
435434
# A python expert could do waaaaay better optimized on this function
@@ -469,6 +468,14 @@ def createControlPanel(self):
469468
layout.setColumnMinimumWidth(3, 30)
470469
'''
471470

471+
# Rest
472+
self.ResetPB = QtWidgets.QPushButton(self.panel)
473+
self.ResetPB.setText("Reset")
474+
self.ResetPB.setCheckable(True)
475+
self.ResetPB.setMaximumWidth(100)
476+
self.ResetPB.toggled.connect(self.resetChart)
477+
layout.addWidget(self.ResetPB)
478+
472479
# Ichimoku
473480
self.IchimokuPB = QtWidgets.QPushButton(self.panel)
474481
self.IchimokuPB.setText("Ichimoku")
@@ -507,13 +514,22 @@ def dark_mode_toggle(self):
507514
##########
508515
# INDICATORS
509516
##########
517+
def resetChart(self):
518+
self.fpltWindow.updateChart()
519+
#self.fpltWindow.resetPlots()
520+
#self.fpltWindow.drawCandles()
521+
#self.fpltWindow.refreshChart()
522+
pass
523+
510524
def addIchimoku(self):
511525
self.fpltWindow.setIndicator("Ichimoku", self.IchimokuPB.isChecked() )
512526
pass
513527
def volumes_toggle(self):
514528
self.fpltWindow.setIndicator("Volumes", self.volumesCB.isChecked())
515529
pass
516530

531+
532+
517533
#########
518534
# Obsolete (Strategy results : transcations tab)
519535
#########
@@ -571,6 +587,10 @@ def fillStrategyParameters(self, strategy):
571587
row = row + 1
572588
pass
573589

590+
# Parameter box size
591+
self.strategyTesterUI.parametersLayout.update()
592+
self.strategyTesterUI.parametersScrollArea.adjustSize()
593+
574594
pass
575595

576596

0 commit comments

Comments
 (0)
pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy