Updated: 30 August, 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 WealthLab 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 WealthLab 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?
- Log in to this site.
- Click your user name in the upper right menu and select Your Purchases
- Click
Manage Subscription
button - Click the
Upgrade Subscription
button - Click
Yearly
(if shown) andSelect
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?
- Log in to this site.
- Click your user name in the upper right menu and select Your Purchases
- Click
Manage Subscription
button - Click the
View Subscription Plans
button and follow the prompts.
How do I unsubscribe / cancel my subscription?
- Log in to this site.
- Click your user name in the upper right menu and select Your Purchases
- Click
Manage Subscription
- Click the
Cancel Subscription
button
Is it possible to do multi-currency backtests with WealthLab?
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:
- Reduce the position size.
- 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 WealthLab 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 WealthLab 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:
- If one symbol is affected, right click on the chart, choose "Reload chart data from provider"
- 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. - If a DataSet is corrupt, go to Data Manager > DataSets >
Data Truncation
. After deleting the bad bar(s), update the DataSet. - 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.
Wealth-Data
What is it and what makes Wealth-Data different than other EOD Providers?
Wealth-Data is a collection of groomed end-of-day (EOD) data with historical corrections for corporate dilutions (mergers, acquisitions, stock and special dividends) for a subset of the largest U.S. equities covered in the Dow 30, Nasdaq 100, S&P 100, and S&P 500 indices, but also covers the German DAX and MDAX indices as well as most of the highly liquid ETFs like SPY, QQQ, QLD, TQQQ, etc.
The most important innovations for Wealth-Data are:
- Dynamic Historical Backtests. When you use Wealth-Data DataSets in Portfolio backtests, you automatically get a dynamic historical backtest that virtually eliminates Survivorship Bias.
- Wealth-Data's opening price is the Primary Market Center open. Virtually all other providers use the first full-lot trade on any exchange as the opening price. Note that MOO (Market On Open) orders execute at the Primary Market's opening price for a "no slippage" trade.
- Wealth-Data filters data spikes that are judged to represent unrealistic fills. Spikes are almost always real trades, but they are outliers that usually do not represent a level at which both buyers and sellers were active.
Is Wealth-Data dividend-adjusted?
Prices are not adjusted for regular dividends, but they are adjusted for special one-time dividends and other dilutive corporate actions.
Are the Index DataSets Automatically Updated?
Yes. Changes in indices covered by Wealth-Data are automatically updated when WealthLab is restarted.
What do the delisted codes mean?
Wealth-Data delisted symbols have the format SYM.YYYYMMDD.Z, where,
SYM: company's ticker before delisting
YYYYMMDD: date last traded
Z: company's fate, where Z could be one of the following:
A: merged or acquired
C: chapter 11
P: company taken private
R: recapitalization (combined two share classes into one, e.g., TECUA.20140501.R)
U: unknown
S: Split reverse
Split reverse may apply to companies that once traded in an index continue to be active years later, but reverse splits cause share prices to be astronomical historically. To reduce this effect for backtesting an index, the company price history is split into two series: 1) one that ends at the day before the ex-date of the reverse split (without applying the split factor), and 2) another with the complete history. In some cases like FWLT, there could be two delisted symbols for the same company.
Which ETFs are included?
Currently, Wealth-Data coveres the following ETFs:
ACWI AGG AGQ AMLP ARKK BITO BIV BKLN BND BOIL BSV CEF DBA DBB DBC DEM DIA DIG DUST DVY
DXJ EDC EDV EEM EFA EPI EPP ERX EWA EWC EWG EWH EWI EWJ EWM EWS EWT EWU EWW EWY
EWZ EZU FAS FAZ FEZ FNGD FXI GDX GDXJ GDXU GLD GUSH HYG IAU IBB IEF IJH IJR ITB IVV
IWD IWF IWM IWN IWO IYR JDST JNK JNUG KBE KOLD KRBN KRE LABD LABU LQD MDY NUGT OIH OILD
OILU PFF PGJ PHYS PSQ QID QLD QQQ REM RETL RING ROM RWM SCHD SCHG SCO SDS SDY SH SHV
SHY SJB SLV SOXL SOXS SOXX SPLV SPXL SPXS SPXU SPY SQQQ SSO SVXY TAN TBF TBT TBX TIP TLT
TMF TMV TNA TQQQ TWM TZA UBT UNG UPRO URA USO UUP UVXY VEA VEU VGK VGT VIG VIXM VNQ
VNQI VOO VTI VWO VXX XHB XLB XLC XLE XLF XLI XLK XLP XLRE XLU XLV XLY XME XOP XRT
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 WealthLab support?
WealthLab currently supports the following brokers for live (and paper) trading. Each broker has associated historical and streaming providers, excluding Collective2.
- Stocks, Options, Futures, Forex: Interactive Brokers, TradeStation, and Collective2
- Stocks, Options: Schwab, Tradier, Alpaca
- Crypto: Binance, KuCoin, and Kraken
- More choices with 3rd party subscription-based service: MedvedTrader extension
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.
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:
- 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.
- 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.
Programming
How do I start programming WealthLab strategies in C# ?
The language WealthLab speaks is C#. To create WealthLab 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:
- If you're just starting out, a very good, simple and comprehensible free e-book is C# Yellow Book by Rob Miles.
- A great video course is C# Fundamentals for Absolute Beginners
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 WealthLab 6
Can WL8 and WL6 co-exist on the same machine?
Yes. WealthLab 8 is independent and won't share directories or files with WealthLab 6.9.
Will WealthLab 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 WealthLab Wiki.
These links can be helpful references as a quick start for migrating code from WL6 to WL8:
- Quick Translation Guide
- Version 6.9 QuickRef with Version 7 Equivalents
- Blog: Anatomy of a WealthLab Strategy
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?
WealthLab'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.