Jump to content

Welcome to the new Traders Laboratory! Please bear with us as we finish the migration over the next few days. If you find any issues, want to leave feedback, get in touch with us, or offer suggestions please post to the Support forum here.

  • Welcome Guests

    Welcome. You are currently viewing the forum as a guest which does not give you access to all the great features at Traders Laboratory such as interacting with members, access to all forums, downloading attachments, and eligibility to win free giveaways. Registration is fast, simple and absolutely free. Create a FREE Traders Laboratory account here.

kaiynne

Best Broker for Interfacing with Custom Code

Recommended Posts

I wanted to get some feedback on which broker/brokers people would recommend using if i wanted to write my own program to generate market orders. A friend and i are planning on writing some custom software to generate buy and sell orders based on custom strategies that we are working on. Obviously we need to be able to feed live market data into the software and be able to generate buy and sell orders from our software. Backtesting would be a bonus.

 

Thanks in advance.

 

-Kain

Share this post


Link to post
Share on other sites

Depends on your exact requirements. I would go with Interactive Brokers. Pretty open API and loads of apps (and so help) written to it. Has the bonus of a wide range of tradeables available.

Share this post


Link to post
Share on other sites

The requirements would be the ability to feed real time data to our program, which i assume it has and possibly being able to feed backtesting data into the program. When i initially looked at IB it seemed like they had a different commission schedule for orders executed through the API which seems weird to me. can anyone comment on that or was i reading their site wrong? The other place i have looked into is TradeStation, but i am concerned about whether we could design our software to interact with their platform. I think they want everyone to write code in their proprietary language. We could get around this by wrapping their order calls etc. within out code and passing them on at the appropriate time to the TradeStation Software, but this seems unwieldy.

 

Thanks for the input.

Share this post


Link to post
Share on other sites

kaiynne,

 

For prototyping most applications, TradeStation should at least be considered. After you get a system prototyped and tested then moving to the next level will depend a lot on your scale and the correct path will pretty much reveal itself. TS EL code is fairly easy to port to other languages, has a decent library of 'reusable' code (and a deep reference for handling the 'gotcha's' and idiosyncracies of execution, etc), you can use multiple data streams, and with ELC/ADE 'collection' you can create your own 'tables' etc. DLL's can be wrapped in... etc etc.

 

hth,

 

zdo

Share this post


Link to post
Share on other sites
I wanted to get some feedback on which broker/brokers people would recommend using if i wanted to write my own program to generate market orders. A friend and i are planning on writing some custom software to generate buy and sell orders based on custom strategies that we are working on. Obviously we need to be able to feed live market data into the software and be able to generate buy and sell orders from our software. Backtesting would be a bonus.

Thanks in advance.

-Kain

 

you coding expertise (or lack of it) dictates the direction you can take.

Share this post


Link to post
Share on other sites
kaiynne,

 

For prototyping most applications, TradeStation should at least be considered. After you get a system prototyped and tested then moving to the next level will depend a lot on your scale and the correct path will pretty much reveal itself. TS EL code is fairly easy to port to other languages, has a decent library of 'reusable' code (and a deep reference for handling the 'gotcha's' and idiosyncracies of execution, etc), you can use multiple data streams, and with ELC/ADE 'collection' you can create your own 'tables' etc. DLL's can be wrapped in... etc etc.

 

hth,

 

zdo

 

The system we are planning on developing is going to need constant feedback from itself via backtesting. So porting the EL scripts to c++ for example would then require tweaking in c++ and then porting back into EL for testing? This would seem to be an unwieldy method. I guess the question i have is is can the backtesting data in TS be exported or at least directly accessed by a program written in C++?

Share this post


Link to post
Share on other sites
The fees for API generated orders are the same with IB. Many people use order entry applications that talk to the API (button trader, bracket trader, zeroline etc.)

 

Thanks for clearing that up, I am not sure why it seemed to not be the case, I will have to go back and take a look at their commission structure again.

Share this post


Link to post
Share on other sites
The system we are planning on developing is going to need constant feedback from itself via backtesting. So porting the EL scripts to c++ for example would then require tweaking in c++ and then porting back into EL for testing? This would seem to be an unwieldy method. I guess the question i have is is can the backtesting data in TS be exported or at least directly accessed by a program written in C++?

 

Yes, you can easily write EasyLanguage to save any TS data to a text file that can then be read by a C++ program.

 

Additionally, an EasyLanguage strategy can load a DLL written in C++ and the C++ can use COM to access EasyLanguage variables in real-time. I found info on how to do this in the TS forums a year or two ago and it worked for me.

Share this post


Link to post
Share on other sites
The system we are planning on developing is going to need constant feedback from itself via backtesting. So porting the EL scripts to c++ for example would then require tweaking in c++ and then porting back into EL for testing? This would seem to be an unwieldy method. I guess the question i have is is can the backtesting data in TS be exported or at least directly accessed by a program written in C++?

 

In a word - Yes.

 

Here are some of the ways it can be done.

 

>In EL, write strategy-performance related reserved words to .txt (etc) file for access by other apps.

 

>Strategy Performance Report itself can also be saved in an Excel workbook directly.

 

>

https://www.tradestation.com/Discussions/Topic.aspx?Topic_ID=68283#333302

 

>

https://www.tradestation.com/Discussions/Topic.aspx?Topic_ID=79260

 

>

https://www.tradestation.com/Discussions/Topic.aspx?Topic_ID=77123

 

>

https://www.tradestation.com/Discussions/Topic.aspx?Topic_ID=66550

 

> Use Fileappend see Trader Wiki

 

>

https://www.tradestation.com/Discussions/Topic.aspx?Topic_ID=46429

 

>

https://www.tradestation.com/Discussions/Topic.aspx?&Topic_ID=45827

 

>

Search on or contact TS forum name Albruno. He saves "the file as .csv , rebuilds the results to an EL format.(using python to build the function and all strategy components), filters the poor results and keep the cream (ie put them in a function that enable re-optimization of this filtered list only… the iteration order is reset.. so that all the valued series of variables can be re-optimized without wasted params that were not useful) to save days... of re-processing... "

 

etc etc

hth

Share this post


Link to post
Share on other sites
In a word - Yes.

 

Here are some of the ways it can be done.

 

>In EL, write strategy-performance related reserved words to .txt (etc) file for access by other apps.

 

>Strategy Performance Report itself can also be saved in an Excel workbook directly.

 

>

https://www.tradestation.com/Discussions/Topic.aspx?Topic_ID=68283#333302

 

>

https://www.tradestation.com/Discussions/Topic.aspx?Topic_ID=79260

 

>

https://www.tradestation.com/Discussions/Topic.aspx?Topic_ID=77123

 

>

https://www.tradestation.com/Discussions/Topic.aspx?Topic_ID=66550

 

> Use Fileappend see Trader Wiki

 

>

https://www.tradestation.com/Discussions/Topic.aspx?Topic_ID=46429

 

>

https://www.tradestation.com/Discussions/Topic.aspx?&Topic_ID=45827

 

>

Search on or contact TS forum name Albruno. He saves "the file as .csv , rebuilds the results to an EL format.(using python to build the function and all strategy components), filters the poor results and keep the cream (ie put them in a function that enable re-optimization of this filtered list only… the iteration order is reset.. so that all the valued series of variables can be re-optimized without wasted params that were not useful) to save days... of re-processing... "

 

etc etc

hth

 

Absolutely brilliant thank you. So now the question is how many strategies can be processed at once through trade station? If you can only run one instance at a time this will be severely limiting.

Share this post


Link to post
Share on other sites

re: "how many strategies can be processed at once through trade station"

 

You need to have a "chart window" active for each instrument you want to run strategies on. You can run multiple strategies per "chart window". Performance limits are set by number of strategies, etc running and amount of loop, array, etc. crunching in each. Upper limits are mostly set by ram... use an ASUS motherboard and pile on the gigs.

 

... any platform is 'chokable' :)

There are techniques for minimizing bottlenecks and setting processing precedence... but that's beyond the scope here... I was only suggesting TS as a prototyping and testing environment, although a few use it in production successfully... hth

Share this post


Link to post
Share on other sites
Absolutely brilliant thank you. So now the question is how many strategies can be processed at once through trade station? If you can only run one instance at a time this will be severely limiting.

 

you can give MultiCharts a try.

 

MultiCharts is a TradeStation clone, except better.

It can run multiple strategies at the same time.

Share this post


Link to post
Share on other sites

I have been looking into trying to just get the raw tick by tick data. It seems to me that by doing that you would eliminate the need to communicate with a server. The method i plan to employ in back testing is going to be highly data intensive. I am looking at running thousands of instances of each strategy simultaneously. At this point i would imagine that bandwidth becomes the bottleneck. I feel like if i build a small server farm say 5-10 machines with direct access to the database of quotes that this will blow away any over the counter solution that is currently available. So the only issue is getting the data. I found one place HISTORICAL TICK DATA ? Historical tick data for stocks, equities, futures, options, indexes and indicators! and it looks like you can get 5 years of back data for 6 symbols for around a grand which could possibly work for what we are doing. Anyone else know of a vendor that sells data directly?

Share this post


Link to post
Share on other sites

If you decide to go with an 'off the shelf' package but want "heavy duty" too you might want to take a look at NeoTicker. Personally I would be a wary of the robustness of MUlticharts and Tradestation I wouldn't trust either running un attended (even with a single simple strategy). Not sure if that is one of your goals or not.

 

Actually from your last post I am pretty sure MC and TS will not scale to that sort of level.

Share this post


Link to post
Share on other sites

after doing more research i have pretty much come to the conclusion that a server side solution is just not going to be able to compete with a client side solution. The sheer amount of data involved just makes it prohibitive. It was simple naivete on my part that allowed me to even think it would be possible. However at some point we will need to switch from back testing to real time testing at which point we will have to scale back somewhat. The only issue now seems to be finding the data at a reasonable price.

Share this post


Link to post
Share on other sites

hi Blowfish

any feedback/advice on using multicharts with IB's data feed? (mainly Es intraday and swingtrading equities)

i need to duplicate a custom TS system and wondering about the MC+IB combo...

any other recommendations?

Phall

Share this post


Link to post
Share on other sites

Depends on what you are doing. If you are trading off intra day charts with a few studies it s absolutely fine for most purposes. If you want full automation I would be wary. It is worth noting that under certain conditions that IB snapshot data (though you get multiple 'ticks' per second these might contain aggregated transactions at the same price) For most applications this is absolutely fine.

Share this post


Link to post
Share on other sites
Indeed. In fact I seem to recall Globex reserve the right to aggregate data at source though can't remember where I saw that so I'd take it with a grain of salt.

 

I did not know that, so I did a search on it, and I came up with this:

 

https://www.interactivebrokers.com/smf/index.php?topic=32212.0;wap2

 

Notification of Upcoming CME GLOBEX Data Feed Changes

 

Recently, the message traffic for market data has been

rapidly increasing. In an effort to reduce the amount

of message traffic, the CME plans to make an

industry-wide change, affecting all data vendors, to

aggregate the ticks sent by its datafeed for GLOBEX

markets. This means that you will receive fewer trade

ticks overall. This change is scheduled to take place

on 12/18/2005.

 

Currently, for example, a five lot order matched with

five one lot orders will result in five trade ticks

being disseminated, each tick having a volume of one

contract. Starting on 12/18/2005, a five lot order

matched with five one lot orders will result in two

trade ticks being disseminated, the first of these

ticks with a volume of one contract and the second of

these ticks with a volume of four contracts. This is

known as tick aggregation.

 

 

Please be aware that if you are using tick bars, this

will result in a reduction of the number of bars that

you will receive for CME GLOBEX markets starting on

12/18/2005. If you are using any time-based bars such

as intraday or daily, weekly, or monthly bars, the

number of bars that you receive should not change.

Share this post


Link to post
Share on other sites

Thanks everyone for the great feedback.

 

Has anyone tested which feeds are best for keeping up with real time ticks? I am using techniques that are similar to the Volume Splitter methodology that BLOWFISH sent out in that forum, (looking at ticks and binning them) and wondering which feed is the fastest/most reliable etc.

 

i appreciate that all of these methods suffer from the tick aggregation problem, which i think i can live with; however a poor datafeed would cause alot of erroneous analysis and this is what i'm trying to avoid.

 

Currently on TS with the TS datafeed it does alright, but there's got to be better.

 

Has anyone ever used CQG? i have heard numerous times that their data is awesome.... Another recommendations?

 

phall

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.


  • Topics

  • Posts

    • Be careful who you blame.   I can tell you one thing for sure.   Effective traders don’t blame others when things start to go wrong.   You can hang onto your tendency to play the victim, or the martyr… but if you want to achieve in trading, you have to be prepared to take responsibility.   People assign reasons to outcomes, whether based on internal or external factors.   When traders face losses, it's common for them to blame bad luck, poor advice, or other external factors, rather than reflecting on their own personal attributes like arrogance, fear, or greed.   This is a challenging lesson to grasp in your trading journey, but one that holds immense value.   This is called attribution theory. Taking responsibility for your actions is the key to improving your trading skills. Pause and ask yourself - What role did I play in my financial decisions?   After all, you were the one who listened to that source, and decided to act on that trade based on the rumour. Attributing results solely to external circumstances is what is known as having an ‘external locus of control’.   It's a concept coined by psychologist Julian Rotter in 1954. A trader with an external locus of control might say, "I made a profit because the markets are currently favourable."   Instead, strive to develop an "internal locus of control" and take ownership of your actions.   Assume that all trading results are within your realm of responsibility and actively seek ways to improve your own behaviour.   This is the fastest route to enhancing your trading abilities. A trader with an internal locus of control might proudly state, "My equity curve is rising because I am a disciplined trader who faithfully follows my trading plan." Author: Louise Bedford Source: https://www.tradinggame.com.au/
    • SELF IMPROVEMENT.   The whole self-help industry began when Dale Carnegie published How to Win Friends and Influence People in 1936. Then came other classics like Think And Grow Rich by Napoleon Hill, Awaken the Giant Within by Tony Robbins toward the end of the century.   Today, teaching people how to improve themselves is a business. A pure ruthless business where some people sell utter bullshit.   There are broke Instagrammers and YouTubers with literally no solid background teaching men how to be attractive to women, how to begin a start-up, how to become successful — most of these guys speaking nothing more than hollow motivational words and cliche stuff. They waste your time. Some of these people who present themselves as hugely successful also give talks and write books.   There are so many books on financial advice, self-improvement, love, etc and some people actually try to read them. They are a waste of time, mostly.   When you start reading a dozen books on finance you realize that they all say the same stuff.   You are not going to live forever in the learning phase. Don't procrastinate by reading bull-shit or the same good knowledge in 10 books. What we ought to do is choose wisely.   Yes. A good book can change your life, given you do what it asks you to do.   All the books I have named up to now are worthy of reading. Tim Ferriss, Simon Sinek, Robert Greene — these guys are worthy of reading. These guys teach what others don't. Their books are unique and actually, come from relevant and successful people.   When Richard Branson writes a book about entrepreneurship, go read it. Every line in that book is said by one of the greatest entrepreneurs of our time.   When a Chinese millionaire( he claims to be) Youtuber who releases a video titled “Why reading books keeps you broke” and a year later another one “My recommendation of books for grand success” you should be wise to tell him to jump from Victoria Falls.   These self-improvement gurus sell you delusions.   They say they have those little tricks that only they know that if you use, everything in your life will be perfect. Those little tricks. We are just “making of a to-do-list before sleeping” away from becoming the next Bill Gates.   There are no little tricks.   There is no success-mantra.   Self-improvement is a trap for 99% of the people. You can't do that unless you are very, very strong.   If you are looking for easy ways, you will only keep wasting your time forgetting that your time on this planet is limited, as alive humans that is.   Also, I feel that people who claim to read like a book a day or promote it are idiots. You retain nothing. When you do read a good book, you read slow, sometimes a whole paragraph, again and again, dwelling on it, trying to internalize its knowledge. You try to understand. You think. It takes time.   It's better to read a good book 10 times than 1000 stupid ones.   So be choosy. Read from the guys who actually know something, not some wannabe ‘influencers’.   Edit: Think And Grow Rich was written as a result of a project assigned to Napoleon Hill by Andrew Carnegie(the 2nd richest man in recent history). He was asked to study the most successful people on the planet and document which characteristics made them great. He did extensive work in studying hundreds of the most successful people of that time. The result was that little book.   Nowadays some people just study Instagram algorithms and think of themselves as a Dale Carnegie or Anthony Robbins. By Nupur Nishant, Quora Profits from free accurate cryptos signals: https://www.predictmag.com/    
    • there is no avoiding loses to be honest, its just how the market is. you win some and hopefully more, but u do lose some. 
    • $CSCO Cisco Systems stock, nice top of range breakout, from Stocks to Watch at https://stockconsultant.com/?CSCOSEPN Septerna stock watch for a bottom breakout, good upside price gap
    • $CSCO Cisco Systems stock, nice top of range breakout, from Stocks to Watch at https://stockconsultant.com/?CSCOSEPN Septerna stock watch for a bottom breakout, good upside price gap
×
×
  • Create New...

Important Information

By using this site, you agree to our Terms of Use.