Hello, I am in the process of migrating to Wealth Lab from a self-coded automated trading solution. If this topic has been discussed, please point to the correct thread.
Each day about 100–200 ticker symbols are loaded 15min before the market close. The then-current pre-close bar is appended to the historical bars. This series for each symbol is run against one of about 20 algorithms, using individual parameters. Backtesting used the comprehensive close, but over about a decade the use of 15min prior as today's close matches closely the backtest results.
Wealth Lab will offer valuable additional trading schedules that I don't have time to code myself. But my current algorithms are effective, and I wish to migrate them as closely as possible. Is it possible to do this using building blocks? I don't want to use 15min bars for the entire data input to the algorithm, just daily data with the the last bar being the pre-close value. I don't want to trade on the next open, either.
Most of my algorithms are as simple as possible (thus robust over a decade), some with just 1 or 2 parameters, so that building blocks would seem ideal. Alternately, is there a way to use building blocks, convert it to code, and then append a universal snippet of code instructing the algorithm to run 15min before the close, simultaneously retrieving and appending the current close to the historical date series?
Each day about 100–200 ticker symbols are loaded 15min before the market close. The then-current pre-close bar is appended to the historical bars. This series for each symbol is run against one of about 20 algorithms, using individual parameters. Backtesting used the comprehensive close, but over about a decade the use of 15min prior as today's close matches closely the backtest results.
Wealth Lab will offer valuable additional trading schedules that I don't have time to code myself. But my current algorithms are effective, and I wish to migrate them as closely as possible. Is it possible to do this using building blocks? I don't want to use 15min bars for the entire data input to the algorithm, just daily data with the the last bar being the pre-close value. I don't want to trade on the next open, either.
Most of my algorithms are as simple as possible (thus robust over a decade), some with just 1 or 2 parameters, so that building blocks would seem ideal. Alternately, is there a way to use building blocks, convert it to code, and then append a universal snippet of code instructing the algorithm to run 15min before the close, simultaneously retrieving and appending the current close to the historical date series?
Rename
Yes! Use the At-Close Processing feature of the Strategy Monitor.
Explained and demonstrated in the Build 99 Highlights Video: https://youtu.be/Z39A55OEudM
Also see F1 Help > Strategy Monitor topic for more details.
You'll need to give yourself probably 2 minutes or more to collect data for 200 symbols by polling for the Daily partial bar. Which broker do you use?
Explained and demonstrated in the Build 99 Highlights Video: https://youtu.be/Z39A55OEudM
Also see F1 Help > Strategy Monitor topic for more details.
You'll need to give yourself probably 2 minutes or more to collect data for 200 symbols by polling for the Daily partial bar. Which broker do you use?
Thank you, I will review the video. The current setup I use is only compatible with Interactive Brokers, but there are some other accounts such as Schwab that would be useful to trade as well. Currently, all the algorithms take at least 5min to complete prior to the market close.
As some follow up questions, is this feature only available for sell and not buy orders?
When autotrading right before the close, is there a way to disable the subsequent analysis at the close?
In building blocks, when I use indicator compare to value, there is no option for bars ago (to combine with 1 bar in future). When I am able to use indicator compare to indicator, this does allow setting for 1 bar ago.
When autotrading right before the close, is there a way to disable the subsequent analysis at the close?
In building blocks, when I use indicator compare to value, there is no option for bars ago (to combine with 1 bar in future). When I am able to use indicator compare to indicator, this does allow setting for 1 bar ago.
QUOTE:It's for Buy, Sell, and Cover. What gave you the impression that it was sell only?
is this feature only available for sell and not buy orders?
QUOTE:What analysis is that? This At-Close Processing is a Strategy Monitor feature only. There is no post processing of backtest results with visualizers, like in a Strategy Window.
is there a way to disable the subsequent analysis at the close?
QUOTE:That one's a problem with the At-Close exit then because normally you can just add the "N Bars Ago" qualifier. But since you need the "1 Bar in Future" qualifier, you can't use both.
In building blocks, when I use indicator compare to value, there is no option for bars ago (to combine with 1 bar in future)
In this case for blocks, you'll need to use a Transformer Indicator OffsetInd. Add your indicator to OffsetInd, and set the "Offset bars" to the number of bars ago you want to test for.
On the video there was mention only of this feature for closing positions.
The video noted that once the pre-close analysis was done (the decision to trade or not), a subsequent analysis would also imminently occur upon the close, allowing for trades to be placed for the next day’s open. If I don’t want to trade on the open I would need a way to disable this.
The video noted that once the pre-close analysis was done (the decision to trade or not), a subsequent analysis would also imminently occur upon the close, allowing for trades to be placed for the next day’s open. If I don’t want to trade on the open I would need a way to disable this.
If your strategy doesn't place orders for the next session open (market, limit, or stop orders) then you don't need to worry about it.
If your strategy does place these orders, then you want to override them and not place them? Hmmm, that's not supported, you'll just need to cancel those orders manually or deactivate the SM before it reaches that point. I mean, we can't keep adding options for every edge case otherwise things will get even more complicated than they already are.
If your strategy does place these orders, then you want to override them and not place them? Hmmm, that's not supported, you'll just need to cancel those orders manually or deactivate the SM before it reaches that point. I mean, we can't keep adding options for every edge case otherwise things will get even more complicated than they already are.
The Strategy Monitor schedules the Next Run after the At-Close Signaling run. You can't stop the scheduling.
If you don't want it to run the regular scheduled run, just de-Activate it.
If you don't want it to run the regular scheduled run, just de-Activate it.
Hello, I believe the building block specifies close, which would appear to prevent trading on a market open.
What is the best way to set up the building blocks so that the monitor can trade them as coded and match the backtest? Just do the 1 bar in future feature by itself?
Theoretically, the pre-close trade decision should be identical to the close decision, so that I would then not need to worry about conflicting trades 99+% of the time.
What is the best way to set up the building blocks so that the monitor can trade them as coded and match the backtest? Just do the 1 bar in future feature by itself?
Theoretically, the pre-close trade decision should be identical to the close decision, so that I would then not need to worry about conflicting trades 99+% of the time.
If your strategy only has At Close orders, then nothing (no trading actions) will happen on the other run.
Hello, the blocks I will use for now will only be open and close trades at the close. In fact it would be quite interesting when and if the final, comprehensive close ever deviated enough that the preliminary close gave a 'wrong' signal.
As for fidelity between backtesting and actual trading, is there only the one way to set up the building block strategy so that I can autotrade with the same one I use to backtest?
I believe the indicated method is for the buy/sell next bar at market close with the '1 bar in future' added concurrently with 1 for 'How Many Bars ago'? Should I consistently do it exactly this way, or is there any variation?
As for fidelity between backtesting and actual trading, is there only the one way to set up the building block strategy so that I can autotrade with the same one I use to backtest?
I believe the indicated method is for the buy/sell next bar at market close with the '1 bar in future' added concurrently with 1 for 'How Many Bars ago'? Should I consistently do it exactly this way, or is there any variation?
Of course, use the same strategy. The only difference between backtesting and trading is that you get a signal when running At-Close Signaling for those blocks.
There will certainly be differences if your strategy depends on the actual closing price. At-Close Signaling gets the partial daily bar some seconds before the close. If the Close (or even the High and Low) differ at the actual close, you can get a different result.
There will certainly be differences if your strategy depends on the actual closing price. At-Close Signaling gets the partial daily bar some seconds before the close. If the Close (or even the High and Low) differ at the actual close, you can get a different result.
Does At-Close work with wealth-data? It's EOD afaik
Good question. Wealth-Data will return a partial bar, but it's delayed by several minutes. Consequently it's a bad choice for At-Close Signaling.
For Auto-trading, use your broker's feed for the Daily partial bar or another non-delayed service. That means for this trading purpose, that provider should be checked and in the Historical Provider list above Wealth-Data.

Keep in mind that it will take most providers 1 to 2 seconds to retrieve data for each symbol. IQFeed should be somewhat faster with parallel processing enabled.
For Auto-trading, use your broker's feed for the Daily partial bar or another non-delayed service. That means for this trading purpose, that provider should be checked and in the Historical Provider list above Wealth-Data.
Keep in mind that it will take most providers 1 to 2 seconds to retrieve data for each symbol. IQFeed should be somewhat faster with parallel processing enabled.
Thanks for all the input. I happened to notice in the Mar issue of TASC that the example used the '1 bar ahead' feature without selecting a 1 bar in the past on the 'PMA' indicator. If that exact example as printed were selected for live autotrading with at-close signaling, would trades go through properly, or must the 1 bar in the past also be added to the building blocks?
I will add in the past I found IB's data queries unreliable using the self-coded solution I have been using. I believe I am mainly using EODHD's delayed ticks and found trivial deviation for signals generated just prior to the close, even 10min prior to the close. But if IB data were reliable through Wealth Lab that could reduce deviations even further.
I will add in the past I found IB's data queries unreliable using the self-coded solution I have been using. I believe I am mainly using EODHD's delayed ticks and found trivial deviation for signals generated just prior to the close, even 10min prior to the close. But if IB data were reliable through Wealth Lab that could reduce deviations even further.
Re: the '1 bar ahead' feature without selecting a 1 bar in the past on the 'PMA' indicator.
I didn't see the Traders' Tip for that one yet (Glitch did it), but what do you mean about using 1 bar in the past? Got a picture?
Re: if IB data were reliable
"Them is fightin' words!" IB is slow, but it's not at all unreliable. Maybe the problem is the implementation?
I didn't see the Traders' Tip for that one yet (Glitch did it), but what do you mean about using 1 bar in the past? Got a picture?
Re: if IB data were reliable
"Them is fightin' words!" IB is slow, but it's not at all unreliable. Maybe the problem is the implementation?
Here is the example from this month's issue. (I'm also testing to see if this image displays properly.)
Here is a simplistic strategy (I meant to do 'lower than' on the sell block) using building blocks as in the TASC article. If above the moving median (using today's close as the last data point), then buy at that same today's close during backtesting. For live trading, buy 5 minutes (or other specified time) before the close, using a pre-close value for the last bar of the signal as well as the execution price.

The second image adds 'How many bars ago = 1'; but I worry this will cause the live trading to take yesterday's close, which would be stale and typically reduce the strategy return by at least a few APR points.

I gather the at-close live trading is a relatively new feature. When I had programmed my own code, it took me many months tediously to get all the +1, 0, or -1 offsets correct to match up the backtest to live trading. And so I am trying to debug this very carefully before I do all the building blocks. When implemented, Wealth Lab will be a great improvement in time spent and versatility over my old setup. Thanks again.
The second image adds 'How many bars ago = 1'; but I worry this will cause the live trading to take yesterday's close, which would be stale and typically reduce the strategy return by at least a few APR points.
I gather the at-close live trading is a relatively new feature. When I had programmed my own code, it took me many months tediously to get all the +1, 0, or -1 offsets correct to match up the backtest to live trading. And so I am trying to debug this very carefully before I do all the building blocks. When implemented, Wealth Lab will be a great improvement in time spent and versatility over my old setup. Thanks again.
By the way, on the subject of IB data, when I queried IB data, I would have excessively frequent fields with the dreaded '-1' output in various field and tired of writing endless error capture loops to re-query. I'll probably stick to EODHD or some other, since my algorithms don't appear to need hypercurrent data for the pre-close.
QUOTE:I can't remember ever seeing a dreaded -1. Please send me a message with how to make that happen to info@wealth-lab.com. (You might be talking about a -1 error code? These are informational only and don't affect anything.)
I would have excessively frequent fields with the dreaded '-1' output in various field
Re: At-Close Signaling
Don't use Bars ago unless you want Bars ago! Sure, 1 bar ago would compare the current value of the indicator to the other indicator's value from 1 bar ago like it says in the block's Description.
The At-Close Signaling feature requests/adds a partial Daily bar to the BarHistory and treats it as if it were a complete end of the day, and then processes only At-Close signals. When the process is complete, the partial bar is removed and the regular Next Run is scheduled. The regular run will add the completed Daily bar to the BarHistory and process all other orders.
QUOTE:
and the regular Next Run is scheduled
I didn’t want to create a new topic since this functionality was discussed here, but I just used this feature for the first time, and in the strategy monitor it shows Next Run 9/2/2025 3:59:00 PM (60 seconds before close as specified), although it should be 9/2/2025 9:30:00 AM, at market open (as it was before in this strategy, without this activated feature)
Hello, I have finally amassed a nice collection of algorithms to implement and am belatedly testing the automated trading capability. I started with this lowly building block algorithm, basically to buy the security on MWF and sell it on TuTh.
I used the Strategy Monitor ('Activate' + 'Auto-Place'), with the next run appearing correctly as the next biz day at 12:55p Pacific (5min before the market close Eastern). I will mainly use IB but probably a little Schwab as well. I only trade algorithms that are end of day single ticker symbols (risk on) vs cash (risk off). I don't currently do multi-symbol, rotation, baskets, etc.
Alas, it's off to a fizzle today, with no apparent action. I recall perhaps when deploying the algorithm, was it necessary to take away the '1 bar ahead' designator for live trading? Any other errors I might have made…? I believe I am very close to going live finally.
I will need to contact the concierge service when I am ready to implement the same for futures… but first I need to get the stocks and ETFs running. Thank you.
I used the Strategy Monitor ('Activate' + 'Auto-Place'), with the next run appearing correctly as the next biz day at 12:55p Pacific (5min before the market close Eastern). I will mainly use IB but probably a little Schwab as well. I only trade algorithms that are end of day single ticker symbols (risk on) vs cash (risk off). I don't currently do multi-symbol, rotation, baskets, etc.
Alas, it's off to a fizzle today, with no apparent action. I recall perhaps when deploying the algorithm, was it necessary to take away the '1 bar ahead' designator for live trading? Any other errors I might have made…? I believe I am very close to going live finally.
I will need to contact the concierge service when I am ready to implement the same for futures… but first I need to get the stocks and ETFs running. Thank you.
It doesn't buy on Monday because you have a hypothetical open position from Friday, so the next trade is to sell on Tuesday.
However, in the scenario that you had "Use Live Positions" enabled in Trading Preferences AND you did not actually own the position in the Account, then the Strategy Monitor would have signaled to buy yesterday on Monday at MOC.
However, in the scenario that you had "Use Live Positions" enabled in Trading Preferences AND you did not actually own the position in the Account, then the Strategy Monitor would have signaled to buy yesterday on Monday at MOC.
Hello, currently, the IB demo account has no open positions, and so I expected a position to have been opened on Mon. Today (Tue) was a holiday; let me see what happens tomorrow (Wed).
The help section advises not to select the 'Use Live Positions' when doing 'At Close Signaling' (which most of my trades would be), and so for now it seems I should keep the 'Exit Orphan Positions' option ticked.
There is the question of the '1 bar ahead'; I vaguely recall somewhere the recommendation that the building block algorithm be cloned and the '1 bar ahead' removed for live trading. Is this valid, or did I remember wrong?
The help section advises not to select the 'Use Live Positions' when doing 'At Close Signaling' (which most of my trades would be), and so for now it seems I should keep the 'Exit Orphan Positions' option ticked.
There is the question of the '1 bar ahead'; I vaguely recall somewhere the recommendation that the building block algorithm be cloned and the '1 bar ahead' removed for live trading. Is this valid, or did I remember wrong?
QUOTE:I already explained why that it's wrong to have expected that. Just run the strategy and you'll see that it [almost] never buys on Monday. It will buy on Monday only if Friday was a holiday.
the IB demo account has no open positions, and so I expected a position to have been opened on Mon.
QUOTE:Correct! I forgot about that. You can select 'Live Positions' for other reasons if applicable; it just won't affect At-Close Processing.
The help section advises not to select the 'Use Live Positions' when doing 'At Close Signaling' (which most of my trades would be)
QUOTE:For a Daily strategy, personally I'd leave that option off unless you have so many positions that you can't keep the strategy in sync with your account.
it seems I should keep the 'Exit Orphan Positions' option ticked.
QUOTE:Your recollection is probably out of context. You don't need to use '1 bar ahead' if the MOC signal already comes from the previous bar. Example: After Tuesday's close, my strategy signals to Sell MOC tomorrow, Wednesday. In this case, you don't need At-Close processing. Just place the MOC order manually any time during Wednesday's session.
...be cloned and the '1 bar ahead' removed for live trading. Is this valid, or did I remember wrong?
If you want to use At-Close Processing for a trade decision on the Close of the same bar, you need '1 bar ahead' with the blocks. If you don't use blocks, of course you can use the code similar to what that block generates.
Hello, embarrassingly, I found that the Windows computer had an aggressive sleep setting turned on, so that the computer was on sleep mode during trading hours. Today, the computer was duly active but still failed to send a trade signal. The demo account still has had no active positions or trade history. I have had 3 active dummy algorithms, all for test purposes.
They are now running at the directed time of 12:55p Pacific (5min before the market close), but there is no order to buy for the TueThu dummy algorithm I have to buy the security MINT at the close on Thu. Here is the log starting at 12:55 today.
10/16/2025 12:55:01: Status = Processing
10/16/2025 12:55:01: Ran Strategy on MINT: 0 Signals, Run Time=293ms
10/16/2025 12:55:01: NextRun set to 10/16/2025 13:00
10/16/2025 12:55:01: Status = Completed
10/16/2025 12:55:01: Processed all Symbols
10/16/2025 13:00:01: Status = Processing
For the MWF dummy algorithm, there was some kind of signal, which should be a sell signal for ticker SHY (i. e., buy MWF and sell TuTh, today being Th). However, there have never been any open positions or trade activity on IB Trader Workstation. Here is the log.
10/16/2025 12:55:00: Status = Processing
10/16/2025 12:55:00: Ran Strategy on SHY: 1 Signals, Run Time=201ms
10/16/2025 12:55:00: NextRun set to 10/16/2025 13:00
10/16/2025 12:55:00: Status = Completed
10/16/2025 12:55:00: Processed all Symbols
10/16/2025 13:00:00: Status = Processing
………… endless request updates, etc, all after the market already closed, followed by………
10/16/2025 13:03:22: Pass 21 - Requesting updates for 1 symbols...
10/16/2025 13:03:22: Pass 21 - UpdateHistories returned 1 symbols
10/16/2025 13:03:22: Ran Strategy on SHY: 0 Signals, Run Time=330ms
10/16/2025 13:03:22: NextRun set to 10/17/2025 12:55
10/16/2025 13:03:22: Status = Completed
10/16/2025 13:03:22: Processed all Symbols
I put on another dummy algorithm with a very lax condition that makes it always in the market for SPY, and it failed to open a new long position as well. Here is its log report.
10/16/2025 12:55:00: Status = Processing
10/16/2025 12:55:01: Ran Strategy on SPY: 0 Signals, Run Time=1sec
10/16/2025 12:55:01: NextRun set to 10/16/2025 13:00
10/16/2025 12:55:01: Status = Completed
10/16/2025 12:55:01: Processed all Symbols
10/16/2025 13:00:01: Status = Processing
They are now running at the directed time of 12:55p Pacific (5min before the market close), but there is no order to buy for the TueThu dummy algorithm I have to buy the security MINT at the close on Thu. Here is the log starting at 12:55 today.
10/16/2025 12:55:01: Status = Processing
10/16/2025 12:55:01: Ran Strategy on MINT: 0 Signals, Run Time=293ms
10/16/2025 12:55:01: NextRun set to 10/16/2025 13:00
10/16/2025 12:55:01: Status = Completed
10/16/2025 12:55:01: Processed all Symbols
10/16/2025 13:00:01: Status = Processing
For the MWF dummy algorithm, there was some kind of signal, which should be a sell signal for ticker SHY (i. e., buy MWF and sell TuTh, today being Th). However, there have never been any open positions or trade activity on IB Trader Workstation. Here is the log.
10/16/2025 12:55:00: Status = Processing
10/16/2025 12:55:00: Ran Strategy on SHY: 1 Signals, Run Time=201ms
10/16/2025 12:55:00: NextRun set to 10/16/2025 13:00
10/16/2025 12:55:00: Status = Completed
10/16/2025 12:55:00: Processed all Symbols
10/16/2025 13:00:00: Status = Processing
………… endless request updates, etc, all after the market already closed, followed by………
10/16/2025 13:03:22: Pass 21 - Requesting updates for 1 symbols...
10/16/2025 13:03:22: Pass 21 - UpdateHistories returned 1 symbols
10/16/2025 13:03:22: Ran Strategy on SHY: 0 Signals, Run Time=330ms
10/16/2025 13:03:22: NextRun set to 10/17/2025 12:55
10/16/2025 13:03:22: Status = Completed
10/16/2025 13:03:22: Processed all Symbols
I put on another dummy algorithm with a very lax condition that makes it always in the market for SPY, and it failed to open a new long position as well. Here is its log report.
10/16/2025 12:55:00: Status = Processing
10/16/2025 12:55:01: Ran Strategy on SPY: 0 Signals, Run Time=1sec
10/16/2025 12:55:01: NextRun set to 10/16/2025 13:00
10/16/2025 12:55:01: Status = Completed
10/16/2025 12:55:01: Processed all Symbols
10/16/2025 13:00:01: Status = Processing
Re: no order to buy for the TueThu dummy algorithm
I can't explain that without evidence of the actual strategy in use. If you made or make changes to a strategy that's already Configured in the S. Monitor, make sure you save the Strategy, and right click the S. Monitor item > Refresh Selected Strategies.
Re: However, there have never been any open positions or trade activity on IB Trader Workstation.
The signal was correct. We already agreed in Post #24 and Post #25 that At-Close Processing doesn't work with Live Positions. In other words, the signals are based on the hypothetical backtest positions only. It's assumed that live account is in synch with the backtest for At-Close Processing.
Although it's not the problem with At-Close Processing, it's a bad idea to schedule your Daily strategy run exactly at the Close. Instead, schedule the Daily run at least 2 hours after the close, and, if you want provider corrections (depends on the provider), make it the next day some time before the open. There's really no hurry for the Daily run!
I can't explain that without evidence of the actual strategy in use. If you made or make changes to a strategy that's already Configured in the S. Monitor, make sure you save the Strategy, and right click the S. Monitor item > Refresh Selected Strategies.
Re: However, there have never been any open positions or trade activity on IB Trader Workstation.
The signal was correct. We already agreed in Post #24 and Post #25 that At-Close Processing doesn't work with Live Positions. In other words, the signals are based on the hypothetical backtest positions only. It's assumed that live account is in synch with the backtest for At-Close Processing.
Although it's not the problem with At-Close Processing, it's a bad idea to schedule your Daily strategy run exactly at the Close. Instead, schedule the Daily run at least 2 hours after the close, and, if you want provider corrections (depends on the provider), make it the next day some time before the open. There's really no hurry for the Daily run!
Hello, over the weekend I was out of town, and either the computer or Wealth Lab mysteriously restarted. I noticed the Strategy Monitor was cleared out when I opened Wealth Lab. When I update to the latest builds, I believe this would also occur. When I will go live hopefully in the near future, I have so far 75 line items for the Strategy Monitor, and it would be quite tedious to have to redo them periodically. Is there a way to save the settings, or must I bundle everything into a meta strategy?
Also, I now get that everything is set up for tomorrow's trading, and so I have left the time for a few hours after the US market close. The run time is correctly the next biz day. Wealth Lab is able to see the advisor positions in my IB Trader Workstation. I am using one of the empty demo advisor accounts, but still no new positions are being opened. I have a screenshot of the settings (minus the activation and auto-place being turned on). Any other suggestions why nothing is happening, and the no orders are being placed for the demo account?

Also, here is the stubbornly inert demo account I am using to test. (Don't' worry about security, because the account number is a demo with no real money.) Thanks for your assistance.
Also, I now get that everything is set up for tomorrow's trading, and so I have left the time for a few hours after the US market close. The run time is correctly the next biz day. Wealth Lab is able to see the advisor positions in my IB Trader Workstation. I am using one of the empty demo advisor accounts, but still no new positions are being opened. I have a screenshot of the settings (minus the activation and auto-place being turned on). Any other suggestions why nothing is happening, and the no orders are being placed for the demo account?
Also, here is the stubbornly inert demo account I am using to test. (Don't' worry about security, because the account number is a demo with no real money.) Thanks for your assistance.
Re: the Strategy Monitor was cleared out when I opened Wealth Lab.
A S. Monitor configuration must be saved with a Workspace, which can be the Default Workspace too. With 75 items, I'd back it up in another Workspace.
I also question why you'd need 75 items??? Do you have 75 different strategies?
Re: or must I bundle everything into a meta strategy?
The S. Monitor isn't compatible with MetaStrategies.
Re: Any other suggestions why nothing is happening, and the no orders are being placed for the demo account?
Again, don't schedule the Daily run precisely at the market close (as shown in your image). That's a mistake (reason above)! (Aside, not that it matters for a test, I'd change 'Seconds Before Close' to somewhere in the range 3 to 10 for IB, which is very quick to activate an order.
Re: demo advisor accounts
WealthLab's IB Provider isn't necessary compatible with Advisor accounts - at least not with all the options of Advisor accounts. It should be okay if you're just placing orders to that account though.
A S. Monitor configuration must be saved with a Workspace, which can be the Default Workspace too. With 75 items, I'd back it up in another Workspace.
I also question why you'd need 75 items??? Do you have 75 different strategies?
Re: or must I bundle everything into a meta strategy?
The S. Monitor isn't compatible with MetaStrategies.
Re: Any other suggestions why nothing is happening, and the no orders are being placed for the demo account?
Again, don't schedule the Daily run precisely at the market close (as shown in your image). That's a mistake (reason above)! (Aside, not that it matters for a test, I'd change 'Seconds Before Close' to somewhere in the range 3 to 10 for IB, which is very quick to activate an order.
Re: demo advisor accounts
WealthLab's IB Provider isn't necessary compatible with Advisor accounts - at least not with all the options of Advisor accounts. It should be okay if you're just placing orders to that account though.
I appear to have a bit more to learn about running a trading environment on Windows 11. I see there is a nasty feature of compulsory updates and restarts. And so again, the computer restarted while unattended, and I have no way to track what happened during the trading hours. I found a workaround in the Windows setting that I will only manually install updates (which I will do on weekends). I'll see what other moles I must whack before I can have an uninterrupted trading environment.
I have about 12 algorithms to date, which are currently planned to be allocated over about 75 ticker symbols. I am of course always trying to develop more. Algorithmic diversity (as long as the algorithms are reasonably competent) is the ultimate type of diversity!
I won't plan to use the allocation feature of advisor accounts, but I do see that Wealth Lab can view all the position in each of the sub-accounts. I can easily select any of the sub-accounts for trading. That does seem promising, unless you suppose the advisor structure might be a problem blocking my trading signals.
I have the runs default to 4p Pacific (well after the market close), and so that can't be the reason the trades aren't executing. As advised, I trimmed the time before the close to 10s. In the past, when trading large blocks of securities with low nominal prices the execution would sometimes require more than a minute to execute. That is why I learnt not to cut it so close. Hopefully, tomorrow I can get the first execution done.
I have about 12 algorithms to date, which are currently planned to be allocated over about 75 ticker symbols. I am of course always trying to develop more. Algorithmic diversity (as long as the algorithms are reasonably competent) is the ultimate type of diversity!
I won't plan to use the allocation feature of advisor accounts, but I do see that Wealth Lab can view all the position in each of the sub-accounts. I can easily select any of the sub-accounts for trading. That does seem promising, unless you suppose the advisor structure might be a problem blocking my trading signals.
I have the runs default to 4p Pacific (well after the market close), and so that can't be the reason the trades aren't executing. As advised, I trimmed the time before the close to 10s. In the past, when trading large blocks of securities with low nominal prices the execution would sometimes require more than a minute to execute. That is why I learnt not to cut it so close. Hopefully, tomorrow I can get the first execution done.
QUOTE:Unless there's a reason* you haven't revealed that they need to be run separately, you can group the tickers that use the same algo/scale in one DataSet and configure the S. Monitor item run on that DataSet. Maybe you can get the number of S. Monitor items down to just 12.
I have about 12 algorithms to date, which are currently planned to be allocated over about 75 ticker symbols.
* Potentially, a reason to keep item separate is so that they all run in parallel. However, the critical path is the Historical provider. IB, for example, will handle only 1 request at a time and will block all others until it returns. 75 round-trip requests would take at least 75 seconds.
Quick tests with the Dow 30 symbols:
1. IB took 33 seconds to update
2. TradeStation - 14 seconds
3. IQFeed took 10 seconds (with the parallel update option)
4. Wealth-Data took about 8 seconds (but Wealth-Data only covers the large caps and isn't guaranteed to have an up-to-date partial bar for this purpose.)
5. Yahoo! did it in 5 seconds. You'll have to decide if Y! quotes are accurate, and Y! typically changes something once a year that makes it unavailable.
6. Tradier and Schwab - Tied for 1st Place at under 2 seconds!
6a. Tiingo - under 2 seconds also, but similar to Y!, pricing [accuracy] is from IEX and the free tier is limited to 50 requests per hour.
QUOTE:Signals can't be blocked, but how they're processed could depend on the connected account. For example, if you enabled the Trading Preferece to use account equity for signals and the account has no equity, then entry signals would be sized to 0.
advisor structure might be a problem blocking my trading signals.
QUOTE:Let's take that one back. You have 75 symbols that need to get Partial Daily bars. Which historical provider are you using for that? If it's IB, you'll definitely need to start sooner.
As advised, I trimmed the time before the close to 10s.
Hello, sorry for the ongoing tech support. I hope this is the right venue for that. I see that there has been an error during the trading hours. This is from the buy on Tue algorithm, with the log entry:
10/21/2025 12:59:02: Exception running Strategy on : BacktestCurrentEquity is not assigned
Perhaps this could give some insight as to why no orders are being placed. The popup window had this message:
System.NullReferenceException: Object reference not set to an instance of an object.
at WealthLab.WPF.DataSetTreeView.DestroyResolver(TreeNode v, DataSetProviderBase pred)
at WealthLab.WPF.DataSetTreeView.<>c__DisplayClass27_0.CountInterceptor()
at System.Windows.Threading.ExceptionWrapper.InternalRealCall(Delegate callback, Object args, Int32 numArgs)
at System.Windows.Threading.ExceptionWrapper.TryCatchWhen(Object source, Delegate callback, Object args, Int32 numArgs, Delegate catchHandler)
On the Order Manager, now I see some signal blocks (including for the buy on Tue algorithm), so that there is some sign of life, but alas no orders placed.
The 'always in the market' algorithm backtest shows it should be in SPY, but it has not placed any order. What am I doing wrong that an order is not being placed to reconcile the backtest with the (missing) brokerage position?
I received a message from IB advising some regulatory requirement to update the IB TWS, and I did so tonight. I took the opportunity to make one change to the TWS setting that I did not see last time I set it up, which concerned setting the UTC time. Perhaps that was the hang up?
10/21/2025 12:59:02: Exception running Strategy on : BacktestCurrentEquity is not assigned
Perhaps this could give some insight as to why no orders are being placed. The popup window had this message:
System.NullReferenceException: Object reference not set to an instance of an object.
at WealthLab.WPF.DataSetTreeView.DestroyResolver(TreeNode v, DataSetProviderBase pred)
at WealthLab.WPF.DataSetTreeView.<>c__DisplayClass27_0.CountInterceptor()
at System.Windows.Threading.ExceptionWrapper.InternalRealCall(Delegate callback, Object args, Int32 numArgs)
at System.Windows.Threading.ExceptionWrapper.TryCatchWhen(Object source, Delegate callback, Object args, Int32 numArgs, Delegate catchHandler)
On the Order Manager, now I see some signal blocks (including for the buy on Tue algorithm), so that there is some sign of life, but alas no orders placed.
The 'always in the market' algorithm backtest shows it should be in SPY, but it has not placed any order. What am I doing wrong that an order is not being placed to reconcile the backtest with the (missing) brokerage position?
I received a message from IB advising some regulatory requirement to update the IB TWS, and I did so tonight. I took the opportunity to make one change to the TWS setting that I did not see last time I set it up, which concerned setting the UTC time. Perhaps that was the hang up?
I'll let tech support @Glitch take it from here.
Hi Mattaeus, I'm putting in a fix for the exception you received. Until the next build cycle I'd recommend switching to a fixed dollar position size rather than percent of equity, and turn off the "Use Live Positions" option in the Preferences. Just set the position size to the amount you want to trade for the strategy in question. Keep me posted how it goes!
Thanks, I appreciate your assistance. ‘Live Positions’ has been disabled, as I will mostly be using at close trading.
As for position sizing, perhaps I should take the opportunity to ask what might be the best solution, which might not be percent of equity, as I have assumed would be what I want.
Suppose, using my demo account as the example, I start with 1 million and have a diversified number of strategies, allocated to the 75 unique ticker symbols. All are simple risk on/risk off, typically in the market maybe more than 50% of the time and cash at other times.
Ticker/algorithm pairs that are high confidence would have a large starting amount devoted, compared to lower confidence ones—which is to say, I would not be using equal weight.
I would like each ticker/algorithm pair to keep reasonably careful track of its exact cash pile when in cash. A fixed position would not be the right long-term choice for this. I probably would not be interested in rebalancing at this time. Some of the advanced position options are quite intriguing, and I wonder if one of those might work for this requirement. Or should I keep the original idea to select the starting amount and then assign 100% of equity to the particular ticker/algorithm pair?
As for position sizing, perhaps I should take the opportunity to ask what might be the best solution, which might not be percent of equity, as I have assumed would be what I want.
Suppose, using my demo account as the example, I start with 1 million and have a diversified number of strategies, allocated to the 75 unique ticker symbols. All are simple risk on/risk off, typically in the market maybe more than 50% of the time and cash at other times.
Ticker/algorithm pairs that are high confidence would have a large starting amount devoted, compared to lower confidence ones—which is to say, I would not be using equal weight.
I would like each ticker/algorithm pair to keep reasonably careful track of its exact cash pile when in cash. A fixed position would not be the right long-term choice for this. I probably would not be interested in rebalancing at this time. Some of the advanced position options are quite intriguing, and I wonder if one of those might work for this requirement. Or should I keep the original idea to select the starting amount and then assign 100% of equity to the particular ticker/algorithm pair?
Hello, I changed the trading to a fixed amount, but there was a different error generated with today's trading.
System.ArgumentOutOfRangeException: Index was out of range. Must be non-negative and less than the size of the collection. (Parameter 'index')
at WealthLab.WPF.DataSetTreeView.DestroyResolver(TreeNode v, DataSetProviderBase pred)
at WealthLab.WPF.DataSetTreeView.<>c__DisplayClass27_0.CountInterceptor()
at System.Windows.Threading.ExceptionWrapper.InternalRealCall(Delegate callback, Object args, Int32 numArgs)
at System.Windows.Threading.ExceptionWrapper.TryCatchWhen(Object source, Delegate callback, Object args, Int32 numArgs, Delegate catchHandler)
However, on the log for the dummy algorithms, no error was reported during the pre-close trading hours. One apparently generated no signal (but is supposed to be in the market at all times), while the other did generate a signal (but did not send an order to IB TWS).
******** algorithm always in market **********
10/23/2025 12:59:01: Status = Processing
10/23/2025 12:59:02: Ran Strategy on SPY: 0 Signals, Run Time=126ms
10/23/2025 12:59:02: NextRun set to 10/23/2025 16:00
10/23/2025 12:59:02: Status = Completed
10/23/2025 12:59:02: Processed all Symbols
******** algorithm buy MWF Sell TuTh **********
10/23/2025 12:59:01: Status = Processing
10/23/2025 12:59:02: Ran Strategy on SHY: 1 Signals, Run Time=1sec
10/23/2025 12:59:02: NextRun set to 10/23/2025 16:00
10/23/2025 12:59:02: Status = Completed
10/23/2025 12:59:02: Processed all Symbols
At the bottom of the Order Manager, there is no activity at 12:59 Pacific. There are only entries around 11:30a and another at 2:00p with market connect broken and then re-established, which happens throughout the day.
I am hoping there is not some insoluble error(s) that is preventing Wealth Lab from placing trades with IB TWS. Thank you, as before, for your assistance.
System.ArgumentOutOfRangeException: Index was out of range. Must be non-negative and less than the size of the collection. (Parameter 'index')
at WealthLab.WPF.DataSetTreeView.DestroyResolver(TreeNode v, DataSetProviderBase pred)
at WealthLab.WPF.DataSetTreeView.<>c__DisplayClass27_0.CountInterceptor()
at System.Windows.Threading.ExceptionWrapper.InternalRealCall(Delegate callback, Object args, Int32 numArgs)
at System.Windows.Threading.ExceptionWrapper.TryCatchWhen(Object source, Delegate callback, Object args, Int32 numArgs, Delegate catchHandler)
However, on the log for the dummy algorithms, no error was reported during the pre-close trading hours. One apparently generated no signal (but is supposed to be in the market at all times), while the other did generate a signal (but did not send an order to IB TWS).
******** algorithm always in market **********
10/23/2025 12:59:01: Status = Processing
10/23/2025 12:59:02: Ran Strategy on SPY: 0 Signals, Run Time=126ms
10/23/2025 12:59:02: NextRun set to 10/23/2025 16:00
10/23/2025 12:59:02: Status = Completed
10/23/2025 12:59:02: Processed all Symbols
******** algorithm buy MWF Sell TuTh **********
10/23/2025 12:59:01: Status = Processing
10/23/2025 12:59:02: Ran Strategy on SHY: 1 Signals, Run Time=1sec
10/23/2025 12:59:02: NextRun set to 10/23/2025 16:00
10/23/2025 12:59:02: Status = Completed
10/23/2025 12:59:02: Processed all Symbols
At the bottom of the Order Manager, there is no activity at 12:59 Pacific. There are only entries around 11:30a and another at 2:00p with market connect broken and then re-established, which happens throughout the day.
I am hoping there is not some insoluble error(s) that is preventing Wealth Lab from placing trades with IB TWS. Thank you, as before, for your assistance.
So, I see there was one signal, do you have the Strategy Monitor item set to Auto-Place?
Hello, I have always used auto-place, not auto-stage.
This coming week, I will shortly start to test out the Schwab interface as well, but the majority of funds are at IB.
This coming week, I will shortly start to test out the Schwab interface as well, but the majority of funds are at IB.
Your Response
Post
Edit Post
Login is required