navi-language/navi
Overview
This skill is a Navi Stream language expert for writing quantitative trading indicators and technical analysis scripts in .nvs files. It helps you design real-time streaming indicators, access OHLC market data, and produce chart-ready outputs with built-in plotting and export support. Use it to speed up development of efficient, low-latency indicator code optimized for tick-by-tick processing.
How this skill works
The skill inspects .nvs source and guides on metadata, parameter declaration, ta and quote module usage, plotting, and exporting indicator outputs. It explains time-series indexing, built-in technical functions (ema, ma, count, barslast, etc.), array/state handling, and integration patterns for calling .nvs modules from Navi programs. It also highlights performance and parameter-range best practices for streaming calculations.
When to use it
- Building or reviewing .nvs indicator scripts (MACD, RSI, Bollinger, etc.)
- Implementing real-time streaming calculations that run per tick or candle
- Accessing and manipulating OHLC, volume, and timestamp fields from quote module
- Creating chart-ready outputs with plots, shapes, and text annotations
- Integrating indicators into Navi programs that feed candlestick data
Best practices
- Declare metadata and parameters up front; use @meta to document ranges and UI labels
- Cache repeated calculations in local variables instead of calling functions twice
- Use export for outputs you want shown on charts and return values when called from Navi
- Keep stateful arrays and bar-confirmation logic minimal to preserve streaming performance
- Use clear naming: parameters CamelCase or snake_case, internal vars snake_case, exports lowercase
Example use cases
- Implement MACD with ema(close, 12/26) and exported macd, hist, signal outputs
- Create a multi-period trend alignment indicator using short/mid/long EMAs
- Detect breakouts by comparing close to prior N-period highs and draw visual annotations
- Build divergence detectors by comparing price lows with indicator lows using barslast/dllv
- Integrate an .nvs indicator into a Navi program that feeds tick-by-tick candlesticks
FAQ
Use .nvs files and 4 spaces for indentation.
How do I expose values to a chart or to a Navi caller?
Mark variables with export let to make them indicator outputs; when called from Navi, use the indicator instance's exported fields after execute().
2 skills
This skill helps you write real-time trading indicators in Navi Stream, enabling fast analytics, parameterization, and chart-ready outputs.
This skill helps you write Navi code efficiently by applying best practices for types, error handling, and concurrency.