Indicators Available

FeaturesLast updated on 6/6/2026

Indicators Available

AlgoMesh comes pre-packaged with 21 highly optimized, pre-compiled C++ technical indicators. Because these are written natively in C++ and utilize lock-free memory pools, they compute significantly faster than standard Python or JavaScript indicators.

Here is the complete catalog of available indicators, including their mathematical definitions.

Trend Indicators

1. SMA (Simple Moving Average)

Calculates the average price over a specific number of periods. SMA=i=1nPin\text{SMA} = \frac{\sum_{i=1}^{n} P_i}{n}

  • PiP_i: Price of the asset at period ii
  • nn: Number of total periods

2. EMA (Exponential Moving Average)

Places a greater weight and significance on the most recent data points. EMAt=(Pt×2n+1)+EMAt1×(12n+1)\text{EMA}_t = \left( P_t \times \frac{2}{n+1} \right) + \text{EMA}_{t-1} \times \left( 1 - \frac{2}{n+1} \right)

  • PtP_t: Current Price
  • nn: Period length

3. WMA (Weighted Moving Average)

Assigns a linearly decreasing weight to older data points. WMA=i=1n(Pi×i)i=1ni\text{WMA} = \frac{\sum_{i=1}^{n} (P_i \times i)}{\sum_{i=1}^{n} i}

4. MACD (Moving Average Convergence Divergence)

A trend-following momentum indicator that shows the relationship between two moving averages of a security's price. MACD Line=EMA12EMA26\text{MACD Line} = \text{EMA}_{12} - \text{EMA}_{26} Signal Line=EMA9(MACD Line)\text{Signal Line} = \text{EMA}_{9}(\text{MACD Line}) Histogram=MACD LineSignal Line\text{Histogram} = \text{MACD Line} - \text{Signal Line}

5. Parabolic SAR

Determines the price direction of an asset and draws attention to when the price direction is changing. SARt+1=SARt+α×(EPSARt)\text{SAR}_{t+1} = \text{SAR}_t + \alpha \times (\text{EP} - \text{SAR}_t)

  • α\alpha: Acceleration Factor (typically starting at 0.02 and increasing by 0.02)
  • EP\text{EP}: Extreme Point (highest high for uptrend, lowest low for downtrend)

Momentum Oscillators

6. RSI (Relative Strength Index)

Measures the speed and change of price movements to identify overbought or oversold conditions. RSI=1001001+RS\text{RSI} = 100 - \frac{100}{1 + \text{RS}} RS=Average GainAverage Loss\text{RS} = \frac{\text{Average Gain}}{\text{Average Loss}}

7. Stochastic Oscillator

Compares a particular closing price of an asset to a range of its prices over a certain period of time. %K=CL14H14L14×100\%K = \frac{C - L_{14}}{H_{14} - L_{14}} \times 100 %D=SMA3(%K)\%D = \text{SMA}_3(\%K)

  • CC: Most recent closing price
  • L14L_{14}, H14H_{14}: Lowest low and highest high of the 14 previous trading sessions

8. CCI (Commodity Channel Index)

Measures the current price level relative to an average price level over a given period. CCI=Typical PriceSMA(Typical Price)0.015×Mean Deviation\text{CCI} = \frac{\text{Typical Price} - \text{SMA}(\text{Typical Price})}{0.015 \times \text{Mean Deviation}} Typical Price=H+L+C3\text{Typical Price} = \frac{H + L + C}{3}

9. Williams %R

A momentum indicator that measures overbought and oversold levels. %R=HnCHnLn×100\%R = \frac{H_n - C}{H_n - L_n} \times -100

  • HnH_n, LnL_n: Highest high and lowest low over period nn

10. Awesome Oscillator

Calculates market momentum by comparing a 34-period SMA and a 5-period SMA of the median prices. AO=SMA5(H+L2)SMA34(H+L2)\text{AO} = \text{SMA}_5\left(\frac{H+L}{2}\right) - \text{SMA}_{34}\left(\frac{H+L}{2}\right)


Volatility Indicators

11. Bollinger Bands

A set of trendlines plotted two standard deviations (positively and negatively) away from a simple moving average. Middle Band=SMAn\text{Middle Band} = \text{SMA}_n Upper Band=SMAn+(k×σ)\text{Upper Band} = \text{SMA}_n + (k \times \sigma) Lower Band=SMAn(k×σ)\text{Lower Band} = \text{SMA}_n - (k \times \sigma)

  • σ\sigma: Standard Deviation of price over nn periods
  • kk: Multiplier (typically 2)

12. ATR (Average True Range)

Measures market volatility by decomposing the entire range of an asset price for that period. TR=max[(HL),HCp,LCp]\text{TR} = \max[(H-L), |H-C_{p}|, |L-C_{p}|] ATRt=ATRt1×(n1)+TRtn\text{ATR}_t = \frac{\text{ATR}_{t-1} \times (n-1) + \text{TR}_t}{n}

13. Keltner Channels

Volatility-based envelopes set above and below an exponential moving average. Middle Line=EMA20\text{Middle Line} = \text{EMA}_{20} Upper Band=EMA20+(2×ATR10)\text{Upper Band} = \text{EMA}_{20} + (2 \times \text{ATR}_{10}) Lower Band=EMA20(2×ATR10)\text{Lower Band} = \text{EMA}_{20} - (2 \times \text{ATR}_{10})


Volume Indicators

14. OBV (On-Balance Volume)

Uses volume flow to predict changes in stock price.

OBVt=OBVt1+{Vtif Ct>Ct10if Ct=Ct1Vtif Ct<Ct1\text{OBV}_t = \text{OBV}_{t-1} + \begin{cases} V_t & \text{if } C_t > C_{t-1} \\ 0 & \text{if } C_t = C_{t-1} \\ -V_t & \text{if } C_t < C_{t-1} \end{cases}

15. VWAP (Volume Weighted Average Price)

The ratio of the value traded to total volume traded over a particular time horizon. VWAP=(Typical Price×Volume)Volume\text{VWAP} = \frac{\sum (\text{Typical Price} \times \text{Volume})}{\sum \text{Volume}}

16. CMF (Chaikin Money Flow)

Measures the amount of Money Flow Volume over a specific period. Money Flow Multiplier=(CL)(HC)HL\text{Money Flow Multiplier} = \frac{(C - L) - (H - C)}{H - L} Money Flow Volume=MFM×Volume\text{Money Flow Volume} = \text{MFM} \times \text{Volume} CMF=i=121MFVii=121Volumei\text{CMF} = \frac{\sum_{i=1}^{21} \text{MFV}_i}{\sum_{i=1}^{21} \text{Volume}_i}

17. MFI (Money Flow Index)

An oscillator that uses both price and volume to measure buying and selling pressure. MFI=1001001+Money Ratio\text{MFI} = 100 - \frac{100}{1 + \text{Money Ratio}} Money Ratio=Positive Money FlowNegative Money Flow\text{Money Ratio} = \frac{\text{Positive Money Flow}}{\text{Negative Money Flow}}


Advanced / Hybrid Indicators

18. Ichimoku Cloud

Defines support and resistance, identifies trend direction, gauges momentum, and provides trading signals. Tenkan-sen=max(H9)+min(L9)2\text{Tenkan-sen} = \frac{\max(H_9) + \min(L_9)}{2} Kijun-sen=max(H26)+min(L26)2\text{Kijun-sen} = \frac{\max(H_{26}) + \min(L_{26})}{2} Senkou Span A=Tenkan-sen+Kijun-sen2\text{Senkou Span A} = \frac{\text{Tenkan-sen} + \text{Kijun-sen}}{2} Senkou Span B=max(H52)+min(L52)2\text{Senkou Span B} = \frac{\max(H_{52}) + \min(L_{52})}{2}

19. ADX (Average Directional Index)

Used to quantify trend strength. ADX=SMA14(+DI-DI+DI+-DI)×100\text{ADX} = \text{SMA}_{14}\left( \frac{|\text{+DI} - \text{-DI}|}{\text{+DI} + \text{-DI}} \right) \times 100

20. SuperTrend

A trend-following indicator constructed using the ATR. Up=H+L2(k×ATRn)\text{Up} = \frac{H+L}{2} - (k \times \text{ATR}_n) Down=H+L2+(k×ATRn)\text{Down} = \frac{H+L}{2} + (k \times \text{ATR}_n)

21. Donchian Channels

Three lines generated by moving average calculations that comprise an indicator formed by upper and lower bands around a mid-range or median band. Upper Channel=max(Hn)\text{Upper Channel} = \max(H_n) Lower Channel=min(Ln)\text{Lower Channel} = \min(L_n) Middle Channel=Upper+Lower2\text{Middle Channel} = \frac{\text{Upper} + \text{Lower}}{2}