Pages:
Author

Topic: goxgui - a Graphical Bitcoin Trading Tool for MtGox (Read 29614 times)

newbie
Activity: 6
Merit: 100
Hi coinbuster,

the problem with all these libs is non-interactivity.
They display only.
We need some interaction, so I'll have to dig into primitives.

I'm choosing between qt and kivy now for what's easier and better to handle.
kivy gives native android support and easier api - which is good.
qt on the other side is more rock-solid and stable on pc's of all kinds.
newbie
Activity: 6
Merit: 100
The separate console log with menu checking is now in my repo, you can test it.
So merging is not a problem for you, you just need a few lines from view.py, few lines from application.py and full consolelog.py ui/consolelog_.py ui/consolelog.ui
newbie
Activity: 6
Merit: 100
Telnetclient is in stdlib of python, I don't need to add it.
legendary
Activity: 1498
Merit: 1000
- Allow other exchanges, either dump goxtool in favor of requests/telnet or implement additional code for other exchanges

Since telnet is pretty much just used for exploiting people who don't remove I don't understand why you want him to add it.
newbie
Activity: 6
Merit: 100
Hi Sebastopol,

My suggestion is making an MDI interface:
- Dump the Preferences and Log windows (I coded a log window separated and it looks good but the interface is still single windowed)
- Keep preferences in the json format files.
- Add a dockable widget with trade lag / account balances / trades list / trade menu to top right
- Add a list to edit settings (the preferences window) as a dockable widget to bottom right
- All left side will be taken by graph and order book

FUTURE:
- Left dockable widget for automation scripts
- Allow other exchanges, either dump goxtool in favor of requests/telnet or implement additional code for other exchanges

This is my new plan Smiley, it will allow to load/save projects and in future multiple
newbie
Activity: 6
Merit: 100
Aha, I see the changes, I don't like some of the changes though.

Let's try doing it differently, and then maybe merge?
Also I found a way to make the log appear as console in additional window, I'll write it tomorrow though
sr. member
Activity: 322
Merit: 250
Mt.Gox is down ATM...
sr. member
Activity: 365
Merit: 250
If someone did this fork for Bitstamp would be awesome, it seems MtGox didn't got rid of the laging problem.

https://github.com/genbtc/goxgui
sr. member
Activity: 266
Merit: 250
Science!
It seems gox-gui is irrevocably tied to MtGox -- Just look at the name. I suppose porting it to another exchange wouldn't be super difficult (you just need to fork prof7bit's excellent goxtool and redo the API extensions, websocket, and JSON indexes), although it certainly lies outside the scope of a project named after MtGox. Personally, I'd expect there'll be people forking it for BTCChina.

Really very nice work on this one, and thanks to prof7bit as well for the excellent goxtool.

Cheers.
hero member
Activity: 938
Merit: 500
https://youengine.io/
MtGox isn't really relevant anymore, the tool itself is great but it's pretty much worthless as of now.

MtGox is not irrelevant. Its still one of the largest exchanges with the most trading volume (more volume than most (all?) other exchanges combined) and it has the fastest and most reliable trading engine and API of all exchanges. I wouldn't call that irrelevant.
legendary
Activity: 938
Merit: 1000
chaos is fun...…damental :)
is there anyway to export all the personal trade data ?
member
Activity: 105
Merit: 10
Hello,

I have some comments about graphing...
maybe Qwt could be a solution
http://qwt.sourceforge.net/
see also http://pyqwt.sourceforge.net/
http://www.qtcentre.org/threads/20298-Can-Qwt-be-used-for-financial-charting-(bar-chart-candlestick)

Matplotlib can also draw candlestick OHLCV data

Code:
from matplotlib.finance import *
fig = plt.figure()
ax = fig.add_subplot(111, ylabel='price')
Date = range(1,len(data['BTC'])+1)
Open = data['BTC']['open'].values
High = data['BTC']['high'].values
Low = data['BTC']['low'].values
Close = data['BTC']['close'].values
Volume = data['BTC']['volume'].values
DOCHLV = zip(Date, Open, Close, High, Low, Volume)
candlestick(ax, DOCHLV, width=0.6, colorup='g', colordown='r', alpha=1.0)

If data are stored in a Pandas DataFrame you can also
look at this
https://github.com/pydata/pandas/issues/783
http://nbviewer.ipython.org/4982660/

QtStalker http://qtstalker.sourceforge.net/
seems to be interesting too... but C++ not Python

Kind regards
newbie
Activity: 38
Merit: 0
Hehe it sounds like you have a lot of work todo, good luck, and since it's open source, I'll be happy to copy what I like Wink if you figure out the log window thing pls tell me
newbie
Activity: 38
Merit: 0
You're right about the performance. And yeah, it wouldn't be wise to use Qt primitives or invent yet another graphing API - better to use something tried-and-tested out there. If only those frameworks weren't so damn ugly. I guess that's because they were designed by technically minded people (like us Wink)...

BTW I have restructured the UI quite a bit to gain more screen estate and accommodate future functionality (just checked in).
newbie
Activity: 38
Merit: 0
Don't have much time but two quick comments:

Application Log on / off: I have been thinking about this one myself. But instead of a check box, I would like a 'log window' option in the menu. That way, it would take up no screen space at all if you don't enable it. Something like: "Tools -> Log Window". The only problem is, I haven't figured out how to pop up a log window on the mac. Every time I tried (using QDialog or QMainWindow), I had problems switching back and forth between the log window and the main window Sad Any help is appreciated here.

Graphing: yes, it'd be great to have a graphing widget for goxgui. c0inbuster sent me a beautiful screenshot a while ago, and I love his idea of implementing a PyQt widget using the mentioned ta-lib. I would definitely not hesitate to integrate it into the main branch. If, on the other hand, the resulting graph looked something like this (just a random example), I'd probably not be that enthusiastic about it Cheesy
newbie
Activity: 38
Merit: 0
Like the others said. To check out and run goxgui try:

Code:
git clone --recursive git://github.com/sebastianhaberey/goxgui.git goxgui
cd goxgui/run
./start_mac.sh

If you are on linux, change the last command to ./start_linux.sh, if you are on windows use ./start_win.bat

hero member
Activity: 938
Merit: 500
https://youengine.io/
On a whim I tried extracting the files from goxtool directly into the goxgui dirrectory... and it works!

Dont't do that. You will miss important updates and bugfixes of goxtool/goxapi. You should use git.
newbie
Activity: 26
Merit: 0
Running python 2.7.3 (or do i need python 3?)
don't use 3. use 2.7.3

If those git commands dont work you can download the zip file of goxtool manually, and put it into the goxtool directory.
(not a git expert so idk how to best explain this while the author is asleep)

I had tried that and nothing was working.

On a whim I tried extracting the files from goxtool directly into the goxgui dirrectory... and it works!
newbie
Activity: 46
Merit: 0
Running python 2.7.3 (or do i need python 3?)
don't use 3. use 2.7.3

If those git commands dont work you can download the zip file of goxtool manually, and put it into the goxtool directory.
(not a git expert so idk how to best explain this while the author is asleep)
newbie
Activity: 26
Merit: 0
Quote
Traceback (most recent call last):
  File ".../application.py", line 26, in
    from market import Market
  File ".../goxgui/market.py", line 4, in
    import goxapi
ImportError: No module named goxapi

I tried the

Quote
git submodule update --recursive
git pull --recurse-submodules

but still returning the same error.

I can run it on my vb but rather have it in linux.

Running python 2.7.3 (or do i need python 3?)
Pages:
Jump to: