MarketInOut Stock Screener Log In | Sign Up

What's New

2020

Formula expression: IF function

12/21/2020

The IF function can be useful in the formula for closing a position in the backtesting tool in combination with the STOPAT or TAKEAT instructions. For example, in the following formula expression, the stop loss will be set at the day's low level, but only if the position's profit is more than 5%: if(price > 1.05 * posprice, stopat(low[0])). In this case, the function takes two arguments, a condition and an instruction that will be executed if the condition is met. You can also use the IF function in an arithmetic expression. It returns the value of the second or third argument, depending on the first argument's value. For example, the formula expression rsi(14) ca if(price > ema(21), 60, 40) will work like rsi(14) ca 60 in case if price > ema(21) and as rsi(14) ca 40 otherwise. It is worth noting that this expression is a shorter form for (price > ema(21) and rsi(14) ca 60) or (price <= ema(21) and rsi(14) ca 40).

 

New fundamental indicators

12/14/2020

Revenue, EV / Revenue, and Revenue per Share (RPS) fundamental criteria have been added to the product. In the Stock Screener tool, Revenue, EV / Revenue are available in the Operating Metrics category, and RPS is available in the Basic Fundamental category. In the Formula Screener tool, you can refer to these fundamental indicators as revenue, enterprise_revenue, and rps. It is worth noting that Revenue is in millions and is calculated for the trailing twelve months (TTM).

 

Williams' Fractals

11/24/2020

The Fractals indicator was developed by Bill Williams to help analysts identify local price highs and lows. These extrema are called fractals and are indicated by arrows on the price chart above the bar or candlestick corresponding to this local extremum. According to the author, Fractals are one of the few technical analysis tools that really work. Each fractal can be used to identify support or resistance level. However, it is recommended to use additional filters to determine market entry points. The Fractals indicator available on the site is customizable so that you can specify the number of bars to the left and right of the peak bar. The default values of the indicator parameters are "2,2". In this case, the fractal will be formed by 5 bars: a peak bar, two bars on the left, and two on the right. You can select the Fractals indicator's criteria in the "Line Studies" category of the Stock Screener tool. It is also worth noting that special functions have been added to access the fractal levels' values. You can view a list of these functions in the Williams' Fractals section on the Formula Screener help page.

 

QStick Indicator

11/17/2020

The QStick indicator helps to identify the trend's direction and strength by the average size of white (bullish) and black (bearish) candles for a certain period. Simplistically, we can say that if we see more white candles, then the indicator value will be above zero. Still, if black candles dominate, then the indicator value will be below zero. If the indicator moves from negative to positive, then this is a buy signal. And vice versa, the movement from a positive to a negative zone can be considered a sell signal. The QStick indicator's similarity with oscillators also allows you to identify overbought/oversold zones and bullish/bearish divergences. On the chart, the indicator is plotted as a histogram. A signal line is also added to make it easier to find pivot points. The QStick indicator has two parameters: the period for moving average of candlestick sizes, and period for the signal line - EMA of the QStick histogram. You can select this indicator in the Trend Indicators category of the Stock Screener tool or refer to it by qstick (QStick histogram) or qsticks (QStick signal line) in the Formula Screener. For example, qstick(8,5) > 0 expression means QStick value is above zero. Or, qstick(8,5) ca qsticks(8,5) reads as the QStick indicator crossed above the QStick signal line.

 

New Highs - New Lows indicator

11/10/2020

The New Highs - New Lows indicator (NH-NL) has been added to the group of the market breadth indicators. The NH-NL indicator displays the daily difference between the number of stocks reaching new 52-week highs and the number of stocks reaching new 52-week lows. You can interpret NH-NL as a divergence indicator or as an oscillator. The NH-NL indicator generally reaches its extreme lows slightly before a major market bottom. As the market then turns up from the major bottom, the indicator jumps up rapidly. During this period, many new stocks are making new highs because it's easy to make a new high when prices have been depressed for a long time. As the cycle matures, a divergence often occurs as fewer and fewer stocks make new highs (the indicator falls), yet the market indices continue to reach new highs. This is a classic bearish divergence that indicates that the current upward trend is weak and may reverse.

 

TTM Squeeze Indicator

11/2/2020

The TTM Squeeze indicator has been added to the product. The indicator uses Bollinger Bands and Keltner's Channel to detect consolidation zones right before a big move. When both bands of the Bollinger Bands indicator are inside Keltner's Channel, that means the squeeze condition and the red dots on the horizontal axis appear. The TTM Squeeze indicator is plotted along with the smoothed Momentum Oscillator. When the indicator is green and the Momentum Oscillator is colored cyan, it is considered a buy signal. When the indicator is green and the Momentum is red, it is considered a sell signal. When the indicator is red, no trade is recommended. The TTM Squeeze indicator has five parameters: the period for Bollinger Bands and the Keltner's Channel, the number of standard deviations for the Bollinger Bands, the number of ATRs for the Keltner Channel, the period for the Momentum, and the period for the EMA-smoothing of the Momentum indicator. You can select this indicator in the Trend Indicators category of the Stock Screener tool or refer to it by ttms in the Formula Screener. For example, ttms(20,2,1.5,12,5) ttms_newred expression means TTM Squeeze New Red Dot condition. Or, ttms(20,2,1.5,12,5) > 0 reads as the Momentum histogram of the TTM Squeeze indicator is above zero.

 

Tokyo Stock Exchange

10/26/2020

Tokyo Stock Exchange (TSE) has been added to the product. The Tokyo Stock Exchange, abbreviated as Tosho or TSE/TYO, is a stock exchange located in Tokyo, Japan. It is the third-largest stock exchange in the world by aggregate market capitalization of its listed companies and the largest in Asia. The exchange is owned by the Japan Exchange Group (JPX). To screen this exchange, select the appropriate item in the Stock Universe criteria category of the Stock Screener tool. Or, in the Formula Screener, you can use exch(tse) expression for setting TSE as a stock universe criteria.

 

Chandelier Exit Indicator

10/19/2020

The Chandelier Exit indicator has been added to the product. Similar to the SuperTrend and VStop indicators, the Chandelier Exit allows you to determine the trend direction and trend reversal points. If you have open trading positions, the indicator helps to stay in the trend as long as possible. According to theory, traders should close long positions at the highest high since opening a position minus 3 ATR. You may refer to the Chandelier Exit indicator by chandexit in a formula expression. For example, chandexit(22,3) means that 3 x 22-day ATR will be used in the indicator calculation. For using Chandelier Exit as a trailing stop loss in the Strategy Backtester tool, set stopat(chandexit(22,3)) formula expression as a criterion for closing a position. In this case, it is also necessary that the price is above the indicator value when opening a position. To do this, you can use an additional expression for the criteria for opening a position: price > chandexit(22,3)

 

Volatility Stop Indicator

10/12/2020

The Volatility Stop indicator (VStop) helps to determine the trend direction and entry points. But as the name suggests, this indicator will be more helpful in determining stop-loss levels for existing open positions. The indicator line is plotted at a specified number of ATRs from the price. Thus, the higher the volatility, the more the indicator line will move away from the price. For example, in an uptrend, the price is less likely to touch or cross below the indicator line, and if you use it as a trailing stop loss, this will allow you to stay in the trend longer. Those who are familiar with the SuperTrend indicator will notice that these indicators are very similar to each other. You may refer to the VStop indicator by vstop in a formula expression. For example, vstop(20,2) means that 2 x 20-day ATR will be used in the indicator calculation. For using VStop as a trailing stop loss in the Strategy Backtester tool, set stopat(vstop(20,2)) formula expression as a criterion for closing a position.

 

Formula expression: CORREL function

10/5/2020

The CORREL function has been added to the product. This function returns the correlation coefficient between the specified ticker and the ticker that is checked against the screening criteria. For example, if we want to find all stocks whose correlation coefficient with the ticker SPY is more than 0.95, the formula expression will be correl(spy) > 0.95. The correlation will be calculated for the last 21 business days by default. You can change this period by setting the second parameter, for example: correl(spy,50) > 0.95.

Stock correlation is the statistical measure of the relationship between the two stocks. The correlation coefficient ranges between -1 and +1. A correlation of +1 implies that the two stocks will move in the same direction 100% of the time. A correlation of -1 means the two stocks will move in the opposite direction 100% of the time. A correlation of zero means that the relationship between the stocks is entirely random. Correlations do not always remain stable and can even change daily. Correlation analysis can help you to diversify your positions. Imperfect correlation between two different stocks allows for more diversification and marginally lower risk.

 

KDJ Indicator

9/6/2020

The KDJ indicator has been added to the product. The KDJ indicator is a derivative of the Stochastic oscillator adding additional smoothing to the K and D lines. It turns out that, compared to the Stochastic, this is a more lagging indicator, but it generates fewer false signals when the K and D lines cross. As well as for the Stochastic, the divergence between the price and line K creates a reliable trading signal. At the same time, moving the line K beyond the oversold/overbought zone makes this signal even stronger. As the name "KDJ" suggests, the indicator has another line, line J. You can think of this line as the difference between the K and D lines. The J line can give you a trading signal earlier K and D lines when crossing. For example, when the J line is above 80 and reverses, this is a sell signal, and vice versa, when the line is below 20 and reverses, it is a buy signal. In the Formula Screener, you can use kdjk, kdjd, and kdjj variables to refer to K-Line, D-Line, and J-Line correspondingly. For example, kdjk(9,3,3) ca kdjd(9,3,3) reads as K-Line crossed above D-Line.

 

Heikin Ashi

8/23/2020

Heikin Ashi charts have been added to the product and you can now screen on Heikin Ashi! Heikin Ashi charts were developed by Munehisa Homma in the distant 18th century. And yes, this is the same Japanese trader who came up with Japanese candlesticks. The idea behind Heikin Ashi is to make the chart more balanced by eliminating minor price fluctuations. On the Heikin Ashi charts, trends are better visible since the candle color changes less often. For the same reason, it is easy to recognize a possible trend change. All technical analysis indicators apply to Heikin Ashi. Traders can consider crossovers with moving averages as a signal of a trend reversal, and in combination with oscillators, Heikin Ashi can act as an effective filter of false signals. You can select Heikin Ashi criteria in the Moving Averages and Chart Patterns categories of the Stock Screener tool. Or, in the Formula Screener, for any condition, you can indicate that it must apply to the Heikin Ashi chart, for example, ( price ca sma(50) )@heikin

 

The SHOW function enhancement

8/16/2020

In the SHOW function, you can now specify a column name, for example, show(rsi(14) as rsi). This name will act as a title when this column is added on the Stock Screener results page. If you add several columns, you can specify a name for each of them, for example, show(rsi(14) as rsi, sma(50) as ma). If no name is specified, then the column will be added with an auto-generated title.

 

Strategy Backtester enhancement

8/2/2020

Previously, the Backtester tool operated on data that was updated daily, after the US market close. Updating during non-trading hours led to some difficulties for those who used the Backtester tool to track their trading portfolios. The data for the Backtester is now updated every minute. You can perform backtesting a few minutes before the market close to synchronize your trading positions. Or, if your strategy uses the "Next Day Open" model, you can perform backtesting shortly after the market opens to synchronize positions. Thus, the Backtester tool is now not only a tool for testing strategies, but it can also be useful when executing strategies.

 

Formula expression: @FIXED token

7/16/2020

The @fixed token allows you to build more complex formulaic expressions, and for a start, let's look at an example. Suppose we want to find stocks for which the RSI(14) indicator has reached its maximum value in the last ten days. The formula expression (rsi(14) > rsi(14)@1)@{0..10} will not work here since any value of the indicator will be compared with the previous value (rsi(14) > rsi(14)@1 and rsi(14)@1 > rsi(14)@2 and .. and rsi(14)@9 > rsi(14)@10). But if we "fix" today's RSI(14) value and compare it with the ten previous values, then we get what we need: (rsi(14)@fixed > rsi(14)@1)@{0..10}. The new formula will be equivalent to rsi(14) > rsi(14)@1 and rsi(14) > rsi(14)@2 and .. and rsi(14) > rsi(14)@10. In the next example, we want to find stocks where today's closing price is higher than the closing price of at least one of the last ten days. The formula expression in this case will look like this: (close[0]@fixed > close[1])@[0..10]. Note that in this example, we used square brackets instead of curly brackets. This formula will be equivalent to close[0] > close[1] or close[0] > close[2] or .. or close[0] > close[10]. Thus, range shifts are not applied to a @fixed expression, allowing it to have a fixed value. As if we can build loops, leaving some expressions inside the loop unchanged.

 

Formula expression: Index/Ticker condition enhancement

7/7/2020

The ability to add index condition allows the stock screener to give out results according to the main criteria, but only if the index condition is also met. For example, the formula expression price trend_up 10 and (ema(50) > ema(200))@sp500 will give out stocks that have been trending for the last ten days, but only if the 50-day period EMA is higher than 200-day period EMA on the S&P 500 chart. If the S&P 500 does not pass the moving average criteria, then the screener results will be empty even if some stocks meet the trend condition. Now you can use not only indexes but also any ticker, for example, we can rewrite the above formula as price trend_up 10 and (ema(50) > ema(200))@aapl. Thus, the moving average condition must be met on the AAPL ticker. For non-US tickers, we need to add the appropriate suffix, for example, @td.to, @vod.l, @bhp.ax, etc.

 

Moving Average of the OBV

6/22/2020

Simple and Exponential Moving Averages of the OBV have been added to the product. On Balance Volume (OBV) was developed by Joe Granville and originally presented in his book New Strategy of Daily Stock Market Timing for Maximum Profits. On Balance Volume is a running total of volume. It shows if the volume is flowing into or out of a security. When the security closes higher than the previous close, all of the day's volume is considered up-volume. When the security closes lower than the previous close, all of the day's volume is considered down-volume. The basic assumption, regarding OBV analysis, is that OBV changes precede price changes. The theory is that smart money can be seen flowing into the security by a rising OBV. When the public then moves into the security, both the security and the OBV will surge ahead.
The use of OBV, combined with moving averages, helps traders identify changes in the trend. You can add OBV and its simple or exponential moving average crossover condition in the Formula Screener tool. For example, obv ca smaobv(20) expression reads as "OBV crossed above its 20-period simple moving average" or obv cb emaobv(20) reads as "OBV crossed below its 20-period exponential moving average". You can also add a condition that detects whether the OBV is above or below the moving average, for example, obv > emaobv(20).

 

Advance/Decline Ratio

6/15/2020

The Advance/Decline Ratio indicator has been added to the product. The Advance / Decline Ratio is a popular market breadth indicator that shows the ratio of advancing issues to declining issues. It is calculated by dividing the number of advancing issues by the number of declining issues. A moving average of the Advance / Decline Ratio is often used as an overbought/oversold indicator. The higher the value, the more "excessive" the rally and the more likely a correction. Likewise, low readings imply an oversold market and suggest a technical rally.

 

Now charts can be from tiny to huge in size

6/8/2020

You can select the size of the chart so that it better fits your screen. You can do this not only on the Stock Chart page but also on the Stock Screener results page when switching to the Charts view. You can also scale charts up or down using the corresponding Zoom option. In this case, the size of the chart does not change, but the graphic elements in it increase or decrease. In the first case, you will better see the details of price bars and technical indicators. In the second case, you can see an overview of the price movement over the last decade.

 

Font enhancement

5/18/2020

Perhaps you have already noticed the fonts on the site have become larger for a better perception of information. Instead of the tiny Arial, which was hard to perceive even on a large monitor, the Lato enlarged font replaced it. Lato is a sans serif typeface family that started in the summer of 2010 by Warsaw-based designer Lukasz Dziedzic ("Lato" means "Summer" in Polish). He used classical proportions to give the letterforms familiar harmony and elegance. The semi-rounded details of the letters give Lato a feeling of warmth, while the strong structure provides stability and seriousness. Thanks, Lukasz, for the awesome font!

 

Strategy Backtester enhancement

5/15/2020

The Strategy Backtester tool now allows you to specify a model for closing a position. Previously, exiting positions in all strategy tests was performed at closing prices, when the criteria for closing a position were met. That is, the "Close Prices" model was used. The newly added "Next Day Open" model allows you to postpone closing a position until the next day/bar opens. When this model is selected, the criteria for closing a position is still checked at the end of the trading day, but closing the position is performed at the opening price of the next day. It should be noted that this model is activated if the criteria for closing a position are specified. Otherwise, exiting positions will be performed at closing prices.

 

Changes in industry classification

5/9/2020

The classification of industries used in the stock screening tools on the website has been changed to comply with the Global Industry Classification Standard (GICS). Please review your stock screens that use a sector or industry screening criteria and make the appropriate changes. The list of new sectors and industries, as well as a mapping table between old and new industries, can be viewed on this page. Stock screens that use a sector or industry criteria could not be automatically converted and therefore require your attention.

 

Portfolio Tracker enhancements

4/27/2020

The Portfolio Tracker tool now includes performance metrics and charts that allow you to visualize the current status of your trading portfolio. There is no multicurrency support in the tool yet, and if your portfolio includes trading instruments in different currencies, then statistics on this portfolio will not work correctly. In this case, it is recommended to create separate trading portfolios for assets of different currencies. Along with adding statistics, the tool now also allows partial closing of a position.

 

Formula expression: STOPAT function

4/10/2020

This function will be useful to those who develop and test their trading strategies in the Backtester tool. It instructs the trading simulator to move the stop loss level to the specified value. As a parameter, you can specify an indicator, function, or another formula expression that returns a numerical value. For example: stopat(psar(0.02,0.2)), stopat(ema(7)), stopat(lowest(21)). If the expression for closing a position has already been set, then the function must be added using the or operator, for example, your_formula_for_closing_a_position_here or stopat(psar(0.02,0.2)). You can have only one stopat function in your formula. Please note that the stopat function is applied with a one day/bar delay. That is, stop loss is calculated on the current day/bar but will be applied on the next day/bar.

 

Formula expression: TAKEAT function

4/10/2020

This function will be useful to those who develop and test their trading strategies in the Backtester tool. It instructs the trading simulator to move the take profit level to the specified value. As a parameter, you can specify an indicator, function, or another formula expression that returns a numerical value. For example: takeat(bbub(20,2)), takeat(1.5 * ema(50)), takeat(highest(21)). If the expression for closing a position has already been set, then the function must be added using the or operator, for example: your_formula_for_closing_a_position_here or takeat(bbub(20,2)). You can have only one takeat function in your formula. Please note that the takeat function is applied with a one day/bar delay. That is, take profit is calculated on the current day/bar but will be applied on the next day/bar.

 

SMI Ergodic Indicator

3/20/2020

The SMIE indicator (SMI Ergodic) has been added to the product. The SMI Ergodic Indicator is the same as the True Strength Index (TSI) developed by William Blau, except the SMI Ergodic includes a signal line. The SMI uses double moving averages of price minus previous price over 2-time frames. The signal line, which is an EMA of the SMI, is plotted to help trigger trading signals. If the SMI crosses below the signal line, a sell signal will be generated. Conversely, if the SMI crosses above the signal line, a buy signal will be given.

 

Formula expression: SHOW function

2/10/2020

This function allows you to add custom columns to the Stock Screener results page. These may be the values of technical or financial indicators or other metrics available for use in formula expression. The necessary columns should be listed in the function parameters, for example, show(ema(100), rsi(14), eps). Columns will be added to the right of the standard columns of the stock screen and display the corresponding values for each ticker. Technical indicators listed in the show function will also be plotted on charts that are opened from the stock screen and on mini charts when switching to the "Charts" view. The pattern for using the show function is as follows: your_formula_expression_is_here and show(rsi(14)).

 

Formula expression: DRAW function

2/10/2020

The draw function allows you to add the necessary technical indicators to the chart. Technical indicators listed in the draw function will be plotted on charts that are opened from the Stock Screener results page and on mini charts when switching to the "Charts" view. The pattern for using the draw function is as follows: your_formula_expression_is_here and draw(rsi(14)).

 

Formula expression: HIST function

2/10/2020

Previously, the historical screening option was available only in the regular Stock Screener tool. Now it is also possible in the formula stock screener using the hist function. This function instructs the stock screener to switch to historical screening. The screener will select stocks that match the formula expression as of the specified date. The date should be indicated in a short date format: month/day/year. The pattern for using the hist function is as follows: your_formula_expression_is_here and hist(7/31/2019).

 

Formula expression: SORTBY function

1/29/2020

In some cases, it may be necessary to sort the stock screener results by technical indicator, financial metric, or another parameter, while it may not be in the set of standard columns of a stock screen. In this case, you can use the sortby function in the formula expression, specifying the sort parameter in it, the sort direction asc (ascending) or desc (descending), and, if necessary, the number of top records that need to be selected after sorting. For example, sortby(rsi(3), asc) will sort the stocks by the RSI indicator value in ascending order or sortby(dvd_yield, desc, 10) will sort the stocks by dividend yield in descending order and take only the top 10. In the first example, we could simply write sortby(rsi(3)) since the ascending order will be used by default. The pattern for using the sortby function is as follows: your_formula_expression_is_here and sortby(rsi(3)). This function can also be used in the Strategy Backtest tool to set more flexible prioritization when adding stocks to the trading portfolio. In this case, the criteria for opening a position should be set using a formula expression. You can view all the functions supported in the formula expression on the Formula Screener help page.

 



Disclaimer - Privacy Policy - Terms of Service - Cookies - FAQ - Affiliates - Blog