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

    • CENX Century Aluminum stock top of range breakout watch above 18.31, https://stockconsultant.com/?CENX
    • QBTS D-Wave Quantum stock reversal attempt at the 1.4 support area, https://stockconsultant.com/?QBTS
    • PLTR Palantir Technologies stock bullish stats, https://stockconsultant.com/?PLTR
    • GTLB Gitlab stock back to 53.04 support area, https://stockconsultant.com/?GTLB
    • Date: 14th May 2024. Market News – May 14. Economic Indicators & Central Banks:   Asian stocks and European futures kept to small ranges as focus turned to upcoming US inflation reports. JGB yields surged to their highest levels in over a decade amid growing speculation that the BOJ might raise interest rates soon. Former central bank executive Momma stated that the BOJ might opt to deduct its planned bond purchases next month in an effort to revive a bond market that has been largely impaired by its ongoing substantial purchases. BOJ Governor Kazuo Ueda emphasized the importance of the market determining long-term yields independently rather than relying solely on the central bank’s actions. UK wage growth remained solid amid a slowdown in the job market, providing further arguments for the BOE’s monetary policy hawks to await more concrete signs of easing inflationary pressures before considering interest rate cuts. Eyes today are on producer price data in the US, followed by consumer price data the next day, which will provide insights into whether the Fed will consider interest rate cuts later in the year or postpone them until 2025. Financial Markets Performance:   The USDIndex is steady at 105 lows. The Yen extended losses for an 8th day against the Greenback to a 2-week low. Currently USDJPY is at 156.45. EURUSD rebounded slightly to 1.0785, however overall holds within a downwards channel with key resistance at 1.0850. USOIL held steady ahead of the release of an OPEC market outlook, with traders eagerly awaiting signals regarding the extension of supply curbs. Despite a decline since April, oil prices have remained relatively high this year due to ongoing supply restrictions by OPEC and its allies, with expectations that these curbs will be prolonged into the second half of the year. Currently USOIL is at $77.78. Gold (-0.93%) declined further to $2338 per ounce. Copper rose at +2.46% and Platinum +0.54%. Market Trends:   The 10-year JGB yield to a 6-month high of 0.965%. The 2-year JGB yield, which closely reflects policy expectations, rose to 0.340%, its highest since June 2009. The 20-year and 30-year JGB yields also surged to their highest levels in 11 years and since July 2011, respectively. FTSE100 stands by record highs, the S&P500 is close to topping March’s record high. The Nasdaq rose by 0.3%, with four of the Magnificent Seven stocks rising. The Hang Seng has added 20% in a rally that is entering a fourth week. Alibaba and Tencent report earnings later today. Always trade with strict risk management. Your capital is the single most important aspect of your trading business. Please note that times displayed based on local time zone and are from time of writing this report. Click HERE to access the full HFM Economic calendar. Want to learn to trade and analyse the markets? Join our webinars and get analysis and trading ideas combined with better understanding on how markets work. Click HERE to register for FREE! Click HERE to READ more Market news. Andria Pichidi Market Analyst HFMarkets Disclaimer: This material is provided as a general marketing communication for information purposes only and does not constitute an independent investment research. Nothing in this communication contains, or should be considered as containing, an investment advice or an investment recommendation or a solicitation for the purpose of buying or selling of any financial instrument. All information provided is gathered from reputable sources and any information containing an indication of past performance is not a guarantee or reliable indicator of future performance. Users acknowledge that any investment in FX and CFDs products is characterized by a certain degree of uncertainty and that any investment of this nature involves a high level of risk for which the users are solely responsible and liable. We assume no liability for any loss arising from any investment made based on the information provided in this communication. This communication must not be reproduced or further distributed without our prior written permission.
×
×
  • Create New...

Important Information

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