Utility
OpenAlgo Utility Indicators Documentation
Utility indicators provide essential market analysis functions for signal detection, condition checking, and mathematical operations. These functions are fundamental building blocks for creating trading strategies and market analysis systems.
Import Statement
from openalgo import ta, apiSample Data Setup
# Initialize API client
client = api(api_key='your_api_key_here', host='http://127.0.0.1:5000')
# Fetch historical data
df = client.history(symbol="SBIN",
exchange="NSE",
interval="5m",
start_date="2025-04-01",
end_date="2025-04-08")
# Extract price series
close = df['close']
high = df['high']
low = df['low']
open_prices = df['open']
volume = df['volume']Signal Detection Utilities
Crossover
Detects when one series crosses above another series. Essential for identifying bullish signal points.
Usage
Parameters
series1 (array-like): First series (typically fast indicator)
series2 (array-like): Second series (typically slow indicator)
Returns
array: Boolean array indicating crossover points (True where crossover occurs)
Example
Crossunder
Detects when one series crosses below another series. Used for identifying bearish signal points.
Usage
Parameters
series1 (array-like): First series (typically fast indicator)
series2 (array-like): Second series (typically slow indicator)
Returns
array: Boolean array indicating crossunder points (True where crossunder occurs)
Example
Cross
Detects when one series crosses another in either direction (combines crossover and crossunder).
Usage
Parameters
series1 (array-like): First series
series2 (array-like): Second series
Returns
array: Boolean array indicating any cross points (both over and under)
Example
Range and Extremes
Highest
Finds the highest value over a rolling window.
Usage
Parameters
data (array-like): Input data series
period (int): Window size for finding highest value
Returns
array: Array of highest values over the specified period
Example
Lowest
Finds the lowest value over a rolling window.
Usage
Parameters
data (array-like): Input data series
period (int): Window size for finding lowest value
Returns
array: Array of lowest values over the specified period
Example
Change and Rate Calculations
Change
Calculates the change in value over a specified number of periods.
Usage
Parameters
data (array-like): Input data series
length (int, default=1): Number of periods to look back
Returns
array: Array of change values
Example
Rate of Change (ROC)
Calculates the rate of change as a percentage.
Usage
Parameters
data (array-like): Input data series
length (int): Number of periods to look back
Returns
array: Array of ROC values as percentages
Example
Statistical Utilities
Standard Deviation
Calculates rolling standard deviation for volatility measurement.
Usage
Parameters
data (array-like): Input data series
period (int): Window size for standard deviation calculation
Returns
array: Array of standard deviation values
Example
Trend Direction Utilities
Rising
Checks if data is rising (current value > value n periods ago).
Usage
Parameters
data (array-like): Input data series
length (int): Number of periods to look back
Returns
array: Boolean array indicating rising periods
Example
Falling
Checks if data is falling (current value < value n periods ago).
Usage
Parameters
data (array-like): Input data series
length (int): Number of periods to look back
Returns
array: Boolean array indicating falling periods
Example
Advanced Signal Processing
Excess Removal (ExRem)
Eliminates excessive signals by ensuring alternating signal types.
Usage
Parameters
primary_signals (array-like): Primary signal array (boolean-like)
secondary_signals (array-like): Secondary signal array (boolean-like)
Returns
array: Boolean array with excess signals removed
Example
Flip
Creates a toggle state based on two signals.
Usage
Parameters
primary_signals (array-like): Primary signal array (boolean-like)
secondary_signals (array-like): Secondary signal array (boolean-like)
Returns
array: Boolean array representing flip state
Example
Value When
Returns the value of an array when a condition was true for the nth most recent time.
Usage
Parameters
condition_array (array-like): Expression array (boolean-like)
value_array (array-like): Value array to sample from
n (int, default=1): Which occurrence to get (1 = most recent)
Returns
array: Array of values when condition was true
Example
Complete Utility Example: Trading Signal System
Best Practices for Utility Functions
Signal Filtering: Always use
exrem()to filter excessive signalsState Management: Use
flip()to maintain position statesCondition Combining: Combine multiple utilities for robust signal generation
Historical Reference: Use
valuewhen()to track important price levelsTrend Confirmation: Use
rising()andfalling()to confirm trend direction
Common Signal Patterns
Momentum Confirmation:
crossover() + rising() + volume_confirmationReversal Detection:
falling() + oversold_condition + volume_spikeBreakout Validation:
cross() + highest()/lowest() + volatility_expansionTrend Following:
flip() + moving_average_alignment + momentum_filter
Last updated
Was this helpful?