Skip to content

Commit e232a46

Browse files
committed
Stochastic & Stochastic Rsi Parameters
1 parent 30e52fa commit e232a46

File tree

4 files changed

+63
-21
lines changed

4 files changed

+63
-21
lines changed

finplotWindow.py

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -71,13 +71,13 @@ def drawRsi(self, period):
7171
self.rsi_indicator.draw(self.ax_rsi)
7272
pass
7373

74-
def drawStochastic(self, period_k, period_d):
75-
self.stochastic_indicator = stochastic.Stochastic(self.data, period_k, period_d)
74+
def drawStochastic(self, period, smooth_k, smooth_d):
75+
self.stochastic_indicator = stochastic.Stochastic(self.data, period, smooth_k, smooth_d)
7676
self.stochastic_indicator.draw(self.ax_stochastic)
7777
pass
7878

79-
def drawStochasticRsi(self, period, period_k, period_d, period_):
80-
self.stochasticRsi_indicator = stochasticRsi.StochasticRsi(self.data)
79+
def drawStochasticRsi(self, period, smooth_k, smooth_d):
80+
self.stochasticRsi_indicator = stochasticRsi.StochasticRsi(self.data, period, smooth_k, smooth_d)
8181
self.stochasticRsi_indicator.draw(self.ax_stochasticRsi)
8282
pass
8383

indicators/stochastic.py

Lines changed: 4 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -8,15 +8,11 @@
88

99
class Stochastic():
1010

11-
def __init__(self, dataFrames, stochastic_periods=14, stochastic_quick=3, stochastic_smooth = 3):
12-
self.stochastic_df, self.stochastic_quick_df = calc_stochastic_oscillator(dataFrames, stochastic_periods, stochastic_quick, stochastic_smooth)
11+
def __init__(self, dataFrames, stochastic_periods=14, stochastic_k_smooth=1, stochastic_d_smooth = 3):
12+
self.stochastic_k_df, self.stochastic_d_df = calc_stochastic_oscillator(dataFrames, stochastic_periods, stochastic_k_smooth, stochastic_d_smooth)
1313
pass
1414

1515
def draw(self, ax, stochasticColor = "magenta", stochastic_quick_color="yellow"):
16-
self.stochastic_plot = fplt.plot(self.stochastic_df, ax = ax, color=stochasticColor, width=1 )
17-
self.stochastic_quick_plot = fplt.plot(self.stochastic_quick_df, ax = ax, color=stochastic_quick_color, width=1 )
18-
pass
19-
20-
def clear(self):
21-
16+
self.stochastic_k_plot = fplt.plot(self.stochastic_k_df, ax = ax, color=stochasticColor, width=1 )
17+
self.stochastic_d_plot = fplt.plot(self.stochastic_d_df, ax = ax, color=stochastic_quick_color, width=1 )
2218
pass

indicators/stochasticRsi.py

Lines changed: 3 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -12,11 +12,8 @@ def __init__(self, dataFrames, period=14, smoothK=3, smoothD = 3):
1212
self.stochrsi, self.stochrsi_K, self.stochrsi_D = StochRSI(dataFrames, period, smoothK, smoothD)
1313
pass
1414

15-
def draw(self, ax, stochasticRsi_color = "red", stochasticRsi_quick_color="green"):
16-
self.stochrsi_K_plot = fplt.plot(self.stochrsi_K, ax = ax, color=stochasticRsi_color, width=1 )
17-
self.stochrsi_D_plot = fplt.plot(self.stochrsi_D, ax = ax, color=stochasticRsi_quick_color, width=1 )
15+
def draw(self, ax, stochasticRsi_k_color = "red", stochasticRsi_d_color="green"):
16+
self.stochrsi_K_plot = fplt.plot(self.stochrsi_K, ax = ax, color=stochasticRsi_k_color, width=1 )
17+
self.stochrsi_D_plot = fplt.plot(self.stochrsi_D, ax = ax, color=stochasticRsi_d_color, width=1 )
1818
pass
1919

20-
def clear(self):
21-
22-
pass

userInterface.py

Lines changed: 52 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -577,7 +577,6 @@ def toogleRsi(self):
577577
paramDialog.setWindowFlags(QtCore.Qt.CustomizeWindowHint)
578578
paramDialog.setTitle("RSI Indicator parameters")
579579
paramDialog.addParameter("RSI Period", 14)
580-
#paramDialog.setStyleSheet("QDialog{ border: 1px solid green; }")
581580
paramDialog.adjustSize()
582581

583582
if (paramDialog.exec() == QtWidgets.QDialog.Accepted ):
@@ -596,11 +595,61 @@ def toogleRsi(self):
596595
pass
597596

598597
def toogleStochastic(self):
599-
self.dock_stochastic.show() if self.StochasticPB.isChecked() else self.dock_stochastic.hide()
598+
599+
if self.StochasticPB.isChecked():
600+
# Show indicator parameter dialog
601+
paramDialog = indicatorParametersUI.IndicatorParametersUI(self.dock_chart)
602+
paramDialog.setWindowFlags(QtCore.Qt.CustomizeWindowHint)
603+
paramDialog.setTitle("Stochastic Indicator parameters")
604+
paramDialog.addParameter("Stochastic Period K", 14)
605+
paramDialog.addParameter("Stochastic Smooth K", 3)
606+
paramDialog.addParameter("Stochastic Smooth D", 3)
607+
paramDialog.adjustSize()
608+
609+
if (paramDialog.exec() == QtWidgets.QDialog.Accepted ):
610+
period = paramDialog.getValue("Stochastic Period K")
611+
smooth_k = paramDialog.getValue("Stochastic Smooth K")
612+
smooth_d = paramDialog.getValue("Stochastic Smooth D")
613+
614+
self.fpltWindow.drawStochastic( period, smooth_k, smooth_d )
615+
self.dock_stochastic.show()
616+
else:
617+
# Cancel
618+
self.RsiPB.setChecked(False)
619+
self.dock_stochastic.hide()
620+
621+
else:
622+
self.dock_stochastic.hide()
623+
600624
pass
601625

602626
def toogleStochasticRsi(self):
603-
self.dock_stochasticRsi.show() if self.StochasticRsiPB.isChecked() else self.dock_stochasticRsi.hide()
627+
628+
if self.StochasticRsiPB.isChecked():
629+
# Show indicator parameter dialog
630+
paramDialog = indicatorParametersUI.IndicatorParametersUI(self.dock_chart)
631+
paramDialog.setWindowFlags(QtCore.Qt.CustomizeWindowHint)
632+
paramDialog.setTitle("Stochastic Indicator parameters")
633+
paramDialog.addParameter("Stochastic Rsi Period K", 14)
634+
paramDialog.addParameter("Stochastic Rsi Smooth K", 3)
635+
paramDialog.addParameter("Stochastic Rsi Smooth D", 3)
636+
paramDialog.adjustSize()
637+
638+
if (paramDialog.exec() == QtWidgets.QDialog.Accepted ):
639+
period = paramDialog.getValue("Stochastic Rsi Period K")
640+
smooth_k = paramDialog.getValue("Stochastic Rsi Smooth K")
641+
smooth_d = paramDialog.getValue("Stochastic Rsi Smooth D")
642+
643+
self.fpltWindow.drawStochasticRsi( period, smooth_k, smooth_d)
644+
self.dock_stochasticRsi.show()
645+
else:
646+
# Cancel
647+
self.RsiPB.setChecked(False)
648+
self.dock_stochasticRsi.hide()
649+
650+
else:
651+
self.dock_stochasticRsi.hide()
652+
604653
pass
605654

606655
# On chart indicators

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