Wealth-Lab 5.0: first Impressions
Author: DrKoch
Creation Date: 11/18/2007 12:25 PM
profile picture

DrKoch

#1
Wealth-Lab Pro

I was in the same talk as traderray yesterday evening where Dion showed us the new WL5.
(This is Las Vegas, Mandalay Bay, a crazy place to be)

Some basic things are already well known:

It is a complete re-write from scratch.
It is based on .Net/C# and the primary scripting language is C#.
The plugin architecture allows for customization of various aspects of the product.

Major Improvements over WL4:

* It looks quite good, just like a state-of-the Art windows application.

* They said it executes about 10 times faster at the second run of a script. The first run takes a bit more time for compiling C# to IL, compiling IL to code and some memory swapping activities.

* The most obvious improvement are "Sliders": If there is an OptVar (now SystemParameter) in your script WL5 shows a "Slider" for it in the main window. If you move the slider it runs the script with new settings again.

* There is no longer a ChartScript-Window, Optimization-Window, $imulator-Window. These three functions are combined in a single, unified window.

Some more Details:

* They announced a "Migration Tool" which will translate WL4 (WealthScript) ChartScripts to WL5 (C#) Strategies

* The overall design ist still the same: There is a Bar-Loop, There are Panes, PriceSeries, and so forth. This also means: as in WL4 there is no access to the GhostBar.

* Instaed of editing a Perfscript for your customized Performance Report (the WL4 way) it is possible to generate a complete "Window" with your own text, graphics and the like to report customized performance results.

* WL5 will run side-by-side with WL4

* WL5 can read any data available on disk for WL4 (native WL4 Data sources) but not update/write.

The Down-Side:

* While WL5 is able to run several strategies at once in realtime mode, it will produce alerts only. No broker interface (and with it any automated trading) is available in WL 5.0. This is announced for WL5.1 in 2008

* No Optimizer (2008)

* No "Multiscript" i.e. simultaneous simulation of several Strategies. (also announced for 2008, let's keep fingers crossed for this one)

* no "third party" brokers will be supported "for maintenance reasons"

Let me conclude with some words heard from WL5's project manager with respect to TradeStation:

"WL4 was one Generation ahead of TradeStation, with WL5 we are two generations ahead"
profile picture

daronow

#2
Dr Koch,

Thanks for the assessment, now we're waiting for those screenshots Cone promised us :) Does the data need to be updated in WL4 every day just so WL5 can read it? Seems like kind of a pain, although I guess it's only temporary.

Can anyone comment if the WL website (or the new announced backtester on the Fidelity website) will be updated to run C# scripts? Otherwise you'll have to write everything twice (or write it and then convert it).

Dave


profile picture

DrKoch

#3
> Does the data need to be updated in WL4 every day just so WL5 can read it?

Sorry, I was not claer about this. WL5 can read from all the common data sources (Yahoo, Fidelity, ...)
On top of that it can read data from an existing WL4 database.

> Can anyone comment

It was said that the new web site backtester is based on WL5 scripts...
profile picture

rrams

#4
Thanks for the personal tour, Dion. I was very pleased to see that WLP 5 maintains the same feel of quality and good design. I liked the changes; they make sense. You gotta be happy that a connection to ATP is no longer needed!

Even though I have an intense bias against Microsoft and dislike .Net; the adjustment in coding style for chartscripts is actually not much of a problem for me. The code is not that different looking. Virtually unlimited power now, so ver 5 chartscripts will have to be submitted for testing and approval, I imagine.

I like that most everything is an add-in adapter. Both the Fidelity and Yahoo! included streaming adapters are not native. An optimizer can be added as an adapter. It sounds even more open; which is very important to me. I would hope that Developer will allow more complex broker adapters than before.

I trade intra-day, so I can only wait for the Order Manager part to be completed before making a final judgement. I hope it supports complex order types and auto syncronization. The simulation part is very well done, I'm not dissappointed.
profile picture

daronow

#5
So, when can we use it *drool*?
profile picture

Cone

#6
<< Does the data need to be updated in WL4 every day just so WL5 can read it? >>

If you want to use WL4 data in WL5, yes. A WL4 adapter for WL5 is a matter of convenience for backtesting with existing DataSources.

A big advance in WL5 is that Streaming data providers use local history from a corresponding Static provider for backfill. If you want to use a year of 5-minute data in a streaming chart - no problem! For trading and streaming charts, it's to your advantage to build up and use WL5 DataSets.

<< WL5 can read from all the common data sources (Yahoo, Fidelity, ...) >>

Something to really drool over will be the new Yahoo! adapter and downloader. It's fast. The data never need refreshing. You can choose to apply or not apply cash adjustments (or even splits). It supports creating DataSets by Industry Groups or World Indices... even twiga will like this (but only this) in WL5.

<< I would hope that Developer will allow more complex broker adapters than before >>

No illusions here. "Developer" 5.0 is backtest only. Third-party brokers aren't supported.
profile picture

gammaarray

#7
will it be available in developer/non-pro edition? and will it be vista compatible?
profile picture

daronow

#8
Will WL5 be able to read from WL4 static data adapters or only from native data sources (such as Fidelity, Yahoo, ASCII)? What about WL4 real-time adapters (such as Quotetracker, IBData2, etc)?
Will the futures symbol manager be changed (please)? The current version is very difficult to use -- and I just love .net datagridviews.

Dave
profile picture

Cone

#9
Vista compatible, of course, with dual-processor support (comes with .NET).

No date yet, but a "Developer" version should be ready several weeks after the "Pro" rollout.
profile picture

gammaarray

#10
sounds great..
profile picture

sebastian04

#11
profile picture

vk

#12
daronow, how would you like the Futures Symbol Manager to look like?
profile picture

novendeh

#13
Dr. Koch or Cone - for those of us who don't know C and .NET, perhaps you could suggest one book to use as a reference for Wealth-Lab. Thanks.

EARL
profile picture

Eugene

#14
My vote goes for Herb Schildt's classic "C#: The Complete Reference".
profile picture

DrKoch

#15
> perhaps you could suggest one book

I can't. There are literally hundreds of books about C# available. It depends heavily on your programming experience (and goals) which would be the best for you.

Some reference points:

To create a Strategy in WL5 it is enough to understand some basic programming (same level as with WealthScript before)
So a "C# for Beginners" book will do.

If you want to write more complex Strategies, you need a thicker book which covers Collections, Generics and an overview of the .Net framework.

You need the thick book if you used Arrays, TLists and classes in your ChartScripts. (I know about 4 guys who did this)
profile picture

daronow

#16
I'd recommend one of the 21 days or 24 hours books (for example Teach Yourself C# in 21 days). I always found those very easy reads, although it could just be my preference.
profile picture

daronow

#17
>> daronow, how would you like the Futures Symbol Manager to look like?

The WL4 version with the grid is not a bad interface, it's just very hard to use (at least for me -- I don't presume to speak for everyone). One feature I don't see is a "clone" feature, where you can make a copy of an existing row but just have a different system (like the "Add as New" button in earlier versions). Multi-clone would be even better, where you can right-click on the grid row, enter a list of symbols (comma delimited for example) and you'd get one row for each new symbol (so you could create a new futures symbol for each data provider you have).

Ideally you'd just provide direct access to the futures symbols list (in the database), then I could just write my own interface and stop complaining :P

Dave
profile picture

Eugene

#18
Ideally you'd just provide direct access to the futures symbols list

Then the things are going your way. ;)
profile picture

daronow

#19
Can you comment more on the DB architecture for WL5 (beyond "I can tell you, but then I have to kill you ;P)? I assume if it's written in C# it must be an ADO.Net compatible architecture but it's probably not SQL Server because that's a huge footprint. That leaves embedded DBs such as SQLite, Dotnet Firebird, etc.
profile picture

DrKoch

#20
> how would you like the Futures Symbol Manager to look like

One of customers clearly stated:
A user should not be forced to enter all these details. The info is available over the net, why not simply fill it automatically and keep it up to date?
profile picture

Cone

#21
One reason is because different brokers have different symbols and margin values for futures contracts. It hard to put the information in a record if you don't know which record it belongs to.

Nonetheless, Wealth-Lab 5.0 uses XML format to store Strategy code, Symbol lists, etc. Anyone can create their own downloader and update the SymbolInfo.xml data file, and WL 5.0 will be happy to use the data.
profile picture

dec

#22

Are there any screenshots available?
profile picture

daronow

#23
Are you putting FileSystemWatchers on the xml config files so if they are changed WL reloads them automatically? I'd hate to have to restart WL5, especially knowing how slow .net startups can be for large applications.
profile picture

Eugene

#24
Are you putting FileSystemWatchers on the xml config files so if they are changed WL reloads them automatically?

No.

I'd hate to have to restart WL5, especially knowing how slow .net startups can be for large applications.

Yes, restart will be required. But restarting WL5 can be faster than WL4 by a few seconds.
profile picture

daronow

#25
OK, now what I should have asked -- if I change the data via a native interface (for example the futures symbol manager) will that change be reflected without a restart? I don't foresee real-time maintenance of futures symbols, but I wouldn't want to have to restart every time I changed the margin for a symbol (or added a new symbol).
profile picture

Eugene

#26
if I change the data via a native interface (for example the futures symbol manager) will that change be reflected without a restart?

Yes, without a restart.
profile picture

daronow

#27
Awesome. Do you have a WebPageWatcher running on this page? :P
profile picture

nexial_1002002

#28
Cone, I'm confused about the .net verbage and especially c# programming. Does this mean that the perl type version we have is changing to this version? Will the formats be the same for future chartscripts? I'm not seeing where running strategy simulation and a single symbols' backtest at once is preferable to choosing which one you want to do.
profile picture

Cone

#29
I'm confused about everything you just said! Perl :?
profile picture

DrKoch

#30
nexial,
if you refer to this statement:

> There is no longer a ChartScript-Window,
> Optimization-Window, $imulator-Window. These three
> functions are combined in a single, unified window.

Let me clearify: WL5 will work exactly as WL4 if it comes to running scripts against a single symbol or a portfolio. The only difference: You don't need to switch windows to do so.
Just by selecting the "Folder" instead of a single symbol it switches modes.

> Perl

This confused me too!

WL4 ChartScripts are based on WealthScript which is based on Delphi (language) which is based on Pascal, (Yes that old language invented by Nicolas Wirth, Zürich, Switzerland back in 1970)

WL5 Strategies are based on C# which is based on C++/Java which are based on C (yes that old language invended by Dennis Richie in 1972...

... guess nobody is interested in history these days ... :(
profile picture

johnjan

#31
>> Wealth-Lab 5.0 uses XML format to store Strategy code

You mean C# code by Strategy code?
profile picture

Eugene

#32
Yes.
profile picture

torel

#33
What makes the new WL5 superior to other C# based products available now?

thx,
torel
profile picture

DrKoch

#34
My opinion:

It is the huge number of published ChartScripts and this forum along with its user community.

They promised to offer a "Migration Tool" which will make the "old" WL4 ChartScripts available as WL5 Strategies. So the new C# based product will start with 1000+ working scripts.

I complained to Fidelity that they support this forum so lousy. I have the impression that they don't understand this forum as an important part of the WealthLab product. I hope it will change a bit in the future.
profile picture

tomclark

#35
I have used Fidelity's support twice, once with an activation issue which they helped with and a second time with a question about watchlists and they weren't able to help me at all. I get all of my technicial support through this website. How would you propose that they support this forum? I'm not sure they would have much to add.
profile picture

DrKoch

#36
> they weren't able to help me at all.

I met some of Fidelity's support people in LV and found them very sympathic. I think they do a good job with installation issues, get people started and the like. Clearly there are some question about programming ChartScripts and the inner workings of WL which are way above the head of the help desk.

And here it is important to have this forum with its "experts" which can answer your questions or give good hints even with "exotic" questions. (No amount of education for help-desk people will enable them to discuss these matters)

And did you notice:
Besides "cone" all experts are non-Fidelity people which "work" here for fun.

> How would you propose that they support this forum? I'm not sure they would have much to add.

I think this forum is an ancient form of a "social web site" as they become more and more popular now.

If I were Fidelity, I'd introduce more "interaction" and "motivation for experts" to keep it going on a faster rate.

Take a look at other social sites: People get personal ratings for the quality of their posts. One could gain bonus points for adding an FAQ (I mean the answer, not the question), one could gain bonus points for new knowledge base articles or for "the ChartScript of the Month".

After a year (or a half, whatever) I'd hand out a ticket for a "Trading Expo in Las Vegas" or something similar to the "winner of the year" i.e. the forum member with the most bonus points. Many things are possible here.

It was a deep experience to meet some of the forum members "in person" in Las Vegas. Fidelity could organize such events: Meet other forum members, have a nice little "conference" with exchange of ideas and opinions and a party, of course. :)

Or, my favorite: Imagine Fidelity would invite gbeltrame to give a talk: "How I developed the seventeen liner". I'd travel a good distance to hear that.

Are you still not sure they would have much to add?
profile picture

NOVENDEH

#37
>I met some of Fidelity's support people in LV and found them very sympathic. I think they do a good job with installation issues, get people started and the like.

I hope this is true, because it will be a change for Fidelity. A number of times, I've asked Fidelity folks about this site and they indicated they were not allowed to access it. Some of them didn't even know about this site. Without the help I've gotten here, I probably would have given up on Wealth Lab.
profile picture

mjk

#38
DrKoch
Thanks for the heads up on WL5. Just a few quick questions

1. Will WL5 have a Monte Carlo function when it is released or is this coming latter
2. If it has a Monte Carlo function is it the same as WL4’s a Monte Carlo function or a completely new one, as WL4’s Monte Carlo function hasn’t got a testing at margin facility which always struck me as odd
3. Given that there is a change to C# will WL5 come with a wizard facility to assist in the relearning process

Thanks

mjk
profile picture

nexial_1002002

#39
My bad, I did mean pascal. It's been awhile.
profile picture

Eugene

#40
Will WL5 have a Monte Carlo function when it is released or is this coming latter

As was announced, the tools are coming later.

Given that there is a change to C# will WL5 come with a wizard facility to assist in the relearning process

A ChartScript conversion tool was also announced.
profile picture

johnjan

#41
>> The overall design ist still the same: There is a Bar-Loop, There are Panes, PriceSeries, and so forth. This also means: as in WL4 there is no access to the GhostBar.

I think plotting indicators based on GhostBar is very valid for real-time trading. I have started to learn hard way that waiting for completion of bar is basically waiting to loose money and opportunities.

What is the problem with including GhostBar and having a function IsLastBarGhost()? Provide an option in the Settings Box whether the user wants to include ghostbar or not. Or even better, a function like IncludeGhostBar(). Of course, including ghostbar means the realtime chart will be executed for every tick.
profile picture

Cone

#42
I too can say that I've learned the hard way that not waiting for completion of bar is basically waiting to loose money and opportunities.

Sure, you can game the system to come out ahead sometimes, but are you beating your Strategy using discretion with some kind of statistical significance? Maybe you need to work more on your Strategy?

Executing a strategy on every tick is only going to happen if you're trading tick bars. It doesn't make sense to do it any other way. (Imagine trading 5-minute bars and getting an Alert to buy or sell at a different price with every tick.)
profile picture

johnjan

#43
I am talking about discretionary trading. I should have pointed out earlier.

It can be useful to system trading too, but I don't know about that (may be DrKoch can pitch in).

What I am saying is that users should have an option for it, and it should not be "forced" either way.

If you think user is messing his system by using ghostbar, let the user mess it after all it's his own money. ;)

To give you a similar example: Most will agree peeking is bad. Now some softwares have gone so far to "force" that the script cannot peek. What if I want to do some study using peeking. In that case, those softwares become useless. Thanks to wealthlab, peeking is allowed. Same way, some people might think using ghostbar is bad, but at least have some kind of option for those who want to use it.

Without using ghostbar, the script (and hence me) is not even aware of what is happening in the market; it knows only after bar completion which may be too late.

>> Imagine trading 5-minute bars and getting an Alert to buy or sell at a different price with every tick.

The assumption that all scripts generate buy/sell signals is plain wrong. Although this forum is dominated by system traders, I have a hunch that most wealthlab software users use wealthlab to test ideas and do discretionary trading.
profile picture

Cone

#44
Okay, you're talking about updating indicators with the ghost bar. Since it's the #1 or #2 feature request, I know that a lot of people would like to see that, and there's a good chance this will eventually happen.
profile picture

johnjan

#45
I think I have solved this problem of updating indicators for Ghostbar. It requires tweaking real-time adapter. And this approach is suitable for those who do discretionary trading.
CODE:
Please log in to see this code.

It is not that straightforward, it requires a bit of thinking to work out the details. But that is the basic idea.

Please tell me if anybody thinks this is not going to work!!

profile picture

DrKoch

#46
> Please tell me if anybody thinks this is not going to work!!

It won't!

Add() will add a new bar to the internal list, Update() will run the ChartScript with this nwe bar. So far, so good. But the next Add() with a "more complete ghostbar" will add another complete bar to the list...
profile picture

Cone

#47
Here's the closest you can get to updating Daily indicators using an intraday streaming source: Daily Streaming
profile picture

johnjan

#48
I see the why my approach wouldn't work.

The 'Daily Streaming' approach should work fine with updating 5-min, 10-min data from 1-min or seconds data too. Instead of asking the add-in for the aggregated prices, directly query the RT adapter. I think I was slowly approaching towards this method.

I found a few things which I didn't like. I wouldn't call them bugs, but I think these could have been improved and hopefully 5.0 will tackle them.

1. IWealthLabBars3.Add() does not do anything when you call with the same datetime. I would have expected it to update the bar with the new price values.

2. IWealthLabRTUpdate3.Update() does not run the chartscript if no bar is added after last Update() call. Again, Update() should have always run the chartscript without looking at the numbers of bars added since last run.

Consider the following seq:

Add(date1, 1, 1, 1, 1, 1);
Update();
Add(date1, 2, 2, 2, 2, 2);
Update();

The last 2 statements have no effect. The 2nd Add() wouldn't do anything since a bar with date1 has already been added. And since no bar gets added since first Update() call, the second Update() wouldn't do anything.

I know Cone will tell these are 'by design' ;)
profile picture

Eugene

#49
Here's the closest you can get to updating Daily indicators using an intraday streaming source: Daily Streaming

There also was Giorgio's workaround here.
profile picture

johnjan

#50
Giorgio's workaround is misleading. It requires you to press F5 on all the charts after every tick :P
profile picture

Cone

#51
Like or not, by design or not, Wealth-Lab Version 4 APIs are set in stone.

Why would you add a second bar with the same DateTime? That would be invalid except in a tick chart (only).

Why are we talking about Version 4 APIs in a "Wealth-Lab 5.0: first Impressions" topic?
profile picture

pj0ta

#52
Very interesting. I drastically reduced my use of WLP earlier this year after writing Chartscripts that used TLists etc.. I backed off because:

I wanted more data for backtesting (15-20 years),

I had code in other languages that I did not want to convert to the script language and

I could not resolve the surviorship bias because I could not get symbols and data for expired symbols. I view survivorship bias as a form of peeking for any backtesting script that tries to pick a stock to trade.

I guess I should keep an eye on this new version?
profile picture

brucev

#53
Hi,

while not wanting to hijack the point of this thread, it is worth pointing out that the effect of survivorship bias is generally heavily overestimated.

Directly how it applies to you will depend on the type of trading you are focused on, such as dip-buying, trend following, etc.

Certainly for trend following systems, the effect of survivorship bias on a well diversified portfolio with sensible risk management is reasonably low. I suspect it is more troublesome for dip-buyers, but again, proper risk management should ensure minimum hiccups on the journey!

Cheers,
Bruce
profile picture

cybrkup

#54
Hello all,

A few questions regarding v5:
1) Do you have to program using C# or can you continue to use the old WL-script? I realize it would not run as fast, etc. It sounds like I would have to switch the programming language, but I'm just checking.
2) Is a data downloader for TeleCharts and Esignal included?
3) Will Alerts still be generated that can be exported like you can do with the Simulator currently? That is how I generate my trading import files for IB.

The brief intro I've seen of the new version makes everything look great. Kudos to the WL team for building a fresh version and starting off right.

CybrKup

profile picture

Cone

#55
1) C# or any .NET language. The Editor, however, only has a C# compiler. Probably by the end of the first half next year, a conversion tool from WealthScript 2 to C# will be available.

2) We're working on those, but they won't be included with the Wealth-Lab Pro 5.0 Release. Generally speaking, Version 5 has been a large development effort, and it continues to be. Capability, tools, and adapters will be added with each new Release in 2008.

3) Yup.
profile picture

trixie

#56
What is the minimal knowledge needed for somebody with not much programming experience who is starting to learn C# to be able to create chart-scripts of "symbol rotation" variety in WL 5.0? Below is a table of content from one one the web tutorials for C# as a reference.

C# / CSharp Tutorial
1. Language Basics
2. Data Type
3. Operator
4. Statement
5. String
6. struct
7. Class
8. Operator Overload
9. delegate
10. Attribute
11. Data Structure
12. Assembly
13. Date Time
14. Development
15. File Directory Stream
16. Preprocessing Directives
17. Regular Expression
18. Generic
19. Reflection
20. Thread
21. I18N Internationalization
22. GUI Windows Forms
23. 2D
24. Design Patterns
25. Windows
26. XML
27. ADO.Net
28. Network
29. Directory Services
30. Security
31. unsafe
profile picture

DrKoch

#57
For a simple Strategy (Indicators, Entry, Exit):

1. Language Basics
2. Data Type
3. Operator
4. Statement
5. String
7. Class
11. Data Structure
13. Date Time

For advanced Strategy (Symbol Rotation):

1. Language Basics
2. Data Type
3. Operator
4. Statement
5. String
6. struct
7. Class
11. Data Structure
13. Date Time

For gbeltrame style scripts (doing things no one else would do):

1. Language Basics
2. Data Type
3. Operator
4. Statement
5. String
6. struct
7. Class
8. Operator Overload
9. delegate
11. Data Structure
13. Date Time
14. Development
15. File Directory Stream
16. Preprocessing Directives
17. Regular Expression
18. Generic
26. XML
27. ADO.Net
profile picture

reds

#58
Hi DrKoch,

Maybe "For gbeltrame style scripts (doing things no one else would do): imo opinion should read
"do things few else would do correctly" ;)

Mike
profile picture

tomclark

#59
trixie - would you post the URL to the C# tutorial you refered to?

Thanks!
profile picture

trixie

#60
C# tutorial

there are many free tutorials. just google with "C# tutorial" or "Csharp tutorial"
profile picture

kmcintyre

#61
check out www.learnvisualstudio.net for tons of good video tutorials on .net topics including c#.

Every ".NET" trading platform I've looked at (OmniTrader and Blocks - all two of them - I'm not claiming to be a market expert) has been basically .NET syntax in a closed proprietary app that can't easily be leveraged by other .NET applications. I always thought .NET was about open systems, language agnostic development, web services, etc. I.E. breaking down the walls of COM and providing interop unavailable pre .NET.

.NET would not convert WLP script to c#, but would allow WLP script to interop with VB or c# or java or cobol or whatever. I.E. write your trading system with whatever tools make most sense for the developer.

I think ".NET" gets overloaded by Marketing groups to the point where it means nothing. (or anything - depending on your vantage)

I'm really looking forward to checking out WLP 5. It sounds like I will continue to use WLP 4 for some time to come while all the sophisticated tools of WLP 4 are developed for WLP 5.

Now if I could only get IBD to host a web service so I could access stock ratings pro grammatically, Van Tharpe to host a position sizing service, SeasonalTrader to provide a watchlist service, and IB, OptionsExpress, and Fidelity to accept XML orders sourced from any trading or analysis tool, etc. - that would qualify as .NET...

Cheers

Keith
profile picture

denoving

#62
following up on "trixie"'s post of dec 13th, I bought Herb Schildt's C# 2.0 book, and after having read about a quarter of the book, my impression is that it probably will not be a very difficult transition if you're currently writinga complex WL 4.0 scripts. Yes, there are some more OOP considerations, and yes, the syntax is different, but depending on the WL 5 implementation, IMHO this should not be a difficult transition for most of us.

I am assuming that the WL team will be replicating the excellent user guides that they provided for WL 4.0 and prior versions with examples updated and revised.

But my impression is that C# has lots of headroom for those who wish to do complex and sophisticated things, but my belief [not having seen anything and relying on second hand views of reliable sources such as the person who started this thread], is that going to WL 5.0 is more of an exercise in learning new C# syntaxes and interfaces, and mostly just transitioning one's understanding to a "new look and feel" with much greater headroom.

I hope others who have much more first hand understanding of the reality will chime in to either validate or knock down my presumptions and assumptions.

In any event, I'm looking forward to the updated tool, and eagerly awaiting the new release.

respectfully submitted,
Dan
profile picture

Eugene

#63
...going to WL 5.0 is more of an exercise in learning new C# syntaxes and interfaces...

Generally, I was under the same impression.
profile picture

trixie

#64
Free .NET Book
267 pages and it's free! I just started reading it. Looks like a decent .NET intro. I am sampling freebies before I start buying books :)
profile picture

Eugene

#65
Here's another freebie. When you register Visual Studio Express at Microsoft, they give away a great illustrated book: "Build a program now!" Although it's geared towards creating GUI apps with C#, it's still possible to learn some bits of information. And you can't beat the price. :)
profile picture

Panache

#66
Are there plans for a conversion add in to convert the scripts written in 4.5?
profile picture

Eugene

#67
Panache:
Yes, the tool was announced.
profile picture

fundtimer

#68
More .Net / C# --->here and here.
profile picture

Eugene

#69
ft,

Amazon must be crazy charging $37 for Troelsen's C# 2008 book available for free on rapidshare. :P
profile picture

fundtimer

#70
Yep, that's slightly more than the price of the HP cartridge ink to print 1400 pages! ;) Personally, I prefer both the hardcopy (book) and the e references.

What really doesn't make sense is Apress charging $30 for the eBook (pdf).

.....................

For those interested - A somewhat organized link
of free resources referenced in this thread:

Free .Net / C#
.Net Books
Pro C# & .Net 3.5
.Net Book Zero
Threading In C#
C# CodeNotes
C# Tutorial 1
C# Tutorial 2
C# Tutorial 3
The C# Language
Visual C# 2008 Express
Visual Studio 2008 Express
profile picture

jayram

#71
Guys

Am i right in thnking that the main change is the switch to c# . I have downloaded the WLP5.0 trial and the interface is more or less the same as version4. offset against the switch to c# (major benefit in terms of integration to other programs) all the add ons have been lost (until such time as they are developed in 2008?). I was pretty dissapointed with the look and feel - i was hoping for something more like a modern IDE layout (like OpenQuant or RightEdge). Maybe the download of teh trial is a very early beta???

J
profile picture

Eugene

#72
I was pretty dissapointed with the look and feel - i was hoping for something more like a modern IDE layout.

In my opinion, what you call by a "modern IDE layout" is a programmer-centered clone of the Visual Studio interface. Is there such a need in yet another "Visual Studio for traders" layout? Or the designer would consider large user base and several generations of the software behind when performing a re-design? Any way, the add ons are not lost because they eventually will appear and you still can use them with WLD4 running side by side.
profile picture

fundtimer

#73
"...i was hoping for something more like a modern IDE layout (like OpenQuant or RightEdge)"

It is. Try opening new main workspaces. You'll notice that windows like Indicators, Fundamentals, etc... are modulus to your screen and not to individual workspace IDEs. Also, I suppose as the bugs are worked-out, windows like "Accounts" will be also and not modulus to the most recent workspace.
profile picture

johnjan

#74
>> In my opinion, what you call by a "modern IDE layout" is a programmer-centered clone of the Visual Studio interface.

Not really. It depends on what kind of windows you have. WLP has a bunch of windows like Indicators, Fundamentals, Icon Bar etc. User's should be able to make them float or dock and arrange left, right etc. Currently you can't even make the Drawing toolbar float which you can do in WL 4.0. So obviously there is a lot of scope for making the gui dynamic and giving users the option to arrange different components instead of hard-wiring them.

profile picture

fundtimer

#75
profile picture

jayram

#76
Eugene

Dont get me wrong. I like the product first and foremost for the accuracy of the backtesting. And the switch to c#, as i said is a huge plus. I was just expecting - from the 'completley new design' comments on other posts - to see a radically different interface. Having used it for a few days, i like it. But i do need the add ons. I suspect that they will not be available for some time...

J
profile picture

gammaarray

#77
As a user of wealthlabdeveloper, I have no access to wealthlabpro-5.. is there any documentation that I can look at , to get an idea what people are talking about... regarding version 5.

profile picture

daronow

#78
You can download it and run it for 30 days according to what Cone said (30 day free trial).
profile picture

gammaarray

#79
thanks..
profile picture

Eugene

#80
Another C# resource, might be useful for VB users:

Convert VB.NET to C# - A free code conversion tool from Developer Fusion
profile picture

sgubba

#81
Hi all,
How can we convert the code from WL 4.5 version to WL 5.0? any idea? Please reply if you know.
Sid
profile picture

Eugene

#82
Conversion Tool for WLP for 4.5 to 5.0

Or try to post some on the forum (in a dedicated thread) and someone could try to help.
profile picture

Eugene

#83
Here's a direct download link for the free C# 2005 Express for those who care not to mess things up with .NET 3.5:

Microsoft Visual C# 2005 Express 32.37 Mb

When installing, it will warn a dozen times about missing files. Simply Ignore all of them, they are not needed by any chance (they belong to bootstrapper).
profile picture

taskin

#84
i am a developer from europe. Do i understand correct that WL5 is only available exclusivly for Fidelity customers?
profile picture

Eugene

#85
i am a developer from europe. Do i understand correct that WL5 is only available exclusivly for Fidelity customers?

Right now, WLP5 is available for Fidelity customers (however, anyone can get a free trial). But Developer 5 is in the making.
profile picture

taskin

#86
So at the end it will be only available for Fidelity customers and WL5 will be isolated.

How about forex support is WL5. Does it have native forex support or not?
profile picture

Eugene

#87
Note that WL5 is not yet "carved in stone": a good deal of functionality hasn't made its way in Release 1 (e.g. PosSizers, Performance Visualizers, Orders and so on).
profile picture

brainomite

#88
Hi,

Is there any estimate on when the following labs will be updated to WL5? And when they are, if we paid for one of the items, will it be a free upgrade?

Neuro-Lab
Monte Carlo-Lab
Reports-Lab

Thanks in Advance
profile picture

jayram

#89
brainomite

Depending on what you want, now that WL uses c#, there are other options for products that should work with WLP5. e.g. Peltarion neural network software outputs networks to c# code. I suspect it will be a LONG time before Fidelity release a NeuroLab version for 5.0. (or other products) as they will be busy working on developing the current version (which is very much a version 1).



profile picture

Cone

#90
There really isn't any specific information to share about the add-ons at this time, but jayram's opinion sounds pretty pessimistic to me. My opinion is that at least two of the three could make a showing in one form or another sometime this year.
profile picture

jayram

#91
I hope so Cone.
Didnt mean to be pessimistic, just realistic! Sometime this year could be December - and thats a long time to me...

To be honest i am more interested in when WLD5 is out!

J
profile picture

trade4more

#92
I'm a rookie newbie trader and have been playing around with WL5 for about 2 weeks or so. I'm not sure if anyone is interested in my opinion but I wanted to note a few potential issues although I do admit I may be doing something completely wrong or using not as intended.

Mostly I've been working with strategy monitor, data manager and strategies. Generally I like what I am seeing. I understand this is a .0 version

It would be nice if there was increased functionality in the data manager such as copying one data set to a new one or being able to change a daily data set to 5 minutes. Also, it is unclear if a 5 minute data sets will update every 5 minutes and it seems like the 15 minute data set would only update daily or manually.

Some of the included strategies don't seem to work with the strategy monitor. Such as the darvis box strategy. The darvis box strategy will not show any trades to execute, the trade number will increase but no alerts are listed. Also, the strategy monitor for any strategy will list a number of trades to execute but most of these are sells of what I assume is a buy that was supposed to execute before the time frame currently examined in the monitor. These sells keep listing everytime the strategy is automatically ran and don't go away and therefore add to much noise to the strategy. Not sure how this would work in an automated way.

When backtesting I seem to run into a problem when backtesting with a 100 symbols or more. The program hangs when it is compiling performance results.

Finally, being a rookie it seems like there is a lack of sufficient documentation. Specifically, it would be nice if there was a short tutorial on how to create a data set, set the time value of the data set, create or use a canned strategy and the implications of using strategies with specific time values of a data set and how the results will vary with a long term, intermediate, swing or day trader. Might be too much to ask for but it is just my two cents.

All in all I like what I'm seeing.

profile picture

Eugene

#93
It would be nice if there was increased functionality in the data manager such as copying one data set to a new one or being able to change a daily data set to 5 minutes.

1. This is very easily accomplished: Copy symbols from one dataset to the clipboard, create a new dataset, paste the symbols.
2. What is being able to change a daily data to 5 minutes? What for? Just create a 5-minute DataSet, download the data, and change Scale to "Daily" - that's all.

Keep in mind: All time frames are downloaded and stored individually, but in centralized location. Hence, an individual "DataSet" is nothing more than a XML description file.

The darvis box strategy will not show any trades to execute, the trade number will increase but no alerts are listed.

The Darvas box strategy had a bug, thanks for pointing this out. Actually, an updated version was sent but somehow haven't made it to the package.

When backtesting I seem to run into a problem when backtesting with a 100 symbols or more. The program hangs when it is compiling performance results.

This step could take somewhat long - depending on strategy complexity and data amount.

Finally, being a rookie it seems like there is a lack of sufficient documentation.

There are longer-term plans to create video tutorials illustrating various aspects - for example, the ones you mentioned or alike.
profile picture

Eugene

#94
This Darvas box should generate alerts (replace canned strategy with this code and save):

CODE:
Please log in to see this code.
profile picture

Eugene

#95
And this one will trade only when the stock makes a 52 week high:

CODE:
Please log in to see this code.
profile picture

trade4more

#96
Euguene, I see what you mean about the datasets and using cut and paste to simply create more data sets but this wasn't obvious for me on the first few runs through.

Thanks for the updated Darvis box strategy. Being very new at this I wasn't sure if this was a bug or not.

As for the back testing issue I'm not sure what you mean by "long"? 20 minutes, 30 minutes and hour? 40 to 50 symbols comes back in a minute or two. 100 symbols or more I've let run for 30 minutes, CPU is pegged and still now results so I kill the process. It would seem that there needs to be another meter bar on the compiling performance results step to show that progress is being made. I have tried a couple of the other canned strategies that I haven't tried before on data sets with greater than 100 symbols and they do come back in less than a minute.

profile picture

Eugene

#97
Wes,

As for the back testing issue I'm not sure what you mean by "long"? 20 minutes, 30 minutes and hour?

No, this is not an expected order of execution time for a typical strategy running on 100-500 symbols of daily data.

As said above, a strategy could demonstrate this behavior if it's complex or not efficiently coded.
profile picture

trade4more

#98
Eugene, Some of the canned stratgies take a long time to run. For instance, I was playing around with the moving average crossover strategy and ran it against a data set with 700 symbols. I went away for an hour and came back and it had finished but I had a "out of memory error close the window" and was not able to examine the strategy. Closing the window did not release the memory and I had to close wealth lab. Several of the other canned strategies exhibited the same behavior with a 200 symbol data set although I can not recall at this moment what they were. There seems to be some serious performance issues with back testing. I have a 3.2 GHZ machine with 1 GB of ram, 800 mb of free ram until Wealth Lab starts. After Wealth Lab starts my free ram goes down to 500 MB and it was down to 50MB when I got the out of memory error. It would not release the memory until I killed the program.

Also, I note that just launching the login to Fidelity pick causes my CPU to peg to 100%. I let the login to Fidelity window stay up for several minutes and during the whole time the cpu is pegged to 100%.

I also wonder how this will perform with multi core processors since it appears the process is single threaded to one processor. I had to turn off hyper threading on my processor because ATP would take forever to respond when I had two or more charts open. ATP should also be multi threaded but that is probably off subject for this board.
profile picture

Eugene

#99
ATP should also be multi threaded but that is probably off subject for this board.

True: we're not Fidelity, this is a 3rd party site that supports Wealth-Lab products, thus any ideas and suggestions for ATP should be directed to Fidelity.



Wealth-Lab 5 has higher memory requirements: more details (here). Were that 700 symbols you mentioned intraday? If this is the case, trying to test on 700 minute-based symbols is unpractical with just 1 gig of RAM.

WL5 natively supports multi core processors.

As to the Fidelity login problems, only Robert can tell you.
profile picture

trade4more

#100
I'm a rookie newbie trader. The more backtesting I try the more frustrated I get. A lot of the canned stratgies just don't work well on as little as 30 symbols. One strategy failed on one symbol. I have not been able to find any documentation on memory requirements in regards to back testing. When a strategy fails it will just start grabbing all of the memory it can. Hard to believe that 3 GB of Ram is not enough but I'm not programmer or application developer. Seems like other programs such as SAS do analysis with a lot less memory, perhaps this is a .net thing.

Bottom line is that I don't know what I can use WL 5 for when it seems so unstable and unreliable for backtesting. It has crashed 10 times today.

profile picture

KrMitsos

#101
I have been experiencing similar issues. I have a list of 75 symbols and if i run my strategies with anything more than 6 months of data on a 5min scale WL5 will just crash. Sometimes i will get the message that the system is running low on memory before it crashes but most of the time it will just crash. I have 4GB of memory. I believe this will be an issue for many people that will convert or start using WL5 for the first time. It is so much faster and easier to work with than WL 4.5 but it takes so much more memory. I wish there is a way in the future to reduce its memory requirements - I am not computer savvy and already have had some discussions on these forums about the fact that WL5 needs twice as much memory due to the double precision and my understanding is that it can not change at this point. I hope at least the newer version will be more stable and not such crash prone.
profile picture

Cone

#102
Apart from providing a 64-bit build later this year there's not much we can do about the Windows memory problem if that's the cause of the crashing. Several other very specific crashes causes will be fixed in 5.1, but if you have one that doesn't relate to memory consumption, you better speak up yesterday!

Incidentally, 4G of memory doesn't buy you anything if Windows only lets you access 2G max per application. On the other hand 75 symbols for 6 months of 5-minute data should be well under that, so I suspect something else is wrong. Perhaps your code is mismanaging resources - there's no telling.
profile picture

KrMitsos

#103
>>Apart from providing a 64-bit build later this year...

Would the 64-bit allow you more than 2G per application?

I believe that most of the crashes are memory related. If i figure it is for any other reason i will report it.


profile picture

Cone

#104
With 64-bit you can use just about as much memory as will fit in the computer.

I don't doubt memory is a problem, but keep in mind that poorly-programmed scripts can be the source of the problem. It's easy to write a script to use all the memory in a computer.
profile picture

DanielAuer

#105
>* No Optimizer (2008)
What does it mean?
profile picture

Eugene

#106
What does it mean?

To quote the User Guide:

"Re-engineering an application is a complex task. To ensure that the tools and features of Wealth-Lab Pro work correctly in the new version, the functionality will be released in phases. (...) Remaining functionality like a more robust version of Optimization will be included in a release in the second half of 2008."
profile picture

trade4more

#107
WL5 is working better for me now. After getting completely frustrated with backtesting and memory issues with backtesting I have found that I can open a strategy in the strategy monitor window and limit the amount of data I use in backtesting. Still doesn't let me backtest against a specific time range such as if I wanted to backtest a strategy against a bear market time frame.

I have now found it somewhat useful to use WL5 in my current trading and alerting me of a potential trade that I than research further to determine the probability of the trade working.

WL5 definitely needs to fix its bugs and improve memory management and add basic operating features.
profile picture

Cone

#108
<< Still doesn't let me backtest against a specific time range >>

Why not? That's what the Data Loading Control is for.


<< improve memory management >>

WL5 requires lots of memory - about twice as much as Version 4 due to its use of full precision numbers. This is what "everyone" asked for. Just review the forum for the last several years. The complaints on the use of single-precision numbers abound. The memory tradeoff was the issue all along. Now, your $100,000 backtests won't be missing a few dollars along the way due to precision errors, but you'll need to spend those dollars that you recovered on twice the computer memory.
profile picture

hornetto

#109
<<WL5 requires lots of memory>>

Two different things: one is full precision for new created data series and second the type of price series components (OHLCV) loaded into memory for each symbol. Choosing double in second case is very inefficient. Why not leaving these fields as float or even better other type more adapted for representing financial values. (For example for 99% of stocks two bytes ushort is enough for representing their exact value in cents.)
profile picture

Cone

#110
Efficiency has nothing to do with it. Precision has everything to do with it, and, you've got it backwards anyway. It's a lot more important to be precise about the price data than it is with indicators, which often are series of irrational numbers. Prices are the most important for precision because they ARE precise - especially when it comes to futures, which must be traded on their "tick" increments.


<< (For example for 99% of stocks two bytes ushort is enough for representing their exact value in cents.) >>

That's wrong too, because even 4 bytes wasn't enough prior to Version 5.
profile picture

hornetto

#111
For example in the statement:
CODE:
Please log in to see this code.

both high and low values could be four bytes float or even ushort (prices in cents- exact values). For precision hldev is double.
profile picture

Cone

#112
If you store numbers with 4 bytes (or 2 bytes) of precision, you can't recover 8 bytes of precision from that data by casting it back to a double. Instead, you'll get the "precise" 4-bytes (or 2-byte) value.

I say "precise" because even 8 bytes only guarantees 15 digits of precision.
profile picture

hornetto

#113
I'm afraid you still miss the point. The problem is bad internal representation of financial data like stock's prices. No problem in watchlist files (*.WL), it's not so important, we have a lot of disk memory. But it's crucial when loaded into RAM.
The explicit cast (double) in the above statement wouldn't be for precision gain, but required if dividend and divisor were ushort. Without explicit cast the result in this case will be ushort too, which is not our intention. The values Bars.High[bar] and Bars.Low[bar] are precise and exact:
4317 and 4255 respectively for High equal to $43.17 and Low equal to $42.55, for example. The hldev value is double precision and could be used for further calculations.
profile picture

Cone

#114
How do you use a ushort to hold a floating point number?

In your design, remember that we're not only dealing with stocks that trade between 0 and 100, you also need to handle futures and indices that can trade from 0.00000001 increments to over 1E+6.
profile picture

trade4more

#115
I think a brief description or FAQ right on the home page of why you would use developer or the pro version or the intended audiences for each would be approptiate and what are the current limitations for the WL5 family.

If your new at trading and not a programer there seems to be alot of limitations. For me it seems more worthwhile to work on technique and discipline and do your trading manually rather than trying to figure out how to program wealthlab. Wl5 does give me some automation but I would like it to give me more automated alerts of movements in indexes, sectors and unusual volume activity in stocks and options so I will probably wait for the product to mature and get more addons or third part support or perhaps find a programmer I can rent....
profile picture

Eugene

#116
This request was already answered HERE.