December 23, 2014
Using multiple watchlists as a filter in the Analysis
The Filter window in the Analysis screen allows us to define a filter for symbols according to category assignments, for example watchlist members (or a result of mutliple criteria search).
The filter allows us to select one watch list for “inclusion” and one for “exclusion”. To include members of more than one watchlist, we can not simply pick them both in the Filter window – we need to combine these symbols together in another dedicated watchlist storing symbols from both lists.
Let us say we want to run a test on members of List 1 and List 2. To combine these watchlists together we need to follow the instructions below.
- Click on List 1, then in the bottom part of the Symbols window mark all tickers. A multiple selection is done by clicking on first and last item in the list while holding down the Shift key. We may also select all symbols by clicking on any symbol and pressing Ctrl+A key.
- Now click on the selection with right mouse button and choose Watch list->Add selected symbol(s)
- Pick an empty watchlist that we will use to combine our tickers (e.g. List 5 ) and confirm to add multiple symbols:
- Repeat the above steps 1-3 with List 2 members
- Now we can pick List 5 in the Filter window and run the test on all the tickers
An alternative solution to this is to filter out unwanted symbols in the code. In this case AmiBroker would need to run analysis for all tickers (so Apply to would need to be set to All symbols) and apply filtering while executing your formula. To do so you may use code like this for backtesting (filtering Buy signals):
Buy = /* your regular trading rules here */;
watchlistCheck = InWatchList( 1 ) OR InWatchList( 2 );
Buy = watchlistCheck AND Buy; // combine watch list filter with your rule
or code like this in exploration (adding extra condition to Filter variable):
Filter = /* your regular exploration filter here */;
watchlistCheck = InWatchList( 1 ) OR InWatchList( 2 );
Filter = watchlistCheck AND Filter; // combine watch list filter with your rule
Please keep in mind that filtering in the code is significantly slower. Using this method AmiBroker needs to read the data for all tickers, prepare arrays, then evaluate the formula and verify the condition – so using Filter window and the first approach will be faster, as the filtering is done before the formula execution, saving lots of time required for data retrieval and AFL execution.
Filed by Tomasz Janeczko at 4:21 am under Analysis
Comments Off on Using multiple watchlists as a filter in the Analysis