DynamicPeriodPublic

This library provides tools for adaptive period determination, useful for creating indicators or strategies that automatically adjust to market conditions.
Overview
The Dynamic Period Library calculates adaptive periods based on pivot points, enabling the creation of responsive indicators and strategies that adjust to market volatility.
Key Features
- Dynamic Periods: Computes periods using distances between pivot highs and lows.
- Customizable Parameters: Users can adjust detection settings and period constraints.
- Robust Handling: Includes fallback mechanisms for cases with insufficient pivot data.
Use Cases
- Adaptive Indicators: Build tools that respond to market volatility by adjusting their periods dynamically.
- Dynamic Strategies: Enhance trading strategies by integrating pivot-based period adjustments.
Function: `dynamic_period`
Description
Calculates a dynamic period based on the average distances between pivot highs and lows.
Parameters
- `left` (default: 5): Number of left-hand bars for pivot detection.
- `right` (default: 5): Number of right-hand bars for pivot detection.
- `numPivots` (default: 5): Minimum pivots required for calculation.
- `minPeriod` (default: 2): Minimum allowed period.
- `maxPeriod` (default: 50): Maximum allowed period.
- `defaultPeriod` (default: 14): Fallback period if no pivots are found.
Returns
A dynamic period calculated based on pivot distances, constrained by `minPeriod` and `maxPeriod`.
Example
import CrimsonVault/DynamicPeriodPublic/1
left = input.int(5, "Left bars", minval = 1)
right = input.int(5, "Right bars", minval = 1)
numPivots = input.int(5, "Number of Pivots", minval = 2)
period = DynamicPeriodPublic.dynamic_period(left, right, numPivots)
plot(period, title = "Dynamic Period", color = color.blue)
Implementation Notes
- Pivot Detection: Requires sufficient historical data to identify pivots accurately.
- Edge Cases: Ensures a default period is applied when pivots are insufficient.
- Constraints: Limits period values to a user-defined range for stability.
Updated:
dynamic_period(left, right, numPivots, minPeriod, maxPeriod, defaultPeriod, high, low)
Parameters:
left (int): Number of left bars for pivot detection
right (int): Number of right bars for pivot detection
numPivots (int): Minimum number of pivots to calculate average distance
minPeriod (int): Minimum allowed period
maxPeriod (int): Maximum allowed period
defaultPeriod (int): Default period if no pivots are found
high (float): Source for low values
low (float): Source for high values
Returns: Calculated dynamic period
Libreria Pine
In pieno spirito TradingView, l'autore ha pubblicato questo codice Pine come libreria open-source in modo che altri programmatori Pine della nostra comunità possano riutilizzarlo. Complimenti all'autore! È possibile utilizzare questa libreria privatamente o in altre pubblicazioni open-source, ma il riutilizzo di questo codice in una pubblicazione è regolato dal nostro Regolamento.
Declinazione di responsabilità
Libreria Pine
In pieno spirito TradingView, l'autore ha pubblicato questo codice Pine come libreria open-source in modo che altri programmatori Pine della nostra comunità possano riutilizzarlo. Complimenti all'autore! È possibile utilizzare questa libreria privatamente o in altre pubblicazioni open-source, ma il riutilizzo di questo codice in una pubblicazione è regolato dal nostro Regolamento.