Updated: 14 February, 2025

General questions

How to contact support?

Sign up and click "Ask a question" on Discussions page. To submit private files or with a sales question don't hesitate to send an email to support at wealth-lab dot com.

What does Wealth-Lab 7|8 have over Version 6.9?

Version 7 - and presently Version 8 - are modern platforms built for Windows 10/11 in continuous development for enhancements and extensions. Here are some of the hard-hitting new features:

  • Connections for multiple brokerages for automated trading, streaming, and historical data - including cryptocurrency trading!
  • Fast optimizations using multiple CPU cores
  • Overhauled backtesting engine which processes bar-by-bar so you can interact with the equity curve and other simulation aspects dynamically
  • Extremely versatile and configurable Strategy Building Blocks - programming not required!
  • Unique new tools like the Price Grid, Candlestick Genetic Evolver, Chart Patterns Genetic Evolver and Indicator Profiler
  • Groundbreaking automatic Strategy creation with a new WealthLab core tool, the Strategy Genetic Evolver

How do I get my license?

After you register on wealth-lab.com and pay for a subscription plan, start WealthLab and click "Download License" from the Help menu.

If I purchase Wealth-Lab can I use it on my laptop as well as my desktop?

Absolutely. You can use your subscription on 2 computers.

If I upgrade my computers, how to move the license over?

Upgrading to a new device is transparent so you don't have to take any extra steps. In case you're having some difficulty getting WL8 to launch on your new computer after using more than two devices, simply reach us at support@wealth-lab.com and we'll sort it out.

How do I upgrade to a Premium subscription?

  1. Log in to this site.
  2. Click your user name in the upper right menu and select Your Purchases
  3. Click Manage Subscription button
  4. Click the Upgrade Subscription button
  5. Click Yearly (if shown) and Select Premium Annual Plan

Upgrading from Monthly or Annual to Premium will give you a prorated credit for your current subscription.

How do I upgrade from a Monthly to an Annual subscription?

  1. Log in to this site.
  2. Click your user name in the upper right menu and select Your Purchases
  3. Click Manage Subscription button
  4. Click the View Subscription Plans button and follow the prompts.

How do I unsubscribe / cancel my subscription?

  1. Log in to this site.
  2. Click your user name in the upper right menu and select Your Purchases
  3. Click Manage Subscription
  4. Click the Cancel Subscription button

Is it possible to do multi-currency backtests with Wealth-Lab?

Yes! Just pull up the Backtest Preferences (F12), enable the Multi-Currency preference and select your base currency. Read all about in Help > Preferences > Backtest > Multi-Currency.


Basic usage

Why are all my backtest trades negative?

Commonly this is due to a small position size for the commission plan you've chosen in Backtest Preferences.

Every time I run a Strategy I get a different result. Why?

This happens because your simulation results in too many trades for the simulated equity. You can see how many "missed" trades you had by examining the Metrics Report, NSF Positions, which are trades rejected by the Backtester due to Not Sufficient Funds. Each time you run the backtest, WealthLab randomly takes some of the possible candidate trades, resulting in different outcomes.

Solutions:

  1. Reduce the position size.
  2. Assign Transaction.Weight. For Building Blocks, add the Transaction Weight condition to the entry block. C# coders can assign a value to the Transaction.Weight property.

I want to test a strategy that buys and sells with stop/limit orders on the same bar.

You can't realistically backtest with stop and limit orders on the same bar as the intra-bar price dynamics is unknown. What is reliably known is that the open occurred before all the other prices and that the close occurred last.

But if you have the intraday data, assign a Transaction.Weight and activate "Use Granular Limit/Stop Processing" in Advanced Strategy Settings to make Wealth-Lab evaluate the intra-bar price dynamics.

What are NSF positions?

NSF (Not Sufficient Funds) Positions are trades that the Backtester rejected due to insufficient simulated cash/buying power to fill the trade. You can choose to Retain or drop the NSF positions on a per strategy basis, in the Strategy Settings tab. The NSF setting has trading consequences. See Wealth-Lab Help > Backtest Preferences for details. Watch this video on YouTube for an explanation!

My backtest has many trades not included due to not sufficient funds (NSF), what to do?

This happens when, 1) 100% equity sizing is used, and more generally when, 2) a strategy has too many trade candidates for the available buying power. Market order strategies can eliminate many such NSF Positions by switching the Position Sizing Settings > Basis Price to "Market Open next Bar".

Why a position's Profit does not match my calculations?

Slippage and commissions aside, it's due to the rounding of entry/exit price to 2 decimals on the Positions tab while processing them with full precision internally. Another reason is defining the Market/Symbol to use fractional shares.

How can my strategy from Blocks enter or exit at close?

Yes, assuming you have the PowerPack extension installed. See MOC/LOC in Preferences > Special Order Types > Trading for WealthLab's two behaviors when processing MOC/LOC orders. While a usage cases exist for live trading, MOC/LOC should be avoided when backtesting intraday timeframes.

Can Rotation Strategies be tweaked like add a filter or use a custom indicator?

Yes, you can add filters by dragging block conditions into the Additional Conditions frame on the right side of a Rotation Strategy.

For the most flexibilty, code rotation strategies from scratch as shown in examples here.

Why is my backtest or optimization run taking a whole lot of time?

  • Collecting fundamental data may be slow. Consider unchecking event data providers in the Data Manager > Event Providers that aren't used by your Strategy.

Optimization

Is it possible to optimize the position size?

Yes, either directly in Position Sizing settings or by assigning a custom Quantity to the Transaction.

Why my backtest and optimization results don't match? Why exhaustive optimization may return unexpected results?

Inconsistency for some strategies that use static variables may be caused by the Exhaustive optimization running in parallel to speed things up. Use the Exhaustive (Non-Parallel) Optimizer and your results should match. A parallel processing solution is to adapt your code to use the design pattern outlined here.

In other cases it's possible that Strategy's StartIndex starts before the longest period indicator. See the Best Answer post here for explanation and workarounds.


Data

What happens if my data source has some trouble?

WL8 supports fallback when downloading data. Add a checkmark for each provider you prefer in Data Manager > Historical Providers and order them by priority top to bottom. If the "higher" provider can't update the data, WealthLab's Data Valet will try to get it from the next on down the list, and so on. See how to control data in Lesson 2 of the WealthLab U. Playlist.

Why a Wealth-Data DataSet like Nasdaq 100 has almost 300 symbols and not 100 ?

Wealth-Data DataSets eliminate survivorship bias by including the companies that were in the index, historically, but later were removed. Backtesting on Wealth-Data DataSets gives you a true-to-life historic result by automatically presenting only the symbols (stocks) that were in the index at each bar of the backtest as candidates for trading.

How to fix a bad bar in the data of a symbol on chart?

If your data vendor had a bug in their data so it looks corrupt, try refreshing it using an applicable way - then update the DataSet / provider:

  1. If one symbol is affected, right click on the chart, choose "Reload chart data from provider"
  2. If some symbols have zero OHLC values or Open/Close outside of bar range, this can be fixed using the Data Tool. Open the Data Manager > DataSets > click on a DataSet, select symbols affected, and choose Perform Data Cleanup on the Data Integrity tab.
  3. If a DataSet is corrupt, go to Data Manager > DataSets > Data Truncation. After deleting the bad bar(s), update the DataSet.
  4. If a provider is affected, go to Data Manager > Historical Providers > right click, "Delete local files", and then update all data for this provider.

Note!
Dedicated Data Updates are not required for WL8. WealthLab will automatically request updates when they are required for a backtest or trading.

What does "Historical Index Exit" mean for the Exit Signal in a backtest?

Most often this occurs during backtests with historic DataSets, like those for Wealth-Data and Norgate "Past and Present" DataSets. When a stock index's symbol leaves an index WL8 automatically liquidates open positions for that instrument. Another possibility is anytime an active position is missing a day (or more) of data due to a data error or a trading halt.


Trading

Which should I choose for live auto-trading: Quotes window or Strategy Monitor?

Quotes window is designed to trigger orders for [EOD] Stop/Limit strategies at the moment (or just before) they become marketable. The Strategy Monitor is optimized for dailiy and intraday trading DataSets of symbols. You can think of it as if every symbol in a DataSet (possibly hundreds) were running in their own Chart window!

How can I persist Strategy Monitor?

Strategy Monitor configurations must be saved in a Workspace.

Which brokers does Wealth-Lab support?

WealthLab currently supports the following brokers for live (and paper) trading. Each broker has associated historical and streaming providers, excluding Collective2.

How do you synchronize trading the same stock with multiple strategies in the same account?

Since brokers report only one aggregate position per symbol, it's not possible to know the number of shares traded by a specific strategy. To synchronize exit signal sizes for Auto-trading the same stock with multiple strategies using one account takes a little planning.

Step 1.
Configure Preferences > Trading > Portfolio Sync as shown.

Recommended Trading Preferences to synchronize exits when using multiple strategies to trade the same symbol in one account

Step 2.
Use Fixed Dollar Sizing.
For example, if your account's value is $100,000, to trade 5% sizes, use $5,000 fixed size. Adjust the size periodically when your account changes in a significant way. If you adjust the size "higher", the checkbox for Reduce size of Exit Orders to match.. will help to sync size for existing broker positions that were entered with a smaller fixed size.

Notes:

  1. The preference for Use Broker Account value... doesn't affect Fixed Dollar Sizing and can be checked for other trading that uses % of Equity-based sizing.
  2. Exit Orphan Position at Market can also be judiciously for Limit strategies.

Step 3.
Synchronize the Start Date of Backtest Trading
Backtests drive trading, so the setup relies on a synchronized start with all strategies. For example, what if Strategy A has an active hypothetical Position before live trading started. If Strategy B entered a live Position for the same stock, Strategy A would exit B's shares.

To prevent that, ensure that all strategies' hypothetical trading begins when you actually start live trading. That can be done by adding a Date Filter block from the PowerPack as an entry condition for all strategies. For EOD strategies, set the date to previous session's date.

Synchronized Start Trading


Programming

How do I start programming Wealth-Lab strategies in C# ?

The language Wealth-Lab speaks is C#. To create Wealth-Lab strategies from scratch, you need to have the basic knowledge of such language concepts as: language syntax, data types, operators and statements, loops, classes, Date/Time and String classes. Here are some ideas for an online C# class or book that will help you learn programming and become familiar with the key language concepts:

Uninstalling Extensions

Leaving unused extensions installed won't affect anything but can add a few extra seconds of delay when launching WealthLab.
See: How can I uninstall extensions?

Migrating from Wealth-Lab 6

Can WL8 and WL6 co-exist on the same machine?

Yes. WealthLab 8 is independent and won't share directories or files with Wealth-Lab 6.9.

Will Wealth-Lab 8 recognize my strategies from WL6?

No, but they're relatively easy to convert, and we'll be happy to assist if needed through our Concierge Support service. To help get started, download and install the Version 6.9 QuickRef with Version 7 Equivalents from the Wealth-Lab Wiki.

These links can be helpful references as a quick start for migrating code from WL6 to WL8:

The WealthLab U. videos can be a good orientation too - even for old WL6 users. WL8 works with data access a bit differently - using a priority of installed data providers and "linked providers". We recommend watching at least the first two lessons.

Where did "Use worst trades in portfolio simulation" go?

Wealth-Lab's backtest engine evaluates each symbol for entries (and exits) in parallel on a bar-by-bar basis. Consequently, it's not possible to determine which of the candidate positions would have been the worst at the time of entry.

Where is the "Raw Profit" mode?

WealthLab 8 does not implement the legacy Raw Profit mode, which used Fixed Shares/Dollar sizing and traded without the concept of portfolio equity, allowing all trades to be filled as if buying power were infinite. To accomplish the same effect, simply set a [very] large amount for Starting Capital and use Fixed Dollar Position Sizing.