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.