Important: Please read the Qt Code of Conduct -

Creating a Forex Trading Platform

  • Hi programmers,

    I'm a trader and a programmer hobbyist. As a trader, there is no platform out there that I like. So I figured that I should create one. To be honest, I'm not sure which API's and Qt classes to use. I did some research and I did find an API for creating candlestick charts, but I forgot the name of it. Because this is somewhat off topic from a QT point of view, I was wondering if you all know of any good general programming forums. I know Stackoverflow is one that I've not had a good experience with. It seemed like people on there try really hard to find fault with your question instead of responding to it. For instance a good question like this would be unacceptable:

    Which API do you believe wiil be good for me to use for creating a trading platform?

    Lastly, this seems like a very big project. I know for Ninjatrader, it is a team of programmers and these guys have been in beta testing for over a year now and I'm sure that they started developing the platforms years prior. I can't imagine that it would take me years to complete. Please correct me if I'm wrong. Thanks!

  • StackOverflow is very popular and has a very good reputation. My personal opinion is that you only get "bad answers" if you ask "bad questions".
    It is true that for any (technical?) question you will find several different comments commenting on the answers given. This is due to the fact that there are many very experienced and professional programmers on StackOverflow that like to share their very extensive knowledge on certain aspects. People that ask the question often see this as nit picking but fact is that those people like to help too. Even if it's not relevant to you right now, it might help to shed some light on issues that you might face in the future. Comments that explain less-obvious technical aspects are also very helpful for people that come across a similar problem but already have more background knowledge.

    When it comes to plotting with Qt, QCustomPlot comes to mind. I'm not sure if that was the one you were referring to, though.

    I'm also not sure what you mean by "which API to use to create a trading platform". If you decide to write something using the Qt library you will end up using the API offered by Qt. If you use other libraries such as QCustomPlot you will end up using the QCustomPlot API. There's usually not really an API to choose from but rather a library to choose from. This of course just applies to an application but it boils down to the same principle as soon as you have to implement communication to a server, database or similar.

    Regarding your remark on development time: Developing the actual application itself is only half the work. With something like a trading platform you will have to build and setup-up additional infrastructure which is a lot of work too. To me it sounds quite possible that something like this can take several years until it becomes usable although the development of the first application prototype might be completed in a year or less.
    What I am trying to say is that a project like this doesn't just consist of writing some Qt application. There's a lot more to it. Furthermore, in a market like that you just can't allow failures, hence the extensive beta testing phases.

  • @Joel-Bodenmann

    Thanks for your thorough info. I program in C++, C#, Java, and Python and there are so many names for what we simply call a library in C++. I think it was Java that called them API's. As far as the connections go, I think ForexConnect would be a way to connect the system to the platform, but I have to do more research. I will take your word on the possible length of time that is required. It seems like a very long time for me to be working on a project, but again, I never really did anything too big. I might give StackOverFlow a second shot. Hey, QCustomPlot was the one that I located on the internet and forgot the name of it. I make sure I don't forget this time.

    Thanks again.

Log in to reply