I've generally used barchart for scanners, but am actively working on building out smarter scanners in TOS. One key scanner is an earnings scanner, which is useful for selling iron condors and straddles/strangles before the earnings release.
TOS already has the watchlist "Upcoming Earnings," which is a great start. However, my earnings trade generally involves me selling on the day BEFORE the earnings release. The Upcoming Earnings default watchlist shows several days of earnings, and looking through them all is painful. (Barchat has the same issue for me.)
In working with the Scan Query, I've found the better way to do this in TOS. It involves creating your normal filters and then using the Corporate Actions study.
For this watchlist, I want to see earnings for this afternoon and tomorrow morning. For that, I setup these filters in "Any of the following":
- Study->Corporate Actions->Earnings : has : an earnings announcement "before the market" : 2 bars
- Study->Corporate Actions->Earnings : has : an earnings announcement "after the market" : 1 bars
- Study->Corporate Actions->Earnings : has : an earnings announcement "any time" : 1 bars
The two last studies are redundant really, but I left them that way just in case the scanner wouldn't otherwise pickup an earnings release that was "during the market."
That gives me this Scan Query: