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 WL8 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.
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.
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:
- 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 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, to some extent:
- You have to code a rotation strategy from scratch to add a filter (see the code template in post #20 for a start)
- Adding a custom indicator does not require modification.
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.
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.
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 by choosing "Perform Data Cleanup" on the Data Integrity tab.
- If a DataSet is corrupt, go to Data Manager > DataSets > Data Truncation. Having deleted 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 data pre-emptively ended" stand for in 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
What should I choose for live auto-trading, Quotes window or Strategy Monitor?
Quotes window is designed to trigger orders from EOD Stop/Limit strategies at the moment (or just before) they become marketable. The Strategy Monitor is optimized for intraday trading DataSets of symbols. You can think of it as if every symbol in a DataSet (possibly hundreds) were running in their own Streaming Chart!
How can I persist Strategy Monitor?
The set of strategies running in the Strategy Monitor can 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.
- Stocks, Options, Futures, Forex: Interactive Brokers and Collective2
- Stocks, Options: Tradier
- Stocks: Alpaca
- Crypto: Binance, KuCoin, and Kraken
- More choices with 3rd party subscription based service: MedvedTrader extension
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:
- 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
Migrating from Wealth-Lab 6
Can WL8 and WL6 co-exist on the same machine?
Yes. Even versions 7 and 8 are independent and don't share directories or any files.
Will Wealth-Lab 8 recognize my strategies from WL6?
No, but they're pretty easy to convert, and we'll be happy to assist if needed. To help get started, download and install the Version 6.9 QuickRef with Version 7 Equivalents from the Wealth-Lab Wiki.
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.
I'm building a strategy from Blocks and missing OR Divider
It's not gone, just different:
- Option 1: Drop the conditions into a Multi-Condition Group and set At least N Condition(s) True to '1'. For more info, see Building Blocks > Building Block Rules in the Help Guide (F1).
- Option 2: Use another set of Entry/Exit blocks for the other condition to be OR'd. The difference is that this method essentially creates 2 strategies that run in parallel, and more than one position (per symbol) can be active even when Single Position mode is selected.
I'm a former Fidelity Wealth-Lab Pro 6 user. Where is Fidelity data and how can I connect to my Fidelity accounts in Wealth-Lab 7|8 ?
The Fidelity brokerage is integrated through the MedvedTrader extension which facilitates connections to Fidelity and other brokers through a separate subscription to the 3rd party MedvedTrader service.