fork download
  1. from tkinter import *
  2. from tkinter import messagebox
  3. import tkinter.ttk as ttk
  4. import test_support
  5. import datetime
  6. from BotGetData import BotGetData
  7. from botstrategy import BotStrategy
  8. from matplotlib import pyplot as plt
  9. from botChart import botChart
  10. from botlog import BotLog
  11. from AutoScroll import *
  12. import matplotlib.pyplot as plt
  13. import matplotlib
  14. matplotlib.use('TkAgg')
  15. import colorama
  16. import crayons
  17. import warnings
  18. warnings.filterwarnings("ignore")
  19. colorama.init()
  20.  
  21. def vp_start_gui():
  22. '''Starting point when module is the main routine.'''
  23. global val, w, root
  24. root = Tk()
  25. top = Trading_Gui (root)
  26. test_support.init(root, top)
  27. root.mainloop()
  28.  
  29. w = None
  30. def create_Trading_Gui(root, *args, **kwargs):
  31. '''Starting point when module is imported by another program.'''
  32. global w, w_win, rt
  33. rt = root
  34. w = Toplevel (root)
  35. top = Trading_Gui (w)
  36. test_support.init(w, top, *args, **kwargs)
  37. return (w, top)
  38.  
  39. def destroy_Trading_Gui():
  40. global w
  41. w.destroy()
  42. w = None
  43.  
  44.  
  45.  
  46. def clear_all():
  47. gl = globals().copy()
  48. for var in gl:
  49. if var[0] == '_': continue
  50. if 'func' in str(globals()[var]): continue
  51. if 'module' in str(globals()[var]): continue
  52.  
  53. del globals()[var]
  54.  
  55. class Trading_Gui:
  56. def __init__(self, top=None):
  57. '''This class configures and populates the toplevel window.
  58. top is the toplevel containing window.'''
  59. _bgcolor = '#d9d9d9' # X11 color: 'gray85'
  60. _fgcolor = '#000000' # X11 color: 'black'
  61. _compcolor = '#d9d9d9' # X11 color: 'gray85'
  62. _ana1color = '#d9d9d9' # X11 color: 'gray85'
  63. _ana2color = '#d9d9d9' # X11 color: 'gray85'
  64. self.root = root
  65. self.style = ttk.Style()
  66. self.style.theme_use("vista")
  67. self.style.configure('.',background=_bgcolor)
  68. self.style.configure('.',foreground=_fgcolor)
  69. self.style.configure('.',font="TkDefaultFont")
  70. self.style.map('.',background= [('selected', _compcolor), ('active',_ana2color)])
  71. self.strategy= []
  72. self.showChart = False
  73. self.startTrading = False
  74. self.closeAll= False
  75. self.stopRunning= False
  76. self.numberOfExecutions= 0
  77. self.numberOfTrades = 0
  78. self.output = BotLog()
  79. self.liveChartObject= []
  80. self.CheckVar = IntVar()
  81.  
  82. top.geometry("990x518+446+155")
  83. top.title("Trading Gui")
  84. top.configure(background="#d9d9d9")
  85.  
  86. self.TFrame1 = ttk.Frame(top)
  87. self.TFrame1.place(relx=0.01, rely=0.02, relheight=0.98, relwidth=0.11)
  88. self.TFrame1.configure(relief=GROOVE)
  89. self.TFrame1.configure(borderwidth="2")
  90. self.TFrame1.configure(relief=GROOVE)
  91. self.TFrame1.configure(width=95)
  92.  
  93. self.Run = ttk.Button(self.TFrame1, command=self.main)
  94. self.Run.place(relx=0.11, rely=0.07, height=35, width=76)
  95. self.Run.configure(takefocus="")
  96. self.Run.configure(text='''Run''')
  97. self.Run.configure(width=76)
  98.  
  99. self.Stop = ttk.Button(self.TFrame1, command=self.stopRun)
  100. self.Stop.place(relx=0.11, rely=0.17, height=35, width=76)
  101. self.Stop.configure(takefocus="")
  102. self.Stop.configure(text='''Stop''')
  103. self.Stop.configure(width=76)
  104.  
  105. self.StartTrade = ttk.Button(self.TFrame1, command= self.useStartegy)
  106. self.StartTrade.place(relx=0.11, rely=0.27, height=35, width=76)
  107. self.StartTrade.configure(takefocus="")
  108. self.StartTrade.configure(text='''StartTrade''')
  109. self.StartTrade.configure(width=76)
  110.  
  111. self.StopTrade = ttk.Button(self.TFrame1, command=self.stopTrade)
  112. self.StopTrade.place(relx=0.11, rely=0.37, height=35, width=76)
  113. self.StopTrade.configure(takefocus="")
  114. self.StopTrade.configure(text='''StopTrade''')
  115. self.StopTrade.configure(width=76)
  116.  
  117. self.ShowChart = ttk.Button(self.TFrame1, command= self.chartOpen)
  118. self.ShowChart.place(relx=0.11, rely=0.47, height=35, width=76)
  119. self.ShowChart.configure(takefocus="")
  120. self.ShowChart.configure(text='''ShowChart''')
  121. self.ShowChart.configure(width=76)
  122.  
  123. self.CloseChart = ttk.Button(self.TFrame1, command= self.chartClose)
  124. self.CloseChart.place(relx=0.11, rely=0.57, height=35, width=76)
  125. self.CloseChart.configure(takefocus="")
  126. self.CloseChart.configure(text='''CloseChart''')
  127. self.CloseChart.configure(width=76)
  128.  
  129. self.ClosePos = ttk.Button(self.TFrame1, command= self.closeAllPositions)
  130. self.ClosePos.place(relx=0.11, rely=0.67, height=35, width=76)
  131. self.ClosePos.configure(takefocus="")
  132. self.ClosePos.configure(text='''ClosePos''')
  133.  
  134. self.CheckVar.set(1)
  135. self.SaveTrades = Checkbutton(self.TFrame1, text="SaveHistory", variable=self.CheckVar, bg=_bgcolor)
  136. self.SaveTrades.place(relx=0.11, rely=0.77, height=35, width=80)
  137.  
  138. self.Exit = ttk.Button(self.TFrame1, command= self.CloseWindow)
  139. self.Exit.place(relx=0.11, rely=0.9, height=35, width=76)
  140. self.Exit.configure(takefocus="")
  141. self.Exit.configure(text='''Exit''')
  142. self.Exit.configure(width=76)
  143.  
  144.  
  145.  
  146. self.ticker = Entry(self.TFrame3)
  147. self.ticker.insert(END, str("USDT_BTC"))
  148. self.ticker.place(relx=0.07, rely=0.18, relheight=0.44, relwidth=0.09)
  149. self.ticker.configure(font=('Helvetica', 10))
  150. self.ticker.configure(background="white")
  151. self.ticker.configure(font="TkTextFont")
  152. self.ticker.configure(foreground="black")
  153. self.ticker.configure(highlightbackground="#d9d9d9")
  154. self.ticker.configure(highlightcolor="black")
  155. self.ticker.configure(insertbackground="black")
  156. self.ticker.configure(selectbackground="#c4c4c4")
  157. self.ticker.configure(selectforeground="black")
  158. self.ticker.configure(takefocus="0")
  159.  
  160.  
  161. self.StopLossEdge = Entry(self.TFrame3)
  162. self.StopLossEdge.insert(END, str(10))
  163. self.StopLossEdge.place(relx=0.28, rely=0.18, relheight=0.44, relwidth=0.09)
  164. self.StopLossEdge.configure(font=('Helvetica', 10))
  165. self.StopLossEdge.configure(background="white")
  166. self.StopLossEdge.configure(font="TkTextFont")
  167. self.StopLossEdge.configure(foreground="black")
  168. self.StopLossEdge.configure(highlightbackground="#d9d9d9")
  169. self.StopLossEdge.configure(highlightcolor="black")
  170. self.StopLossEdge.configure(insertbackground="black")
  171. self.StopLossEdge.configure(selectbackground="#c4c4c4")
  172. self.StopLossEdge.configure(selectforeground="black")
  173. self.StopLossEdge.configure(takefocus="0")
  174.  
  175.  
  176.  
  177. self.EntryEdge = Entry(self.TFrame3)
  178. self.EntryEdge.insert(END, str(1))
  179. self.EntryEdge.place(relx=0.47, rely=0.15, relheight=0.44, relwidth=0.09)
  180. self.EntryEdge.configure(background="white")
  181. self.EntryEdge.configure(font="TkTextFont")
  182. self.EntryEdge.configure(foreground="black")
  183. self.EntryEdge.configure(highlightbackground="#d9d9d9")
  184. self.EntryEdge.configure(highlightcolor="black")
  185. self.EntryEdge.configure(insertbackground="black")
  186. self.EntryEdge.configure(selectbackground="#c4c4c4")
  187. self.EntryEdge.configure(selectforeground="black")
  188. self.EntryEdge.configure(takefocus="0")
  189.  
  190.  
  191. self.OpenTradesLimit = Entry(self.TFrame3)
  192. self.OpenTradesLimit.insert(END, str(4))
  193. self.OpenTradesLimit.place(relx=0.69, rely=0.15, relheight=0.44, relwidth=0.09)
  194. self.OpenTradesLimit.configure(background="white")
  195. self.OpenTradesLimit.configure(font="TkTextFont")
  196. self.OpenTradesLimit.configure(foreground="black")
  197. self.OpenTradesLimit.configure(highlightbackground="#d9d9d9")
  198. self.OpenTradesLimit.configure(highlightcolor="black")
  199. self.OpenTradesLimit.configure(insertbackground="black")
  200. self.OpenTradesLimit.configure(selectbackground="#c4c4c4")
  201. self.OpenTradesLimit.configure(selectforeground="black")
  202. self.OpenTradesLimit.configure(takefocus="0")
  203.  
  204.  
  205.  
  206. self.Maintenance = Entry(self.TFrame3)
  207. self.Maintenance.insert(END, str(1))
  208. self.Maintenance.place(relx=0.89, rely=0.15, relheight=0.44, relwidth=0.09)
  209. self.Maintenance.configure(background="white")
  210. self.Maintenance.configure(font="TkTextFont")
  211. self.Maintenance.configure(foreground="black")
  212. self.Maintenance.configure(highlightbackground="#d9d9d9")
  213. self.Maintenance.configure(highlightcolor="black")
  214. self.Maintenance.configure(insertbackground="black")
  215. self.Maintenance.configure(selectbackground="#c4c4c4")
  216. self.Maintenance.configure(selectforeground="black")
  217. self.Maintenance.configure(takefocus="0")
  218.  
  219.  
  220. self.style.configure('Treeview.Heading', font="TkDefaultFont")
  221. self.Scrolledtreeview1 = ScrolledTreeView(top)
  222. self.Scrolledtreeview1.place(relx=0.15, rely=0.23, relheight=0.28, relwidth=0.6)
  223. self.Scrolledtreeview1.configure(columns="Col1 Col2 Col3 Col4 Col5")
  224. self.Scrolledtreeview1.configure(takefocus="0")
  225. self.Scrolledtreeview1.heading("#0",text="Id")
  226. self.Scrolledtreeview1.heading("#0",anchor="center")
  227. self.Scrolledtreeview1.column("#0",width="35")
  228. self.Scrolledtreeview1.column("#0",minwidth="20")
  229. self.Scrolledtreeview1.column("#0",stretch="1")
  230. self.Scrolledtreeview1.column("#0",anchor="w")
  231. self.Scrolledtreeview1.heading("Col1",text="Time")
  232. self.Scrolledtreeview1.heading("Col1",anchor="center")
  233. self.Scrolledtreeview1.column("Col1",width="150")
  234. self.Scrolledtreeview1.column("Col1",minwidth="20")
  235. self.Scrolledtreeview1.column("Col1",stretch="1")
  236. self.Scrolledtreeview1.column("Col1",anchor="w")
  237. self.Scrolledtreeview1.heading("Col2",text="Symbol")
  238. self.Scrolledtreeview1.heading("Col2",anchor="center")
  239. self.Scrolledtreeview1.column("Col2",width="80")
  240. self.Scrolledtreeview1.column("Col2",minwidth="20")
  241. self.Scrolledtreeview1.column("Col2",stretch="1")
  242. self.Scrolledtreeview1.column("Col2",anchor="w")
  243. self.Scrolledtreeview1.heading("Col3",text="Side")
  244. self.Scrolledtreeview1.heading("Col3",anchor="center")
  245. self.Scrolledtreeview1.column("Col3",width="80")
  246. self.Scrolledtreeview1.column("Col3",minwidth="20")
  247. self.Scrolledtreeview1.column("Col3",stretch="1")
  248. self.Scrolledtreeview1.column("Col3",anchor="w")
  249. self.Scrolledtreeview1.heading("Col4",text="Price")
  250. self.Scrolledtreeview1.heading("Col4",anchor="center")
  251. self.Scrolledtreeview1.column("Col4",width="80")
  252. self.Scrolledtreeview1.column("Col4",minwidth="20")
  253. self.Scrolledtreeview1.column("Col4",stretch="1")
  254. self.Scrolledtreeview1.column("Col4",anchor="w")
  255. self.Scrolledtreeview1.heading("Col5",text="Pnl")
  256. self.Scrolledtreeview1.heading("Col5",anchor="center")
  257. self.Scrolledtreeview1.column("Col5",width="80")
  258. self.Scrolledtreeview1.column("Col5",minwidth="20")
  259. self.Scrolledtreeview1.column("Col5",stretch="1")
  260. self.Scrolledtreeview1.column("Col5",anchor="w")
  261.  
  262.  
  263. self.menubar = Menu(top,font="TkMenuFont",bg='#bef7bb',fg=_fgcolor)
  264. top.configure(menu = self.menubar)
  265.  
  266.  
  267.  
  268. self.Label1 = Label(top)
  269. self.Label1.place(relx=0.15, rely=0.17, height=25, width=595)
  270. self.Label1.configure(font=('Helvetica', 10))
  271. self.Label1.configure(anchor=N)
  272. self.Label1.configure(background="#b4c2fe")
  273. self.Label1.configure(compound="left")
  274. self.Label1.configure(cursor="bottom_left_corner")
  275. self.Label1.configure(disabledforeground="#a3a3a3")
  276. self.Label1.configure(foreground="#000000")
  277. self.Label1.configure(justify=LEFT)
  278. self.Label1.configure(relief=RIDGE)
  279. self.Label1.configure(text='''Opened Positions''')
  280. self.Label1.configure(textvariable=test_support)
  281. self.Label1.configure(width=459)
  282.  
  283.  
  284.  
  285. vp_start_gui()
Runtime error #stdin #stdout #stderr 0.01s 7236KB
stdin
Standard input is empty
stdout
Standard output is empty
stderr
Traceback (most recent call last):
  File "prog.py", line 1, in <module>
ImportError: No module named tkinter