Question about Java implementations and frameworks for algorithmic trading, and relevant techniques?

Discussion in 'App Development' started by Blonde, Mar 15, 2021.

  1. You are correct about this. When MT4 (and its programming language MQL4) was developed was the main focus area the trading of forex. It missed certain features which are desired for other instruments besides forex (e.g. stocks, futures, CFD and so on). This led to the development of MT5 (and MQL5).
    IB's TWS is very different from MT4/MT5 and IB's API is very different from MQL4/MQL5.
     
    #41     Mar 18, 2021
  2. Butterfly

    Butterfly

    Are we talking charting robot or actual robot algos? 2 different things IMO
     
    #42     Mar 18, 2021
  3. Trading robots. The OP asks about displaying entry/exit points in the charts.
     
    #43     Mar 19, 2021
  4. Butterfly

    Butterfly

    he doesn't need a chart for that, just an algo that tracks the points of the chart and take actions when certain points are reached.

    I think the guy is over his head, hence why he is so attached to Java, because he has no clue what to do or where to start and think Java is going to give him all the answers.
     
    #44     Mar 19, 2021
  5. NinjaTrader's built in NinjaScript, which is essentially C# is extremely easy to pick up for anyone with the most basic general programming experience.

    I coded up my strategies on NinjaTrader 8, mostly using google for help, and it was very easy to get started. Now running them on the VPS www.ninjamobiletrader.com and couldn't be happier.
     
    #45     Mar 19, 2021
    toon and Blonde like this.
  6. Blonde

    Blonde


    Hiya @deepfkvalue



    Thanks. I'm looking for the most professional approach. I like NT8 and its sophisticated capabilities, I also have it and I use it sometimes. But the concept that I'm going to implement as a Robot is sophisticated, thus I may stay with Java.

    Do you know could I connect any Oracle DB to the NT8's Robot for tick data collection and analysis, please?

    Do you use the NT8 with an IB account? Will in worth purchasing the NT8 and use it for placing manual orders in the IB instead of using the TWS? or is it better to manage the positions with TWS directly as a safer bet?


    Tnx and best of luck
     
    #46     Mar 19, 2021
  7. Are you looking to have live data stream from NT8 into your Oracle DB, then you do some analysis, then send position execution instructions back to NT8? Personally I have not done this, but I think it should be possible because it's using .NET and you can pretty much use any Windows components.

    For integration with IB, in the past NinjaTrader has a problem with IB where it would auto disconnect once a day and would need to manually reconnect the algos. However they recently released a new version 8.0.24 that supposedly fixed that problem. I haven't tried it with my IB account again. For this question it may be better to post in the NinjaTrader support forum and ask the users with their current experience after this recent new version.
     
    #47     Mar 19, 2021
    Blonde likes this.
  8. Blonde

    Blonde


    Hiya @deepfkvalue



    Thanks. I shall mention something about NT8 that I really like from a while ago, as its vector charts and extensive indicators that can be purchased individually(in we can find a professional coded one from a pro-developer), will provide good options. But the thing is, the NT8 freezes with these purchased indicators installed on it, neither the indicator developer nor the NT8 support team does not taking responsibility as they both believe they are correct. I do have a clean OS that I only install my FX tools and apps there, this it's nearly impossible in a clean and fresh installation of OS, something is wrong on my end. Also, I use pro-laptops and pro-PC with high specs for FX trading, this issue can't be my hardware either.
    Another thing that I experience in the NT8 is the price of the indicators and TA tools that is nearly the same price as the Metastock, while technically the Metastock is a higher analysis option, but unfortunately, it does not offer trading and order management tools, thus this its made for manual trading.

    Regarding NT8, as my FX trading OS is Linux, the NT8 can't be installed on Linux officially as per my knowledge, thus this makes it unsuitable in some grades and this looks amateur, as all pro trading TA tools mostly installable on Linux.

    My choice of data for analysis is Refinitive and the NT8 as per my knowledge does not support Refinitive data feeds officially. Thus this makes NT8 look unprofessional for me.

    In the end, NT8 is better than MT4 for manual and algorithmic trading for me. But the above matters make it look unprofessional for me.

    At the performance based on my analysis, the tuned Java is superior to the C#.

    At the connectivity through other applications and programming languages and environments based on my analysis, Java is superior the C#.

    At stability of final standalone algorithmic trading application based on my analysis, Java is superior to C#.

    But the C++, Python, R, and C# are easier to learn and develop algorithmic trading compared to Java. As unfortunately, I couldn't find any help from anyone to help me in the process of implementation on algorithmic trading in Java.

    There is another issue with the IB itself, as per my knowledge of today, the number of available TA tools and functions and indications, etc are limited to what I see in the 'Chart-settings/Studies', thus I don't know if my Algorithmic-trading Robot if is in need for further TA, where shall I look for that while I'm using IB as my choice of the broker? I know plenty of brokers with extensive TA, but I can't trust anyone besides IB for my capital unless a bank can match IB only.

    My choice of developing an algorithmic trading robot is a modular one that I shall be able to enable to disable the modules that I fit for the specific trades. And this DB connectivity is part of my modules. The implementation that I have in my mind is using a high-speed data buffered storage to store the tick data and analysis and send the decision for taking trades to the main brain of the root, then the robot will decide if to tale the trade or not. And my second option is using a huge sum of RAM that everything of the tick data for a specific period shall be stored in DB in RAM and analyzed and then it sends back to the man brain of the root for decision making. There are questions about if this data if it's stored on RAM, is it possible to use any method besides DB connectivity? And this is an implementation technique if there is another possibility besides using DB connectivity?

    In the end, I invest my time in a language that has the capacity to implement all of these gradually and I will not look for building a robot in one language that can do one thing and then I throughout my robot and start from scratch to develop another one in another language. My choice of language for the brain of the Robot shall have the capacity to join all the analysis data gathered from all the arms of the robot and conclude and calculate without hesitation with the calculated error rate.

    My concern is, how shall I ask advice about this robot development and where and in which place, please help?


    Tnx and best of luck
     
    #48     Mar 22, 2021
  9. fan27

    fan27

    Pssst...I have multiple "Robots" running. They support minute and tick data and it shows the pretty pictures on the chart that you desire. They connect to IB and everything works as expected. Guess what...the robot is not written in Java.
     
    #49     Mar 22, 2021
    Blonde likes this.
  10. Butterfly

    Butterfly

    this is just too funny, definitely an indian robot posting about Java for his own blog SEO performance where he mirrored his post here :)
     
    #50     Mar 22, 2021
    shuraver likes this.