NexusFi: Find Your Edge


Home Menu

 





New Member - Where to begin...


Discussion in Emini and Emicro Index

Updated
      Top Posters
    1. looks_one TrecF90 with 8 posts (3 thanks)
    2. looks_two ZB23 with 3 posts (5 thanks)
    3. looks_3 bobwest with 2 posts (1 thanks)
    4. looks_4 TradingThomas with 2 posts (2 thanks)
      Best Posters
    1. looks_one DavidHP with 2.5 thanks per post
    2. looks_two ZB23 with 1.7 thanks per post
    3. looks_3 TradingThomas with 1 thanks per post
    4. looks_4 TrecF90 with 0.4 thanks per post
    1. trending_up 1,368 views
    2. thumb_up 16 thanks given
    3. group 4 followers
    1. forum 16 posts
    2. attach_file 0 attachments




 
Search this Thread

New Member - Where to begin...

  #11 (permalink)
 TrecF90 
New York City
 
Experience: Intermediate
Trading: Futures
Posts: 10 since Jul 2023
Thanks Given: 9
Thanks Received: 3


bobwest View Post
I think that you have chosen a fairly difficult path in seeking to automate your strategies. Not that there's anything wrong with it, just that, like anything else, it has its issues.

NinjaTrader is probably the most-used platform on this forum, based simply on the number of posts over time. It has a language that is relatively easy to learn and use ("relatively" ), and there are many traders here who are actually quite expert with it, so there are many sources of help if you run into problems, which are of course inevitable. It does have a built-in tool (Strategy Builder) for automating strategies, and there are other, third-party tools available as well.

I am not an automated trader, although I have been a programmer in a past life, and I can't assess the suitability of any of these tools for your purposes, nor can I comment on other platforms or their capabilities. One thing I can say, as a professional programmer, is that writing your own code is the best way to get something to work the way you want it to, but there is a learning curve for any kind of coding, and you may not want to go up it. Finding someone else to do it has its issues too. You have already found a problem with having a programmer even understand what you wanted. This is not surprising, because coding an application that will run under a particular trading platform is a very specialized thing -- they will need knowledge of both trading and of the particular platform you are using. Most coders won't have knowledge of either.

There may be better choices, in the abstract, than NinjaTrader, but you may find it a good practical first step. You can do a test drive and see. You'd have to use NinjaTrader as your FCM, because it's a proprietary system. Their support is good, and you can get some support here from other traders. The reason I suggest it is that you get your feet wet fairly easily and see if it suits you.... that is, if you do decide to try the code-your-own option.

Another advantage is of course the wide use, which probably includes more coders for hire, if you want to try that path. I can't give any recommendations on that score, though.

I think that the best development and overall trading option is actually Sierra Chart, but it has a very steep learning curve to attempt. You can use the platform with a number of FCM's so you aren't restricted in that way. But it is exceedingly technical and many find it difficult, and the attitude of their support can be very abrupt (or dismissive, if they think you're not technical enough.)

There are traders who like TradeStation for automation, but you have already tried them and didn't like it.

I hope you will get some other pros and cons, but Ninja is my first suggestion.

Bob.


Thanks Bob.
I agree that my path may be a difficult one, at least how I was looking at building and using it. I posted here in hopes that I can find an "easier" path to at least start with. And everyone who has responded (including you ) has been great and I appreciate the details.
I am actually already starting to rethink the route I should go. NT is now in the lead.

I also agree with your thoughts on the developer front too. My buddy, who was initially helping me with the coding is an amazing developer, however when trying to tell him about futures and what I wanted to accomplish, it was like I was speaking another language to him.

Based on all of the responses so far, I am thinking about using a VPS located in Chicago and run NT with CQG feed from there.
My only concern about NT, is that it seems like they use their own code, something similar to C++? (correct me if I am wrong) I don't have any experience in C++, just python. I will explore it further.

I looked at Sierra Chart and spoke to another trader who used them and they said the same thing about SC

Appreciate your response and I've learned more in the couple weeks I've been on this site, than I've learned googling and fumbling around on the internet in past 6 months.

Started this thread Reply With Quote

Can you help answer these questions
from other members on NexusFi?
Cheap historycal L1 data for stocks
Stocks and ETFs
What broker to use for trading palladium futures
Commodities
MC PL editor upgrade
MultiCharts
Trade idea based off three indicators.
Traders Hideout
Pivot Indicator like the old SwingTemp by Big Mike
NinjaTrader
 
  #12 (permalink)
 TrecF90 
New York City
 
Experience: Intermediate
Trading: Futures
Posts: 10 since Jul 2023
Thanks Given: 9
Thanks Received: 3


DavidHP View Post
My platform is NT.
Most of my work has been done in NT 6 - 7. (I'm an old dog)
I am porting more of the work I use to NT 8 but it is a new learning process but I like challenges.

I've used/programmed several platforms but have stayed with Ninjatrader for the longest.
Most of the platforms are similar but some offer things you may want.
Just use this time to research and find a platform you like.

I recommend you program your systems yourself but that is just me.
I've hired programmers in the past and they usually don't understand what is needed or don't 'think out of the box'.
There are some good programmers on this site and if you are going to pay a programmer I suggest using one on NexusFI.

I've used some colocation remote servers in the past but haven't needed them lately since my connection has been strong and reliable.
One of the colocation server hosts on NexusFI is owned by @sam028.

Most important part...
Have fun and enjoy the journey.

Thanks David!
I am now leaning more towards NT. I want to ensure I understand the code though, so I may still hire a developer to not only work thru the code but to also teach me about the code so I know how it works. I will look around NexusFI some more and if someone is interested in helping me out down the road, that would be awesome.

This has been fun so far and everyone on this site has been great with their input. As I just mentioned in my post above, I've learned more on this site in a couple weeks than I've learned in months of googling and searching the web.

Started this thread Reply With Quote
Thanked by:
  #13 (permalink)
 ZB23 
Atlanta Metro Area
 
Experience: Intermediate
Platform: Rithmic API
Broker: Ironbeam
Trading: Futures: CL spreads, IR outright.
Frequency: Never
Duration: Never
Posts: 145 since Feb 2017
Thanks Given: 60
Thanks Received: 198



TrecF90 View Post
Thanks for your insight! appreciate it.

I am leaning towards NT now. I've been watching tutorials and exploring their strategy builder, and it appears to be easy enough. My only issue is that my strategy is a bit more complicated than using simple indicators. After hearing everyone's response, I think I am going to try to build the code, however, I still feel like I want to hire a developer to teach me the code and help streamline the process. I am big into learning and having someone teach me would be beneficial.

I kept getting terrible fills with IBKR and Tradestation vs what I was getting in TOS - like a point or two difference. In fact, a couple of times my orders were not even filled in IBKR and/or Tradestation, when the market clearly hit my limit or stop order. It made it worse because I was testing the same orders in TOS at same time and my orders would be filled there. There were some other issues as well, like customer support, and the UI's. A few of my friends who trade regularly experienced similar issues with TS and IBKR, which further made me nervous because my strategy is all about speed and ensuring orders are filled at same time. If they work for you though, then awesome! I am not trying to bash them, because they did have some cool features, but I just didn't feel comfortable using them.

I'm glad to hear that about Advantage Futures. I have had a few calls with them and they have been nothing but pleasant and professional. I would like to work with them but I think NT has their own FCM if I go that route.

Thanks for letting me know about paying upfront for the dedicated instance, will keep that in mind and I will look into EC2 EBS

Thanks again and have a good evening.

You're welcome.

Since speed is paramount, IBKR is not suitable. I, too, have encountered instances where I wasn't filled on a limit order. Granted, I placed an order for a three part CL futures butterfly. Since it was placed on a sim server, I thought that if limit orders aren't being filled there, then maybe they won't be filled on a live server. As a result, I abandoned the entire strategy. IBKR does fill market orders rather quickly, despite the added layer of latency that TWS provides-- the algo has to go through the TWS desktop application to submit orders to IBKR servers.

I thought about switching to TradeStation but didn't make the change, because I have invested over two years learning IBKR's Python API. Although Python has a shallow learning curve, the way IBKR uses it makes it obscenely steep.

Despite using IBKR, they deserve to be bashed for several things. For starters, the mandatory shutdown of TWS daily, at midnight, is f**king stupid. The only reason, I am staying with them is because I can use Python to write strategies that don't depend on indicators.

Reply With Quote
Thanked by:
  #14 (permalink)
 TrecF90 
New York City
 
Experience: Intermediate
Trading: Futures
Posts: 10 since Jul 2023
Thanks Given: 9
Thanks Received: 3


ZB23 View Post
You're welcome.

Since speed is paramount, IBKR is not suitable. I, too, have encountered instances where I wasn't filled on a limit order. Granted, I placed an order for a three part CL futures butterfly. Since it was placed on a sim server, I thought that if limit orders aren't being filled there, then maybe they won't be filled on a live server. As a result, I abandoned the entire strategy. IBKR does fill market orders rather quickly, despite the added layer of latency that TWS provides-- the algo has to go through the TWS desktop application to submit orders to IBKR servers.

I thought about switching to TradeStation but didn't make the change, because I have invested over two years learning IBKR's Python API. Although Python has a shallow learning curve, the way IBKR uses it makes it obscenely steep.

Despite using IBKR, they deserve to be bashed for several things. For starters, the mandatory shutdown of TWS daily, at midnight, is f**king stupid. The only reason, I am staying with them is because I can use Python to write strategies that don't depend on indicators.

I wasn't even aware of their TWS daily shutdown, that is insane.
With tradestation, I read on a few forums and complaint sites that they have high latency issues because of where they route the trades and the trip the orders take before being filled. I think they are routed down to VA or even FL before being sent to be filled at CME? Don't know if that is the truth but I was trying to see if I could find my ping results for them because it was at least a few hundred milliseconds, compared to CQG, which I've gotten consistent results in the 20-30 millisecond range. That will make a difference because of what I am trying to do. Although, Idk how large of a role it will play if I am using a VPS in Chicago but something I wanted to throw out there.

You actually bring up another concern I should give some thought to - The algo that I hope to build is a bit more complex. Like your strategies, my strategy is not based on specific indicators as well. I am going to take a closer look at NT, but unsure how complex I can make the trading strategy in their strategy builder, using code. Something I really need to figure out before being sold on NT.

Started this thread Reply With Quote
  #15 (permalink)
 
bobwest's Avatar
 bobwest 
Western Florida
Site Moderator
 
Experience: Advanced
Platform: Sierra Chart
Trading: ES, YM
Frequency: Several times daily
Duration: Minutes
Posts: 8,172 since Jan 2013
Thanks Given: 57,526
Thanks Received: 26,292


TrecF90 View Post
I wasn't even aware of their TWS daily shutdown, that is insane.
With tradestation, I read on a few forums and complaint sites that they have high latency issues because of where they route the trades and the trip the orders take before being filled. I think they are routed down to VA or even FL before being sent to be filled at CME? Don't know if that is the truth but I was trying to see if I could find my ping results for them because it was at least a few hundred milliseconds, compared to CQG, which I've gotten consistent results in the 20-30 millisecond range. That will make a difference because of what I am trying to do. Although, Idk how large of a role it will play if I am using a VPS in Chicago but something I wanted to throw out there.

You actually bring up another concern I should give some thought to - The algo that I hope to build is a bit more complex. Like your strategies, my strategy is not based on specific indicators as well. I am going to take a closer look at NT, but unsure how complex I can make the trading strategy in their strategy builder, using code. Something I really need to figure out before being sold on NT.

A few quick things, mainly from reading your comments regarding coding....

1. I am generally agnostic on languages, unless there is a particular need. For example, I have never written any code in Python. It may very well be the exact thing for a certain purpose. But over a long(-ish) period of coding, I have found that many will do the job, as a rule.

2. The best way to learn a language is to have a project to code in it. Necessity is the mother of invention, and of learning, too.

3. Languages generally have a syntax (a basic structure of how something is done) -- which would include how to do basic logic, such as "if", "and", "or", etc., and how to organize code so it goes from point A to B. Then there is usually some pre-written code that you don't have to invent every time, but that you can just incorporate into your logic flow by calling it and passing data to it. I have read about Python libraries, and that is exactly what I mean. It is impossible to write code without something of this sort, because otherwise every single thing -- even taking input from the keyboard -- would have to be written from scratch. No one will do that.

The basic "flow of control" logic of all languages is much the same, although they will use different ways to write it. Most languages will have a basic set of math, string and similar functions to get that sort of thing done, and then they will have other class or function libraries, however they call them, for particular work. Once you get the fact that the major differences are just how to get to those other functions, and what they are, then the differences are less important. (Speed of execution is one difference. An "interpreted" language like Python will not be as fast -- although probably good enough --, intermediate languages like Java and C# will be faster, and pure compiled languages like C++ will be many times faster. Will this matter to you? I don't know. )

4. NT has a "scripting" language they call "NinjaScript", which consists of a plain-vanilla general language (C#) that does the logic flow and all that, and a bunch of classes (pre-written code chunks) that do the dirty work, just as everything else has. Much of the pre-written classes provides the same functionality that the trading platform provides, and does other data-related tasks. Some of the classes are built into C#, some are Ninja-specific. In general, if you can do something with the trading platform, you can automate it. Just about any (decent) trading platform works about like this.

5. You've mentioned not wanting to write a strategy based only on indicators. In that case, don't do that. ( ). There's no reason to. You can access whatever data the platform can, and manipulate it as you wish, and then send off your orders based on whatever criteria you have written. You can do anything you want with the available data, basically.

6. While I did mention the NT Strategy Builder, that was as an example of a tool for quick strategy creation by people who don't want to write code. It could be helpful as a learning tool to get started, because it has a simple interface and automatically generates code based on things you've selected. For anything serious, a person would, I think, want to just use the NT code editor (or any other C# code editor) and hand-write the code.

Now, everything I just wrote will apply to many other choices a person might make. I think there are advantages to NT mainly because of the support you can get from other members on the forum, and the fact that it generally has what is needed. I doubt if it's perfect, but it's probably good enough.

I don't know if the other requirements you have can be gotten with NT, although I imagine it would be fine. I think NT uses CQG for its order routing (or a white-label version called Continuum), although I think you can get Rithmic on request. (You'd need to ask them.) I do know that a lot of people write automated strategies in NT.

You can see there's a lot to find out, and that no one answer is necessarily the only one for you.

Take small steps, do the work, and good luck.

Bob.

When one door closes, another opens.
-- Cervantes, Don Quixote
Reply With Quote
  #16 (permalink)
 ZB23 
Atlanta Metro Area
 
Experience: Intermediate
Platform: Rithmic API
Broker: Ironbeam
Trading: Futures: CL spreads, IR outright.
Frequency: Never
Duration: Never
Posts: 145 since Feb 2017
Thanks Given: 60
Thanks Received: 198


TrecF90 View Post
I wasn't even aware of their TWS daily shutdown, that is insane.
With tradestation, I read on a few forums and complaint sites that they have high latency issues because of where they route the trades and the trip the orders take before being filled. I think they are routed down to VA or even FL before being sent to be filled at CME? Don't know if that is the truth but I was trying to see if I could find my ping results for them because it was at least a few hundred milliseconds, compared to CQG, which I've gotten consistent results in the 20-30 millisecond range. That will make a difference because of what I am trying to do. Although, Idk how large of a role it will play if I am using a VPS in Chicago but something I wanted to throw out there.

In my opinion, a few hundred milliseconds is unacceptable, and 20-30ms is mediocre. From my home network, I get 10ms. On AWS, I can get well into the single digits. A Chicago-based VPS would make a huge difference in latency. I would be shocked a ping response wasn't in the single digits.

Reply With Quote
Thanked by:
  #17 (permalink)
 TrecF90 
New York City
 
Experience: Intermediate
Trading: Futures
Posts: 10 since Jul 2023
Thanks Given: 9
Thanks Received: 3


bobwest View Post
A few quick things, mainly from reading your comments regarding coding....

1. I am generally agnostic on languages, unless there is a particular need. For example, I have never written any code in Python. It may very well be the exact thing for a certain purpose. But over a long(-ish) period of coding, I have found that many will do the job, as a rule.

2. The best way to learn a language is to have a project to code in it. Necessity is the mother of invention, and of learning, too.

3. Languages generally have a syntax (a basic structure of how something is done) -- which would include how to do basic logic, such as "if", "and", "or", etc., and how to organize code so it goes from point A to B. Then there is usually some pre-written code that you don't have to invent every time, but that you can just incorporate into your logic flow by calling it and passing data to it. I have read about Python libraries, and that is exactly what I mean. It is impossible to write code without something of this sort, because otherwise every single thing -- even taking input from the keyboard -- would have to be written from scratch. No one will do that.

The basic "flow of control" logic of all languages is much the same, although they will use different ways to write it. Most languages will have a basic set of math, string and similar functions to get that sort of thing done, and then they will have other class or function libraries, however they call them, for particular work. Once you get the fact that the major differences are just how to get to those other functions, and what they are, then the differences are less important. (Speed of execution is one difference. An "interpreted" language like Python will not be as fast -- although probably good enough --, intermediate languages like Java and C# will be faster, and pure compiled languages like C++ will be many times faster. Will this matter to you? I don't know. )

4. NT has a "scripting" language they call "NinjaScript", which consists of a plain-vanilla general language (C#) that does the logic flow and all that, and a bunch of classes (pre-written code chunks) that do the dirty work, just as everything else has. Much of the pre-written classes provides the same functionality that the trading platform provides, and does other data-related tasks. Some of the classes are built into C#, some are Ninja-specific. In general, if you can do something with the trading platform, you can automate it. Just about any (decent) trading platform works about like this.

5. You've mentioned not wanting to write a strategy based only on indicators. In that case, don't do that. ( ). There's no reason to. You can access whatever data the platform can, and manipulate it as you wish, and then send off your orders based on whatever criteria you have written. You can do anything you want with the available data, basically.

6. While I did mention the NT Strategy Builder, that was as an example of a tool for quick strategy creation by people who don't want to write code. It could be helpful as a learning tool to get started, because it has a simple interface and automatically generates code based on things you've selected. For anything serious, a person would, I think, want to just use the NT code editor (or any other C# code editor) and hand-write the code.

Now, everything I just wrote will apply to many other choices a person might make. I think there are advantages to NT mainly because of the support you can get from other members on the forum, and the fact that it generally has what is needed. I doubt if it's perfect, but it's probably good enough.

I don't know if the other requirements you have can be gotten with NT, although I imagine it would be fine. I think NT uses CQG for its order routing (or a white-label version called Continuum), although I think you can get Rithmic on request. (You'd need to ask them.) I do know that a lot of people write automated strategies in NT.

You can see there's a lot to find out, and that no one answer is necessarily the only one for you.

Take small steps, do the work, and good luck.

Bob.

Bob,
Thanks so much for all of this! This answers a bunch of additional questions that I was getting ready to post.
I am looking forward to my journey and everyone's help here has motivated me to get moving on this

Thanks again

Started this thread Reply With Quote




Last Updated on August 23, 2023


© 2024 NexusFi™, s.a., All Rights Reserved.
Av Ricardo J. Alfaro, Century Tower, Panama City, Panama, Ph: +507 833-9432 (Panama and Intl), +1 888-312-3001 (USA and Canada)
All information is for educational use only and is not investment advice. There is a substantial risk of loss in trading commodity futures, stocks, options and foreign exchange products. Past performance is not indicative of future results.
About Us - Contact Us - Site Rules, Acceptable Use, and Terms and Conditions - Privacy Policy - Downloads - Top
no new posts