Smoothed Moving Average (SMMA)

A Smoothed Moving Average (SMMA) is a technical indicator used in financial analysis to reduce the impact of sharp fluctuations in price data. It’s a type of moving average that is more responsive to recent price changes compared to the Simple Moving Average (SMA) but less sensitive than the Exponential Moving Average (EMA).

The difference between SMMA, SMA, and EMA lies in how they weight data. The Simple Moving Average (SMA) is straightforward; it takes the average of closing prices over a specified number of periods. However, it’s sensitive to all data points, including older ones, which might not reflect current market conditions accurately.

The Exponential Moving Average (EMA) gives more weight to recent prices, making it more responsive to price changes compared to the SMA. It’s calculated using a smoothing factor that gives more importance to the most recent data points.

In contrast, the Smoothed Moving Average (SMMA) is a compromise between the SMA and EMA. It is also a type of weighted moving average, but it smooths out price data by giving equal weight to all periods within the chosen time frame. This means the SMMA reacts more quickly to price changes than the SMA but less rapidly than the EMA, striking a balance between responsiveness and stability.

Get values via API

We provide API access to the SMMA values for all of the most popular assets like stocks, crypto (try one of the popular exchanges like Binance) and forex, on all commonly used timeframes – from the weekly and daily all the way down to one minute intervals. You can also calculate the values on your own data using our manual method.

Customise SMMA Sensitivity

Using our API, you have the flexibility to customize the length of the Smoothed Moving Average (SMMA) by adjusting the optional period parameter. This parameter allows you to define the number of periods over which the SMMA is calculated, giving you control over how responsive or smooth you want the indicator to be based on your trading strategy or analysis needs.

Get started with the smma

Simply make an HTTPS [GET] request or call in your browser:

			[GET] https://api.taapi.io/smma?secret=MY_SECRET&exchange=binance&symbol=BTC/USDT&interval=1h
		

API response

The smma endpoint returns a JSON response like this:

			{
	"value": 66021.52746920686
}
		
Example response from TAAPI.IO when querying smma endpoint.

API parameters

secret
Required String
The secret which is emailed to you when you request an API key.
exchange
Required String
The exchange you want to calculate the indicator from: binance, binancefutures or one of our supported exchanges. For other crypto / stock exchanges, please refer to our Client or Manual integration methods.
symbol
Required String
Symbol names are always uppercase, with the coin separated by a forward slash and the market: COIN/MARKET. For example: BTC/USDT Bitcoin to Tether, or LTC/BTC Litecoin to Bitcoin...
interval
Required String
Interval or time frame: We support the following time frames: 1m, 5m, 15m, 30m, 1h, 2h, 4h, 12h, 1d, 1w. So if you're interested in values on hourly candles, use interval=1h, for daily values use interval=1d, etc.
backtrack
Optional Integer
The backtrack parameter removes candles from the data set and calculates the smma value X amount of candles back. So, if you’re fetching the smma on the hourly and you want to know what the smma was 5 hours ago, set backtrack=5. The default is 0 and a maximum is 50.
backtracks
Optional Integer
The backtracks parameter returns the smma value calculated on every candle for the past X candles. For example, if you want to know what the smma was every hour for the past 12 hours, you use backtracks=12. As a result, you will get 12 values back.
chart
Optional String
The chart parameter accepts one of two values: candles or heikinashi. candles is the default, but if you set this to heikinashi, the indicator values will be calculated using Heikin Ashi candles. Note: Pro & Expert Plans only.
addResultTimestamp
Optional Boolean
true or false. Defaults to false. By setting to true the API will return a timestamp with every result (real-time and backtracked) to which candle the value corresponds. This is helpful when requesting multiple backtracks.
gaps
New Optional Boolean
true or false. Defaults to true. By setting to false, the API will ensure that there are no candles missing. This often happens on lower timeframes in thin markets. Gaps will be filled by a new candle with 0 volume, and OHLC set the the close price of the latest candle with volume.
results
New Optional String
number or max. Use this parameter to access historical values on the past X candles until the most recent candle. Use max to return all available historical values. Returns an array with the oldest value on top and most recent value returned the last.
period
Optional Integer

Adjust the SMMA length – the number of candles used to calculate the SMMA.

Default: 7

More examples

Let's say you want to know the smma value on the last closed candle on the 30m timeframe. You are not interest in the real-time value, so you use the backtrack=1 optional parameter to go back 1 candle in history to the last closed candle.

				[GET] https://api.taapi.io/smma?secret=MY_SECRET&exchange=binance&symbol=BTC/USDT&interval=30m&backtrack=1
			
Get smma values on each of the past X candles in one call

Let's say you want to know what the smma daily value was each day for the previous 10 days. You can get this returned by our API easily and efficiently in one call using the backtracks=10 parameter:

				[GET] https://api.taapi.io/smma?secret=MY_SECRET&exchange=binance&symbol=BTC/USDT&interval=1d&backtracks=10
			

Here's the example response:

				[
	{
		"value": 66420.39191882942,
		"backtrack": 0
	},
	{
		"value": 66406.66254613623,
		"backtrack": 1
	},
	{
		"value": 66394.86057488025,
		"backtrack": 2
	},
	{
		"value": 66374.68165776868,
		"backtrack": 3
	},
	{
		"value": 66355.71437659861,
		"backtrack": 4
	},
	{
		"value": 66321.38355431432,
		"backtrack": 5
	},
	{
		"value": 66306.29110980456,
		"backtrack": 6
	},
	{
		"value": 66294.51643137321,
		"backtrack": 7
	},
	{
		"value": 66270.89887512969,
		"backtrack": 8
	},
	{
		"value": 66246.09407908388,
		"backtrack": 9
	}
]
			

Looking for even more integration examples in different languages like NodeJS, PHP, Python, Curl or Ruby? Continue to [GET] REST - Direct documentation.