Easylanguage vs. C++

Grotifant

Newbie
Messages
3
Likes
0
Anyone experience with both programming languages in order to develop + backtest trading systems? I'm not an expert in programming and hence I guess EL would be more appropriate, but I'm concerned that it does not allow enough freedom in parameter specifications.

Any comments welcome.

Cheers,
Manuel
 
I've recently started using EasyLanguage to write trading systems and I have many years of experience of C++ and Java. EL is very much a structured language and it is difficult to manage the complexity as programs get larger. It is difficult to modularise things and impossible to communicate between strategies without resorting to an add-on DLL to provide global variables.

I am looking at writing an extension to EL which would all me to write my strategies in Java and just have EL take care of setting up orders and plotting indicators.

Doug
 
Manuel,
In my opinion you cant compare C++ with EL. They are different and designed for different things. The best way to start is to do backtesting and strategy development using TS2K w/EL and then
when you have a strategy you are confident works successfully to code it up in C++. Trust me you will find it easier. Also EL is much easier to learn that C++ LOL.

Regards,

Imran
 
Grotifant said:
Anyone experience with both programming languages in order to develop + backtest trading systems? I'm not an expert in programming and hence I guess EL would be more appropriate, but I'm concerned that it does not allow enough freedom in parameter specifications.

Any comments welcome.

Cheers,
Manuel

Im a professional C++ programmer with a little experience of EL - what I would say is that you are far better off sticking to EL; its no use outside of Tradestation; but does the job well enough; identify the things its genuinely not possible to do and then maybe write( or commision someone else to ) a C++ language extension library ( which is possible for TS2000 ). C++ is a 'real' programming language and requires considerable experience to use effectively - with price arrays there is usually alot of pointer arithmetic which can be very confusing for the beginnner
 
If you are not a programmer, then unless you are prepared to put in a lot of work (and I mean a lot) then it would be much better to stick to TS or WL etc.

It also depends on what you want to do eg if you just want to produce some trading signals for the eminis then rolling your own may not be such a burden. Excel may be a possibility though it's not my cup of tea. There are TA libs available for Excel that will give you all the common indicators - even a free one I think.

In any case, unless you are a C++ programmer and really want to employ that experience, there is little justification in choosing C++ over Java or if you really must have a MS environment C#. In most cases software written in C/C++ will take longer to develop and certainly longer to debug. I you are starting from scratch, I guarantee that C++ will take longer to learn.

Having said all that, I think there are big advantages in rolling your own platform. Whether they are big enough to justify the work involved is another issue which one can only decide for oneself.

I have chosen to develop my own platform in Java for backtesting/system development/trading, and I think that it delivers in an integrated package what you would need several commercial packages to deliver eg good EOD technical market scanner - maybe equivalent to www.stockfetcher.com, trading system backtesting with any number of instruments per system, able to handle multiple time frame time series, genetic optimiser, charting (including real time snapshot charts - I'm working on the scrolling bit). It also does account level simulations ie the ability to simulate multiple trading systems in the one account and optimise capital allocation between systems or reallocate capital automatically depending on market conditions. There is also trading automation for integration with IB.

It has been a lot of work, but the freedom provided by a proper programming language is a huge plus. When all is said and done, I think the effort will be worth it.

I initially started work on this because I tried the 'backtesting' facilities in Esignal and rapidly came to the conclusion that it's rubbish (in fact a joke) for system development (nice charts though).

Without trying to start wars over programming languages, I would suggest that Java is a verg good choice for this sort of thing for many reasons

1. Free and very well documented with plenty of tutorial material available for free on the net. It is not necessary to spend a penny on software, books etc.

2. Fast enough. C/C++ may be faster but in nearly all cases fixing/optimising algorithms and/or data structures will yield far greater performance improvements than switching languages. I'd expect C# and Java to be roughly similar.

3. Cross platform. Java/Linux (or Java/Solaris) are very stable (and secure) environments for a trading platform. (Also free). If you must, Windows is also satisfactory.

4. A lot of quality free stuff available eg I use the JFreeChart libs for charts. This is more than adequate for building charts of good quality. JGap for a genetic algorithm library. Dislin for 3D optimisation surface visualisation. Jdom for handling XML. etc etc

5. Leading edge. You can now get 64 bit Linux for the new(ish) AMD chips and a 64bit JVM from Sun. If you want performance for heavy number crunching for backtesting / optimising / scanning, I expect this combination -especially with the Athlon Socket 939 or 940 processors - will easily outperform anything in the Windows .NET world and be light years ahead of the likes of TS or WL.

6. A truly robust underlying programming environment. With WL or TS you are dependent on it having the capabilities you need and being robust and reliable. Without being in any way critical of WL or TS or other such environment they are much more likely to be buggy than Java or .NET for the simple reason that there are many, many more developers in the latter environments. There are bound to be fewer serious bugs in the latter.
 
I have only used Metastock for creating Indicators, etc...

I now have a great need to learn Easy Language(why is it called easy after all I've read),
anyway... does anyone know how to find examples or better without paying $100-$150 or more on
a book that may or may not be written well. By that I mean some books I have read on the same
subject are just easier to understand from the authors communication skill.

Thanks for any feedback to come!!!
 
I think you can download / see lots of easy language formulas from site, plus is a tutorial on site (all free,atleast if subscriber )
 
EL is a huge amount easier to work with than C++ or C# etc for developing strategies and indicators. It is custom designed to be used to develop and test trading strategies. C++ is not specifically designed to do such so you would end up basically re-writing EL to use it effectively. As henry states, there is an awful lot of available code given with the platform and also given on the forums themselves. I have given a lot of it myself over the years as I am one of the more prolific posters on their forums. I have developed an awful lot of successful strategies and none of those required a single line of C++ to accomplish their success. I do hold a degree in computer science and can program in many other languages including C++, but find that I really don't need it to do what I do.
 
EasyLanguage is an excellent tool, but not ojtect oriented, which on occasion I use the powerfull EL DLL/C++ interface for faster and more complex processing and strategies.
For example trying to manage parallel/overlapping Strategy Buy/Sell setups
are very cumbersome in EL, while in object oriented C++ its fairly easy, just developing the framework took some time investment ... I have also applied it to many of my clients:
TraderStation(R) Utilities and Services from Professional Software Solutions
 
Top