Files
siloqy/docs/ChatGPT-NautilusTrader indicators explained.md

537 lines
45 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# NautilusTrader indicators explained
**User:** HJ Normey (hjnormey@gmail.com)
**Created:** 8/27/2025 18:45
**Updated:** 8/27/2025 18:49
**Exported:** 8/27/2025 19:28
**Link:** [https://chatgpt.com/c/68af3587-1850-8320-87b5-b15c42825bc2](https://chatgpt.com/c/68af3587-1850-8320-87b5-b15c42825bc2)
## Prompt:
Take *all* the indicators described here (Nautilus trader):
- https://nautilustrader.io/docs/latest/api_reference/indicators
... and explain in fullest possible detail each of them, walking through their internal functioning, applications, strengths, best-practices, common applications, reliability, and any other facts you might deem useful. Goal is max predictability and profit.-
## Response:
Pensó durante 1m 10s
Pensando más tiempo para una mejor respuesta
Abriendo página de indicadores de Nautilus Trader
[
![](https://www.google.com/s2/favicons?domain=https://nautilustrader.io&sz=32)
nautilustrader.io
](https://nautilustrader.io/docs/latest/api_reference/indicators)
Abriendo vista con longitud de respuesta "larga"
[
![](https://www.google.com/s2/favicons?domain=https://nautilustrader.io&sz=32)
nautilustrader.io
](https://nautilustrader.io/docs/latest/api_reference/indicators)
Buscando clases e indicadores usando web.run.find
[
![](https://www.google.com/s2/favicons?domain=https://nautilustrader.io&sz=32)
nautilustrader.io
](https://nautilustrader.io/docs/latest/api_reference/indicators)
El usuario solicita una explicación detallada de numerosas clases de indicadores. Esto incluye su funcionamiento interno, aplicaciones, fortalezas, mejores prácticas, fiabilidad y relevancia para maximizar la previsibilidad y rentabilidad. Para clases base como "MovingAverage" o menos comunes como "FuzzyCandle", también aclararé su rol.
El usuario pide proporcionar fórmulas internas, aplicaciones comerciales, fortalezas, debilidades y mejores prácticas de indicadores. También debo incluir citas para las afirmaciones más relevantes sobre definiciones, fórmulas o investigaciones clave de fuentes como Investopedia o trabajos originales, como Kaufman para AMA, Bollinger, Wilder y otros.
El usuario quiere detalles completos sobre muchos indicadores, lo que puede resultar en una respuesta extensa. Debo ser cuidadoso con la longitud del contenido, pero también asegurarme de que la información sea profunda y comprensible. Argumentaré lo más detalladamente posible, proporcionando explicaciones resumidas si es necesario sin sacrificar lo esencial.
Voy a dividir la explicación en secciones para cada indicador, como definición, fórmula, parámetros, aplicaciones, señales de trading, fortalezas y debilidades, mejores prácticas, confiabilidad, elección de parámetros y ejemplos de pseudocódigo. Además, incluiré citas de fuentes acreditadas, como Kaufman, Bollinger y otros expertos para apoyar las definiciones clave.
Explicando clases de indicadores y sus aplicaciones
[
![](https://www.google.com/s2/favicons?domain=https://corporatefinanceinstitute.com&sz=32)
corporatefinanceinstitute.com
](https://corporatefinanceinstitute.com/resources/career-map/sell-side/capital-markets/kaufmans-adaptive-moving-average-kama/)
[
![](https://www.google.com/s2/favicons?domain=https://www.investopedia.com&sz=32)
www.investopedia.com
](https://www.investopedia.com/terms/e/ema.asp)
[
![](https://www.google.com/s2/favicons?domain=https://chartschool.stockcharts.com&sz=32)
chartschool.stockcharts.com
](https://chartschool.stockcharts.com/table-of-contents/technical-indicators-and-overlays/technical-overlays/kaufmans-adaptive-moving-average-kama)
![](https://www.google.com/s2/favicons?domain=https://www.quantifiedstrategies.com&sz=32)
![](https://www.google.com/s2/favicons?domain=https://toslc.thinkorswim.com&sz=32)
![](https://www.google.com/s2/favicons?domain=https://www.fidelity.com&sz=32)
3 más
Usaré fuentes confiables como los documentos de Nautilus para saber más sobre cada clase, y también Investopedia o StockCharts para fórmulas y usos generales. Debo tener cuidado de no proporcionar consejos que puedan ser mal interpretados como garantías de ganancias, pero aseguraré que las afirmaciones clave estén respaldadas correctamente con citas.
Voy a explicar que cubriremos todos los indicadores, iniciando con una breve introducción, mencionando la metodología y citando los documentos de Nautilus para la lista. Luego, para cada indicador, incluiré nombre, fórmula, parámetros, señales de trading, fortalezas y más, todo con ejemplos. Para los indicadores no estándar como FuzzyCandle, consultaré documentación detallada.
Para FuzzyCandlesticks, no tenemos una fórmula precisa documentada en los documentos de Nautilus, pero podemos inferir que utiliza funciones de pertenencia difusa con parámetros de umbral para determinar los tamaños categóricos. Seré claro al señalar que esto es una interpretación basada en la información disponible, y que los detalles exactos no están documentados.
Buscando mejores prácticas para optimización y gestión de riesgos
[
![](https://www.google.com/s2/favicons?domain=https://www.reddit.com&sz=32)
www.reddit.com
](https://www.reddit.com/r/algotrading/comments/1j187b3/my_walkforward_optimization_backtesting_system/)
[
![](https://www.google.com/s2/favicons?domain=https://www.quantifiedstrategies.com&sz=32)
www.quantifiedstrategies.com
](https://www.quantifiedstrategies.com/average-true-range-trading-strategy/)
[
![](https://www.google.com/s2/favicons?domain=https://www.pyquantnews.com&sz=32)
www.pyquantnews.com
](https://www.pyquantnews.com/free-python-resources/the-future-of-backtesting-a-deep-dive-into-walk-forward-analysis)
![](https://www.google.com/s2/favicons?domain=https://www.ig.com&sz=32)
![](https://www.google.com/s2/favicons?domain=https://blog.quantinsti.com&sz=32)
![](https://www.google.com/s2/favicons?domain=https://blog.afterpullback.com&sz=32)
13 más
Voy a crear un plan detallado para cada indicador, donde incluiré una definición, fórmula y citas para sustentarlas. Usaré fuentes confiables como Investopedia, StockCharts y los documentos de Nautilus. Aunque hay 27 indicadores, procuraré ser exhaustivo pero claro. Cada sección tendrá encabezados para facilitar la lectura.
Elaborando contenido detallado sobre indicadores financieros
[
![](https://www.google.com/s2/favicons?domain=https://www.investopedia.com&sz=32)
www.investopedia.com
](https://www.investopedia.com/terms/v/vwap.asp)
[
![](https://www.google.com/s2/favicons?domain=https://help.tc2000.com&sz=32)
help.tc2000.com
](https://help.tc2000.com/m/69445/l/755855-donchian-channels)
[
![](https://www.google.com/s2/favicons?domain=https://en.wikipedia.org&sz=32)
en.wikipedia.org
](https://en.wikipedia.org/wiki/Stochastic_oscillator)
[
![](https://www.google.com/s2/favicons?domain=https://chartschool.stockcharts.com&sz=32)
chartschool.stockcharts.com
](https://chartschool.stockcharts.com/table-of-contents/technical-indicators-and-overlays/technical-overlays/price-channels)
Buscando fuentes para indicadores técnicos adicionales
[
![](https://www.google.com/s2/favicons?domain=https://www.fidelity.com&sz=32)
www.fidelity.com
](https://www.fidelity.com/learning-center/trading-investing/technical-analysis/technical-indicator-guide/hull-moving-average)
[
![](https://www.google.com/s2/favicons?domain=https://www.investopedia.com&sz=32)
www.investopedia.com
](https://www.investopedia.com/terms/o/onbalancevolume.asp)
[
![](https://www.google.com/s2/favicons?domain=https://www.chartmill.com&sz=32)
www.chartmill.com
](https://www.chartmill.com/documentation/technical-analysis/indicators/433-Keltner-Channels-versus-Bollinger-Bands-which-one-is-better-for-trading)
![](https://www.google.com/s2/favicons?domain=https://chartschool.stockcharts.com&sz=32)
![](https://www.google.com/s2/favicons?domain=https://www.xs.com&sz=32)
![](https://www.google.com/s2/favicons?domain=https://tradeciety.com&sz=32)
8 más
Listo
Deep dive: every NautilusTrader indicator (walk-through, internals, uses, strengths, weaknesses, best practices)
================================================================================================================
Perfect — I fetched NautilusTraders indicators page and will explain **each indicator listed there** in practical and technical detail: how theyre computed (where the public formula exists), what theyre useful for, typical parameter choices, real-world gotchas, and best-practice ways to use them to increase predictive power while avoiding overfitting and unnecessary risk. The Nautilus docs are my reference for the list and API/class parameters; for the mathematical definitions and trading uses I cite canonical sources (Investopedia / StockCharts / similar). [NautilusTrader](https://nautilustrader.io/docs/latest/api_reference/indicators)[chartschool.stockcharts.com](https://chartschool.stockcharts.com/table-of-contents/technical-indicators-and-overlays/technical-overlays/kaufmans-adaptive-moving-average-kama?utm_source=chatgpt.com)[Investopedia](https://www.investopedia.com/terms/e/ema.asp?utm_source=chatgpt.com)
**Important (read this first):**
* Indicators are _tools_, not oracles. Theyre descriptive / lagging or sometimes slightly leading. Expect noise, false signals, and regime dependence (what works in a trending market often fails in a choppy market). Always pair indicators with risk management (position sizing, stop losses) and robust out-of-sample testing (walk-forward). [Investopedia](https://www.investopedia.com/articles/trading/10/backtesting-walkforward-important-correlation.asp?utm_source=chatgpt.com)[blog.quantinsti.com](https://blog.quantinsti.com/walk-forward-optimization-introduction/?utm_source=chatgpt.com)
* Ill highlight where Nautilus documents internals and where it doesnt (Ill be explicit when I infer an implementation versus quoting Nautilus). If Nautilus omits low-level math (e.g., fuzzy-candle internals), Ill describe plausible implementations and show how to validate them. [NautilusTrader](https://nautilustrader.io/docs/latest/api_reference/indicators)
* * *
Below: each indicator in the Nautilus list. For readability I give (1) what it measures / definition, (2) internal formula / algorithm (precise where public), (3) Nautilus constructor/params (short), (4) trading signals & applications, (5) strengths & reliability notes, (6) best-practice tuning & risk controls.
* * *
AdaptiveMovingAverage (Kaufmans Adaptive Moving Average — KAMA)
----------------------------------------------------------------
1. **What it measures / purpose.** Adaptive moving average that reduces lag in trends and increases smoothing (lag) in noisy markets — it adapts smoothing based on “efficiency” of the move. [NautilusTrader](https://nautilustrader.io/docs/latest/api_reference/indicators)[chartschool.stockcharts.com](https://chartschool.stockcharts.com/table-of-contents/technical-indicators-and-overlays/technical-overlays/kaufmans-adaptive-moving-average-kama?utm_source=chatgpt.com)
2. **Internal algorithm (public formula).**
* Price change = `abs(price_t - price_{t-n})`.
* Volatility = `sum_{i=t-n+1..t} abs(price_i - price_{i-1})`.
* Efficiency Ratio (ER) = `Price change / Volatility` (0..1).
* FastSC = `2/(fast+1)`, SlowSC = `2/(slow+1)` (these are EMA multipliers).
* Smoothing constant `SC = ( ER*(FastSC - SlowSC) + SlowSC )^2`.
* KAMA update: `KAMA_t = KAMA_{t-1} + SC * (price_t - KAMA_{t-1})`.
(Standard defaults: ER period 10, fast=2, slow=30). [chartschool.stockcharts.com](https://chartschool.stockcharts.com/table-of-contents/technical-indicators-and-overlays/technical-overlays/kaufmans-adaptive-moving-average-kama?utm_source=chatgpt.com)
3. **Nautilus constructor:** `AdaptiveMovingAverage(period_er, period_alpha_fast, period_alpha_slow, price_type)`. [NautilusTrader](https://nautilustrader.io/docs/latest/api_reference/indicators)
4. **Signals / applications.** Trend identification with less lag; crossovers with price or other MAs; slope and ER magnitude indicate trend strength. Use to avoid whipsaws on short MAs while staying responsive like fast MAs in clean trends. [Quantified Strategies](https://www.quantifiedstrategies.com/adaptive-moving-average/?utm_source=chatgpt.com)
5. **Strengths & reliability.** Excellent at reducing false whipsaws versus single fixed MAs in many markets; but can be noisy during extremely erratic price action (ER can jump). Works well in markets that alternate between trend and range because it adapts. [chartschool.stockcharts.com](https://chartschool.stockcharts.com/table-of-contents/technical-indicators-and-overlays/technical-overlays/kaufmans-adaptive-moving-average-kama?utm_source=chatgpt.com)
6. **Best practices.** Use as a trend filter (trade only in its direction), combine with a volatility measure (ATR) for stops, avoid tight parameter optimization — prefer a small grid and walk-forward test. If using in a system, sanity-check ER values (01) as diagnostics.
* * *
ExponentialMovingAverage (EMA)
------------------------------
1. **Definition.** Weighted moving average that gives exponentially more weight to recent price points (less lag than SMA for the same period). [Investopedia](https://www.investopedia.com/terms/e/ema.asp?utm_source=chatgpt.com)
2. **Internal algorithm.** Multiplier (α) = `2 / (N + 1)`. Initialize EMA at the SMA of the first N periods (or take first price as seed). Update: `EMA_t = α * price_t + (1-α) * EMA_{t-1}`. [Investopedia](https://www.investopedia.com/ask/answers/122314/what-exponential-moving-average-ema-formula-and-how-ema-calculated.asp?utm_source=chatgpt.com)
3. **Nautilus constructor:** `ExponentialMovingAverage(period, price_type)`. [NautilusTrader](https://nautilustrader.io/docs/latest/api_reference/indicators)
4. **Signals / applications.** Trend direction (slope), crossovers (short EMA crossing long EMA), smoothing price for other indicators (MACD uses EMAs). Works for both trend-following and smoothing volatility. [Investopedia](https://www.investopedia.com/terms/m/movingaverage.asp?utm_source=chatgpt.com)
5. **Strengths & reliability.** Low computational cost, well understood, responsive to changes. But still lagging and vulnerable to whipsaws in choppy markets.
6. **Best practices.** Use multiple EMAs (e.g., 8/21, 12/26) with confirmation (volume, MACD) and avoid re-optimizing tiny periods that wont generalize.
* * *
SimpleMovingAverage (SMA)
-------------------------
1. **Definition.** Arithmetic mean of the last N values. Very common baseline. [NautilusTrader](https://nautilustrader.io/docs/latest/api_reference/indicators)[Investopedia](https://www.investopedia.com/terms/m/movingaverage.asp?utm_source=chatgpt.com)
2. **Formula.** `SMA_t = (price_t + ... + price_{t-N+1}) / N`.
3. **Nautilus:** `SimpleMovingAverage(period, price_type)`. [NautilusTrader](https://nautilustrader.io/docs/latest/api_reference/indicators)
4. **Signals.** Crosses, slope, used as centerline for Bollinger, filter for trend.
5. **Strengths.** Intuitive, stable. **Weakness:** more lag than EMA/WMA for same period.
6. **Best practices.** Use longer SMAs for macro trend, short SMAs for mean reversion triggers. Combine with volatility filters.
* * *
WeightedMovingAverage (WMA)
---------------------------
1. **Definition.** Moving average where more recent observations have higher weights (not exponential; explicit weights). [NautilusTrader](https://nautilustrader.io/docs/latest/api_reference/indicators)[Investopedia](https://www.investopedia.com/terms/w/weightedaverage.asp?utm_source=chatgpt.com)
2. **Formula (typical).** `WMA = (w1*price_t + w2*price_{t-1} + ... + wN*price_{t-N+1}) / sum(weights)`. Nautilus accepts `weights` or will construct default ones matching the period. [NautilusTrader](https://nautilustrader.io/docs/latest/api_reference/indicators)
3. **Signals / applications.** Faster response than SMA but stable if weights are modest. Good when you want controlled responsiveness.
4. **Strengths & reliability.** More control over emphasis than EMA; choose weights consciously.
5. **Best practices.** Use evenly increasing weights (e.g., 1..N) or custom weights based on experience; test sensitivity.
* * *
HullMovingAverage (HMA)
-----------------------
1. **Definition.** Designed by Alan Hull to reduce lag while maintaining smoothness — uses WMAs and a final smoothing window of sqrt(period). [NautilusTrader](https://nautilustrader.io/docs/latest/api_reference/indicators)[chartschool.stockcharts.com](https://chartschool.stockcharts.com/table-of-contents/technical-indicators-and-overlays/technical-overlays/hull-moving-average-hma?utm_source=chatgpt.com)
2. **Algorithm (standard):**
* `WMA1 = WMA(price, n/2)`
* `WMA2 = WMA(price, n)`
* `raw = 2 * WMA1 - WMA2`
* `HMA = WMA(raw, sqrt(n))`
This produces a fast but smooth MA. [chartschool.stockcharts.com](https://chartschool.stockcharts.com/table-of-contents/technical-indicators-and-overlays/technical-overlays/hull-moving-average-hma?utm_source=chatgpt.com)
3. **Nautilus constructor:** `HullMovingAverage(period, price_type)`. [NautilusTrader](https://nautilustrader.io/docs/latest/api_reference/indicators)
4. **Signals / applications.** Trend direction, fast trend following; useful for visual smoothing and quick entries/exits.
5. **Strengths & reliability.** Very responsive — can detect trend changes earlier; **weakness:** may produce false signals in choppy markets; requires discipline to avoid frequent trades. [Fidelity](https://www.fidelity.com/learning-center/trading-investing/technical-analysis/technical-indicator-guide/hull-moving-average?utm_source=chatgpt.com)
6. **Best practices.** Use HMA for trend-filtering and pair with volatility stop (ATR) to avoid being run over during whipsaw.
* * *
MovingAverageFactory / MovingAverageType (enum)
-----------------------------------------------
* Factory that constructs MA objects of types: `SIMPLE`, `EXPONENTIAL`, `WEIGHTED`, `HULL`, `ADAPTIVE`, `WILDER`, `DOUBLE_EXPONENTIAL`, `VARIABLE_INDEX_DYNAMIC`. Use the factory to standardize MA creation and switch MA type safely in code. (See Nautilus API). [NautilusTrader](https://nautilustrader.io/docs/latest/api_reference/indicators)
* * *
AverageTrueRange (ATR)
----------------------
1. **Definition.** Measures average price range (volatility) over N periods; useful for position sizing and stop placement. Originally by Wilder. [Investopedia](https://www.investopedia.com/terms/a/atr.asp?utm_source=chatgpt.com)
2. **Formula (true range TR):** `TR = max(high - low, abs(high - prev_close), abs(low - prev_close))`. ATR = moving average (SMA or EMA) of TR (typical period = 14). Nautilus supports different inner moving average types. [Investopedia](https://www.investopedia.com/articles/trading/08/average-true-range.asp?utm_source=chatgpt.com)[NautilusTrader](https://nautilustrader.io/docs/latest/api_reference/indicators)
3. **Nautilus:** `AverageTrueRange(period, ma_type=..., use_previous=True, value_floor=0)`. [NautilusTrader](https://nautilustrader.io/docs/latest/api_reference/indicators)
4. **Signals / applications.** Volatility-based stops (e.g., set stop = entry k\*ATR), position sizing (volatility-based sizing), breakout confirmation (spikes in ATR). [IG](https://www.ig.com/en/trading-strategies/what-is-the-average-true-range--atr--indicator-and-how-do-you-tr-240905?utm_source=chatgpt.com)
5. **Strengths & reliability.** Robust volatility measure across instruments; not directional. **Weakness:** can expand/collapse quickly — combine with trend filter to avoid overreacting to temporary spikes.
6. **Best practices.** Use ATR floor to avoid tiny stops in low volatility, and pair with trend signals for entries. Use ATR multiples (1.53 ATR) for stop placement depending on timeframe.
* * *
BollingerBands
--------------
1. **Definition.** Bands plotted ±k standard deviations around an N-period SMA (middle band). Widely used to measure volatility envelope. [NautilusTrader](https://nautilustrader.io/docs/latest/api_reference/indicators)[Investopedia](https://www.investopedia.com/terms/b/bollingerbands.asp?utm_source=chatgpt.com)
2. **Formula.** Middle = `SMA(price, N)`; `Upper = middle + k * stddev(price, N)`; `Lower = middle k * stddev(price, N)`. Typical: N=20, k=2. [Investopedia](https://www.investopedia.com/terms/b/bollingerbands.asp?utm_source=chatgpt.com)
3. **Nautilus:** `BollingerBands(period, k, ma_type=SIMPLE)`. [NautilusTrader](https://nautilustrader.io/docs/latest/api_reference/indicators)
4. **Signals / applications.**
* **Band squeeze** → low volatility; breakout likely (direction needs confirmation).
* **Band touch**: near upper = potentially overbought, near lower = potentially oversold (use with confirmation).
* **Band width** as volatility indicator. [Investopedia](https://www.investopedia.com/articles/technical/04/030304.asp?utm_source=chatgpt.com)
5. **Strengths & reliability.** Great for volatility and breakout contexts. **Weakness:** “price = band” doesnt guarantee reversal (trend may hug the band). False breakout risk during thin markets.
6. **Best practices.** Combine with volume (VWAP/OBV) or trend filter; prefer using squeeze + breakout confirmed by volume or momentum (RSI/MACD).
* * *
DonchianChannel
---------------
1. **Definition.** Upper band = highest high over N periods; lower band = lowest low over N periods; middle = average. Useful for breakout systems. [NautilusTrader](https://nautilustrader.io/docs/latest/api_reference/indicators)[Investopedia](https://www.investopedia.com/terms/d/donchianchannels.asp?utm_source=chatgpt.com)
2. **Nautilus:** `DonchianChannel(period)`. [NautilusTrader](https://nautilustrader.io/docs/latest/api_reference/indicators)
3. **Signals / applications.** Breakout systems (enter on close above upper band); stop/exit at opposite band or use trailing. Classic turtle system uses Donchian breakouts. [help.tc2000.com](https://help.tc2000.com/m/69445/l/755855-donchian-channels?utm_source=chatgpt.com)
4. **Strengths & reliability.** Simple, transparent breakout logic; good for trend initiation. **Weakness:** many false breakouts in sideways markets.
5. **Best practices.** Use volume confirmation, volatility filters, position scaling; run robust walk-forward tests to select N.
* * *
KeltnerChannel & KeltnerPosition
--------------------------------
1. **Definition.** Volatility envelope like Bollinger, but uses ATR (not standard deviation) around an EMA of typical price (often ATR multiplier k). Nautilus provides channels and a _relative position_ indicator (KeltnerPosition) that measures where price sits within the channel as multiples of ATR. [NautilusTrader](https://nautilustrader.io/docs/latest/api_reference/indicators)[chartschool.stockcharts.com](https://chartschool.stockcharts.com/table-of-contents/technical-indicators-and-overlays/technical-overlays/keltner-channels?utm_source=chatgpt.com)
2. **Algorithm.** Middle = EMA(typical\_price, period). Upper/lower = middle ± k \* ATR(period). KeltnerPosition typically = `(price - middle) / (k * ATR)` (i.e., number of ATRs above/below center) — Nautilus docs describe the concept but not the exact implementation; this is the standard approach. [NautilusTrader](https://nautilustrader.io/docs/latest/api_reference/indicators)[chartschool.stockcharts.com](https://chartschool.stockcharts.com/table-of-contents/technical-indicators-and-overlays/technical-overlays/keltner-channels?utm_source=chatgpt.com)
3. **Nautilus:** `KeltnerChannel(period, k_multiplier, ma_type, ma_type_atr, use_previous, atr_floor)` and `KeltnerPosition(...)`. [NautilusTrader](https://nautilustrader.io/docs/latest/api_reference/indicators)
4. **Signals / applications.** Use channel slope for trend, KeltnerPosition to detect extension (e.g., price > +1 ATR is extended). Keltner vs Bollinger: Keltner typically smoother, less prone to SD spikes. [tradeciety.com](https://tradeciety.com/keltner-channel-vs-bollinger-bands-one-better?utm_source=chatgpt.com)
5. **Strengths & reliability.** Often less noisy than Bollinger bands; ATR-based width is intuitive for stops.
6. **Best practices.** If combining with Bollinger: a “Bollinger inside Keltner” squeeze is sometimes used as an early breakout signal (Bollinger width contracting inside Keltner).
* * *
MovingAverageConvergenceDivergence (MACD)
-----------------------------------------
1. **Definition.** Difference between two EMAs (fast & slow). A signal line (EMA of MACD) and histogram (MACD signal) are used. Classic default: 12/26/9. [NautilusTrader](https://nautilustrader.io/docs/latest/api_reference/indicators)[Investopedia](https://www.investopedia.com/ask/answers/122414/what-moving-average-convergence-divergence-macd-formula-and-how-it-calculated.asp?utm_source=chatgpt.com)
2. **Formula.** `MACD = EMA(price, fast) EMA(price, slow)`. `Signal = EMA(MACD, signal_period)`. `Histogram = MACD Signal`. [Investopedia](https://www.investopedia.com/ask/answers/122414/what-moving-average-convergence-divergence-macd-formula-and-how-it-calculated.asp?utm_source=chatgpt.com)
3. **Nautilus:** `MovingAverageConvergenceDivergence(fast_period, slow_period, ma_type, price_type)`. [NautilusTrader](https://nautilustrader.io/docs/latest/api_reference/indicators)
4. **Signals / applications.** Crossovers (MACD crosses signal → trade), divergence vs price (possible reversal), histogram expansion/ contraction (momentum). Works as momentum/trend confirmation. [Investopedia](https://www.investopedia.com/trading/macd/?utm_source=chatgpt.com)
5. **Strengths & reliability.** Versatile and widely used. **Weakness:** lagging; in sideways markets it whipsaws. Interpret histogram changes as potential early signs.
6. **Best practices.** Use MACD to confirm trend direction from MA/HMA and combine with volume/ATR. Use percent-based versions if comparing different-priced assets.
* * *
OnBalanceVolume (OBV)
---------------------
1. **Definition.** Cumulative volume indicator: add volume when price closes up, subtract when price closes down. Reflects buying/selling pressure. [NautilusTrader](https://nautilustrader.io/docs/latest/api_reference/indicators)[Investopedia](https://www.investopedia.com/terms/o/onbalancevolume.asp?utm_source=chatgpt.com)
2. **Formula.** `OBV_t = OBV_{t-1} + volume_t` if close\_t > close\_{t-1}; `volume_t` if close\_t < prev; unchanged if equal. [Investopedia](https://www.investopedia.com/ask/answers/121714/what-onbalance-volume-obv-formula-and-how-it-calculated.asp?utm_source=chatgpt.com)
3. **Nautilus:** `OnBalanceVolume(period=0)` where period 0 means no rolling window (cumulative). [NautilusTrader](https://nautilustrader.io/docs/latest/api_reference/indicators)
4. **Signals / applications.** Confirm price moves (price and OBV in same direction = confirmation). Divergences (price rising while OBV flat or falling) warn of weakness. Good for detecting institutional accumulation. [Investopedia](https://www.investopedia.com/articles/technical/100801.asp?utm_source=chatgpt.com)
5. **Strengths & reliability.** Simple, good for trend confirmation. **Weakness:** cumulative nature means levels depend on start date; use slope and divergence, not absolute value.
6. **Best practices.** Smooth OBV (MA) for noisy data; compare OBV trend to price trend on multiple timeframes.
* * *
Pressure
--------
1. **What Nautilus says.** Calculates the relative volume (multiple of average volume) to move the market across a relative range (multiple of ATR).” Nautilus provides API parameters (period, ma\_type, atr\_floor) but the docs dont publish exact formula. [NautilusTrader](https://nautilustrader.io/docs/latest/api_reference/indicators)
2. **Interpretation / plausible internal math.** A reasonable implementation: compute `avg_volume` (MA), compute typical price range (ATR), then `pressure = (volume / avg_volume) * (range / ATR)` or normalize so `pressure` measures how much volume is required to move price by 1\*ATR. Nautilus likely computes something equivalent; **Nautilus does not publish exact formula on the page** so treat this as inferred. [NautilusTrader](https://nautilustrader.io/docs/latest/api_reference/indicators)
3. **Signals / applications.** High pressure implies volume is sufficient to cause price extension useful to confirm breakouts or directional conviction. Use as trade filter: only take breakouts when pressure exceeds X.
4. **Best practices & validation.** Because internals arent public, validate by running sample data: correlate `Pressure` values with subsequent returns; tune thresholds via walk-forward. (I can help generate tests/code.)
* * *
RateOfChange (ROC)
------------------
1. **Definition.** Percent change in price compared to N periods ago (momentum). Nautilus allows log returns option. [NautilusTrader](https://nautilustrader.io/docs/latest/api_reference/indicators)[Investopedia](https://www.investopedia.com/terms/p/pricerateofchange.asp?utm_source=chatgpt.com)
2. **Formula.** `ROC = (price_t / price_{t-N} - 1) * 100` (or `log returns = ln(price_t/price_{t-N})` if `use_log=True`). [Investopedia](https://www.investopedia.com/terms/r/rateofchange.asp?utm_source=chatgpt.com)
3. **Signals / applications.** Centerline crossovers, divergence vs price, detect acceleration/deceleration. Works better in trending markets.
4. **Best practices.** ROC is unbounded map historical percentiles for overbought/oversold thresholds; combine with volatility normalization.
* * *
RelativeStrengthIndex (RSI)
---------------------------
1. **Definition.** Momentum oscillator (0100) measuring average gains vs average losses (Wilders RSI; standard period 14). [NautilusTrader](https://nautilustrader.io/docs/latest/api_reference/indicators)[Investopedia](https://www.investopedia.com/terms/r/rsi.asp?utm_source=chatgpt.com)
2. **Formula (Wilder):**
* Compute average gain (AG) and average loss (AL) using Wilders smoothing (first AG = SMA of gains over N, then `AG_t = (AG_{t-1}*(N1) + gain_t)/N` same for losses).
* `RS = AG / AL`. `RSI = 100 (100 / (1 + RS))`. Typical thresholds: 70/30 (overbought/oversold). [help.tc2000.com](https://help.tc2000.com/m/69404/l/747071-rsi-wilder-s-rsi?utm_source=chatgpt.com)
3. **Nautilus:** `RelativeStrengthIndex(period, ma_type)`. Nautilus supports different MA types for the internal averaging. [NautilusTrader](https://nautilustrader.io/docs/latest/api_reference/indicators)
4. **Signals / applications.** Overbought/oversold, failure swings, divergence. Works well in both trending and ranging markets with adapted thresholds. [Investopedia](https://www.investopedia.com/articles/active-trading/042114/overbought-or-oversold-use-relative-strength-index-find-out.asp?utm_source=chatgpt.com)
5. **Best practices.** Use RSI divergence with price; in strong trends, RSI can remain overbought/oversold for long periods dont use raw thresholds as sole entry. Combine with MA/HMA for trend.
* * *
SpreadAnalyzer
--------------
1. **Definition.** Analyzer for bid/ask spread metrics on quote ticks (average spread, current spread, capacity to control deque for averages). Useful for execution quality and detecting liquidity changes. [NautilusTrader](https://nautilustrader.io/docs/latest/api_reference/indicators)
2. **Signals / uses.** Monitor widening spreads as a risk signal (avoid entering/exiting), adjust slippage assumptions in strategy, detect market microstructure changes.
3. **Best practices.** Use it in live execution modules to reject fills during abnormal spreads or increase limits/slippage; log and analyze before automating changes.
* * *
Stochastics (Stochastics / Stochastic oscillator)
-------------------------------------------------
1. **Definition.** Momentum oscillator comparing close to price range over N periods (%K), with %D as smoothed %K. Values 0100. Useful for overbought/oversold and divergence. [NautilusTrader](https://nautilustrader.io/docs/latest/api_reference/indicators)[Investopedia](https://www.investopedia.com/terms/s/stochasticoscillator.asp?utm_source=chatgpt.com)
2. **Formula.** `%K = 100 * (close - lowest_low_N) / (highest_high_N - lowest_low_N)`. `%D` = SMA (or EMA) of %K over `period_d`. Defaults vary (e.g., %K period 14, %D 3). [Investopedia](https://www.investopedia.com/terms/s/stochasticoscillator.asp?utm_source=chatgpt.com)
3. **Nautilus:** `Stochastics(period_k, period_d)`. [NautilusTrader](https://nautilustrader.io/docs/latest/api_reference/indicators)
4. **Signals / applications.** %K/%D crossovers, overbought (>80)/oversold (<20), divergences with price. Works best in range markets. [Investopedia](https://www.investopedia.com/ask/answers/06/daytradingstochastic.asp?utm_source=chatgpt.com)
5. **Best practices.** Smooth %K (slow stochastic) to reduce noise; use with trend filter; watch for persistent extremes in strong trends.
* * *
Swings
------
1. **Definition (Nautilus).** Swing indicator that tracks swing highs/lows, direction, duration, since\_high/low, etc. Useful for swing counting and structure identification. Nautilus stores swing high/low prices, datetimes, direction, and related metrics. [NautilusTrader](https://nautilustrader.io/docs/latest/api_reference/indicators)
2. **Uses.** Structure detection (higher highs / higher lows), set stops around swing highs/lows, confirm trend changes when swing direction flips.
3. **Best practices.** Use swing outputs to define logical stop targets (e.g., stop below last swing low) and trade only with the swing direction when appropriate.
* * *
VolatilityRatio
---------------
1. **Definition (Nautilus).** Ratio of different ranges of volatility likely `fast_ATR / slow_ATR` (Nautilus supports ma\_type choices). Measures relative change in volatility regimes. [NautilusTrader](https://nautilustrader.io/docs/latest/api_reference/indicators)
2. **Signals / applications.** A rising VolatilityRatio signals accelerating volatility (breakouts, regime change); falling ratio indicates calm. Use as filter to widen/narrow stops or alter position sizing.
3. **Best practices.** Validate exact formula with data from Nautilus (run the indicator and compute correlation to fastATR/slowATR yourself) before relying on thresholds.
* * *
VolumeWeightedAveragePrice (VWAP)
---------------------------------
1. **Definition.** VWAP = cumulative (typical\_price × volume) / cumulative volume intraday benchmark; resets daily. Used as execution benchmark and intraday value reference. [NautilusTrader](https://nautilustrader.io/docs/latest/api_reference/indicators)[Investopedia](https://www.investopedia.com/terms/v/vwap.asp?utm_source=chatgpt.com)
2. **Nautilus:** `VolumeWeightedAveragePrice()`. Nautilus takes per-trade price+volume+timestamp to produce VWAP. [NautilusTrader](https://nautilustrader.io/docs/latest/api_reference/indicators)
3. **Signals / applications.** Institutional execution (buy below VWAP, sell above VWAP), intraday mean reversion or trend filter, use VWAP slope as a short-term trend. [Investopedia](https://www.investopedia.com/ask/answers/031115/what-common-strategy-traders-implement-when-using-volume-weighted-average-price-vwap.asp?utm_source=chatgpt.com)
4. **Best practices.** VWAP is intraday (resets each session), so dont use it for multi-day trend filtering unless you compute MVWAP / multi-day VWAP variants.
* * *
FuzzyCandle & FuzzyCandlesticks
-------------------------------
1. **What Nautilus says.** `FuzzyCandlesticks` produces fuzzy (discrete) candle representations (direction, size, body\_size, wick sizes) based on thresholds; `FuzzyCandle` is the container. Nautilus provides thresholds and period but does not publish the exact membership functions. [NautilusTrader](https://nautilustrader.io/docs/latest/api_reference/indicators)
2. **Interpretation & plausible implementation.** Fuzzy set membership: define thresholds (threshold1..4) mapping raw numeric values (range, body ratio, wick size) into linguistic classes (small, medium, large). The indicator returns categorical labels or integer vectors. This is a dimensionality reduction step thats useful for pattern mining and ML feature engineering.
3. **Signals / applications.** Convert raw bars into features for ML/Rule systems (e.g., large bullish candle with long upper wick candidate reversal pattern). Good for automated pattern matching and fuzzy pattern recognition.
4. **Best practices / caution.** Because Nautilus doesnt document exact membership functions, **validate** by output inspection, run unit tests on known bars, and tune thresholds to your instrument/timeframe. If you need, I can generate code to compute fuzzy vectors and run a simple frequency analysis on your data.
* * *
Fuzzy summary (indicators where Nautilus doesnt fully publish exact maths)
---------------------------------------------------------------------------
* **Pressure** concept documented; exact formula not published. [NautilusTrader](https://nautilustrader.io/docs/latest/api_reference/indicators)
* **VolatilityRatio** described conceptually (fast vs slow ATR) but exact weighting/normalization not stated. [NautilusTrader](https://nautilustrader.io/docs/latest/api_reference/indicators)
* **FuzzyCandlesticks / FuzzyCandle** thresholds and meaning listed, but membership function specifics are not shown. [NautilusTrader](https://nautilustrader.io/docs/latest/api_reference/indicators)
**Actionable recommendation:** For any of the above, treat Nautilus outputs as _black-box signals_ until you validate their numeric behavior on historical ticks/bars. I can produce diagnostic code to reproduce and validate formulas (correlate Nautilus output with your own calculated metrics) do you want that now?
* * *
Pressure testing & validating indicators (how to get max predictability without fooling yourself)
---------------------------------------------------------------------------------------------------
* **Dont optimize blindly.** Use **walk-forward optimization** (WFO) and hold out true out-of-sample windows. Overfitting to past noise is the #1 killer of profitable indicator backtests. [blog.quantinsti.com](https://blog.quantinsti.com/walk-forward-optimization-introduction/?utm_source=chatgpt.com)[Investopedia](https://www.investopedia.com/articles/trading/10/backtesting-walkforward-important-correlation.asp?utm_source=chatgpt.com)
* **Use regime detection.** First classify market state (trend vs range using VolatilityRatio / ER / HMA slope). Then route signals to different strategy branches (trend follower vs mean reverter). This drastically increases stability. [Quantified Strategies](https://www.quantifiedstrategies.com/adaptive-moving-average/?utm_source=chatgpt.com)
* **Combine orthogonal signals.** Momentum + volume + volatility filters (e.g., MACD + OBV + ATR) reduce false positives because signals must agree on different market aspects. Invest in feature orthogonality. [Investopedia](https://www.investopedia.com/articles/active-trading/102314/top-technical-indicators-commodities-investing.asp?utm_source=chatgpt.com)
* **Sanity check indicator internals.** For Nautilus indicators that are underspecified on the docs (Pressure, VolatilityRatio, FuzzyCandles), compute your own equivalent and compare; only automate decisions after you understand edge cases. [NautilusTrader](https://nautilustrader.io/docs/latest/api_reference/indicators)
* **Robust risk controls.** Use ATR-based dynamic stops and volatility-adjusted position sizing (e.g., fixed % risk per trade, position sized inversely to ATR). Research supports ATR as a good volatility proxy for stops/position sizing. [IG](https://www.ig.com/en/trading-strategies/what-is-the-average-true-range--atr--indicator-and-how-do-you-tr-240905?utm_source=chatgpt.com)[Investopedia](https://www.investopedia.com/articles/trading/09/determine-position-size.asp?utm_source=chatgpt.com)
* * *
Quick cheat-sheet: typical default periods & pairings
-----------------------------------------------------
* **Moving averages:** EMA(8)/EMA(21) for short trend; EMA(12)/EMA(26) classic MACD pair. (Nautilus supports all types). [NautilusTrader](https://nautilustrader.io/docs/latest/api_reference/indicators)[Investopedia](https://www.investopedia.com/ask/answers/122414/what-moving-average-convergence-divergence-macd-formula-and-how-it-calculated.asp?utm_source=chatgpt.com)
* **Bollinger:** (20,2) pair with volume or VWAP to confirm breakouts. [Investopedia](https://www.investopedia.com/terms/b/bollingerbands.asp?utm_source=chatgpt.com)
* **ATR:** 14 use for stops (1.53×ATR depending timeframe). [Investopedia](https://www.investopedia.com/terms/a/atr.asp?utm_source=chatgpt.com)
* **RSI:** 14, thresholds 70/30 (raise/lower in trending regimes). [Investopedia](https://www.investopedia.com/terms/r/rsi.asp?utm_source=chatgpt.com)
* **Stochastics:** %K=14, %D=3; better in ranges. [Investopedia](https://www.investopedia.com/terms/s/stochasticoscillator.asp?utm_source=chatgpt.com)
* **VWAP:** intraday only; use as intraday value and execution benchmark. [Investopedia](https://www.investopedia.com/terms/v/vwap.asp?utm_source=chatgpt.com)
* * *
Practical recipe to increase real-world predictability (step-by-step)
---------------------------------------------------------------------
1. **Pick a narrow objective** (e.g., intraday mean reversion on EURUSD 5m or daily trend following on SPX). Different indicators excel in different markets/timeframes.
2. **Regime filter:** build a regime detector (VolatilityRatio or ER + HMA slope). Split your backtest into regime buckets. [Quantified Strategies](https://www.quantifiedstrategies.com/adaptive-moving-average/?utm_source=chatgpt.com)
3. **Signal stack:** require 23 orthogonal confirmations (e.g., price > HMA AND MACD > 0 AND Pressure > threshold). Dont rely on single indicator cross.
4. **Risk sizing:** size by ATR — normalize risk across regimes. Limit per-trade risk to e.g., 0.52% of equity. [Investopedia](https://www.investopedia.com/articles/trading/09/determine-position-size.asp?utm_source=chatgpt.com)
5. **Robust validation:** use walk-forward (WFO), multiple assets, bootstrap resampling of returns, and annualized Sharpe/MaxDrawdown checks. [blog.quantinsti.com](https://blog.quantinsti.com/walk-forward-optimization-introduction/?utm_source=chatgpt.com)
6. **Live small:** paper trade or trade with small sizes and monitor forward correlation with backtest. Adjust only with evidence, not curve fits.
* * *
Gaps I found in Nautilus docs (and how to resolve them)
-------------------------------------------------------
* Nautilus documents **what** many specialized indicators are intended to compute but often omits precise formula in the docs for: `Pressure`, `VolatilityRatio`, `FuzzyCandlesticks` (membership functions), and exact normalization used in `KeltnerPosition`. The page gives API parameters, but not line-by-line math. [NautilusTrader](https://nautilustrader.io/docs/latest/api_reference/indicators)
**Recommendation:** run controlled unit tests (feed synthetic bars/ticks) and compare Nautilus outputs to hand-computed equivalents to reverse-engineer exact behavior — I can write the test scripts for you (samples + assertions). This is mandatory before using black-box indicators in production.
* * *
Summary / TL;DR (practical takeaway)
------------------------------------
* Nautilus implements a broad, well-known set of indicators (moving averages: SMA/EMA/WMA/HMA/KAMA, volatility: ATR/Bollinger/Keltner, momentum: RSI/MACD/ROC/Stochastics, volume: VWAP/OBV, structure: Donchian/Swings, analyzers: SpreadAnalyzer/Pressure/VolatilityRatio, plus fuzzy feature extractor). [NautilusTrader](https://nautilustrader.io/docs/latest/api_reference/indicators)
* For **predictability and profit**: dont chase a single “best” indicator. Instead: detect regime → require orthogonal confirmation → use volatility-adjusted sizing and ATR stops → validate with walk-forward & out-of-sample tests. [blog.quantinsti.com](https://blog.quantinsti.com/walk-forward-optimization-introduction/?utm_source=chatgpt.com)[Investopedia](https://www.investopedia.com/articles/trading/10/backtesting-walkforward-important-correlation.asp?utm_source=chatgpt.com)
* Nautilus provides convenient pre-built implementations but for a few indicators you must validate internals (Pressure, VolatilityRatio, FuzzyCandles) before automating trades. [NautilusTrader](https://nautilustrader.io/docs/latest/api_reference/indicators)
* * *
If you want I can **immediately** (pick one) — Ill do it right now in this session (no waiting):
* (A) Produce runnable Python backtest code that uses a selection of Nautilus indicators (e.g., HMA + ATR + MACD) on historical bars you provide (or synthetic sample), or
* (B) Generate diagnostic tests that reverse-engineer Nautiluss `Pressure` / `VolatilityRatio` / `FuzzyCandlesticks` by comparing Nautilus output to hand-computed metrics on the same data, or
* (C) Produce a compact rulebook / pseudocode for a system (entry/exit, sizing, risk) using any subset of the indicators above, plus expected performance metrics to test for.
Tell me **A, B, or C** and which instrument/timeframe (or say “Ill use sample data”) and Ill produce working code or the rulebook right away. (If youd rather I pick a sensible default — say daily SPX or 5-minute EURUSD — I can pick one and run with it.)
---
Powered by [ChatGPT Exporter](https://www.chatgptexporter.com)