A couple of details for you technical geeks out there who want to build an automated trading system. My Python scripts are getting crazy to manage so Ithere are better ways to manage them through a graphical user interface. I have 2 paths to choose which will my future live intake :
GUI with local Python Django on Visual Studio Code or Pycharm vs C++ Qt or WxWidgets
This was a mess to get a real time chart using Chart Director. To get a graphical user interface, I must this was turning into a real hassle with C++. Qt version 5 is still too restrictive on the run time licensing end. Also, I find their IDE Qt Creator is just a beast where I really don’t want to use it. I even tried local Python with some moderate success.
I then tried using the open source edition of the CodeLite IDE with wxWidgets, I have had moderate success with this combo. It seem to get running on a Mac is not worth pursuing as it is way too old.
I then thought of trying the latest PyCharm Pro edition with ChartDirector and Django. Oh man, this is thing is a beast , They assume my package manager with my Python interpreter version 3 was using pip. I am actually using pip3 but to change that was not possible. You would think this was easy by justing adding the local Python interpreter. Pycharm did not recognize my local Python 3.6 but only found 3.1. When i navigated to the Python 3.6 to choose within the creator of the project, it would finally rconginze all the local Python packages. It took forever to load. Complete crap and not easy to play. Plus they want me to pay for this thing as it for the Pro edition. Forget it!
I then had some moderate success with Visual Studio Code. It is these URL that make it much more possible:
OMG! Half the tutorial actually worked. I can also say I have much better understanding and appreciation for this IDE. I see why people like it since I got it to work.
Then we can talk about Django. No no no. Working with this framework made we want to stop. This thing is really old. There must be an easier way to build a real time charting with Chart Director. There has to be.
NOTE I now post myTRADING ALERTS into my personal FACEBOOK ACCOUNT and TWITTER. Don't worry as I don't post stupid cat videos or what I eat!
This works quite simply but… there is a trick with CodeLite with wxWidgets. Make sure you use the g++ compiler instead of gcc as there is some strange compiler error. This is on Ubuntu 14.05
class MyFrame : public wxFrame { public: MyFrame() : wxFrame(NULL, wxID_ANY, “Chronological data”) { wxGrid *grid = new wxGrid(this, wxID_ANY); grid->CreateGrid(21, 12);
for ( wxDateTime::Month m = wxDateTime::Jan; m < wxDateTime::Inv_Month; wxNextMonth(m) ) { grid->SetColLabelValue(m, wxDateTime::GetMonthName(m)); for ( int y = 0; y < 21; y++ ) grid->SetCellValue(y, m, wxString::Format(“%.2f”, (float)rand() / RAND_MAX)); }
It looks like this frameworks includes all C++ functionality ranging from sockets, network, thread, dynamic class loading, etc. There is a lot more here than originally thought but this should be ok for lower frequency trading systems. If you want HFT level, this is not the framework for you.
Tips to build wxWidgets C++ for Ubuntu Linux
Here are some notes to help
https://www.wxwidgets.org/downloads/
../configure --enable-unicode --enable-debug
configure: error:
The development files for GTK+ were not found. For GTK+ 2, please
ensure that pkg-config is in the path and that gtk+-2.0.pc is
installed. For GTK+ 1.2 please check that gtk-config is in the path,
and that the version is 1.2.3 or above. Also check that the
libraries returned by 'pkg-config gtk+-2.0 --libs' or 'gtk-config
--libs' are in the LD_LIBRARY_PATH or equivalent.
You may need to do:
apt-get install libgtk2.0-common
http://forums.mozillazine.org/viewtopic.php?f=6&t=113419
Also, edit your Ubuntu bash profile
http://ubuntuforums.org/showthread.php?t=1707261
vim ~/.bashrc
Add your GTK library to LD_LIBRARY_PATH
http://www.mathematik.uni-ulm.de/help/gtk+-1.1.3/gtkfaq-2.html
ALso, try installing with as this worked for me:
apt-get install libgtk2.0-dev
Install java 8
http://tecadmin.net/install-oracle-java-8-jdk-8-ubuntu-via-ppa/#
I had serious issues with configuring Netbeans and Eclipse IDEs for wxWidgets, but it
seems CodeLite IDE has preconfigured settings for wxWidgets.
http://askubuntu.com/questions/330268/how-to-install-codelite-on-ubuntu
sudo apt-key adv --fetch-keys http://repos.codelite.org/CodeLite.asc
sudo apt-add-repository "deb http://repos.codelite.org/ubuntu/ $(lsb_release -sc) universe"
sudo apt-get update
sudo apt-get install codelite wxcrafter
This link maybe useful as well http://www.tarsiersoft.com/addinfo/wxWidgetsInstall.php
As pointed out by @melto, a stable released version, 3.1.70, for os x works as well. The link to sourceforge http://sourceforge.net/projects/wxformbuilder/files/wxformbuilder/3.1.70/wxFormBuilder-3.1.dmg/download
I am looking at Code::Blocks IDE with C++. I am also looking at the wxWidgets framework for graphical user interface. I am hoping to get some basic stuff going. Some links to consider: