Vasily.onl b49e39dcb4 Implement multi-timeframe support for indicators
- Enhanced the `UserIndicator` class to include an optional `timeframe` attribute for custom indicator timeframes.
- Updated the `get_indicator_data` method in `MarketDataIntegrator` to fetch and calculate indicators based on the specified timeframe, ensuring proper data alignment and handling.
- Modified the `ChartBuilder` to pass the correct DataFrame for plotting indicators with different timeframes.
- Added UI elements in the indicator modal for selecting timeframes, improving user experience.
- Updated relevant JSON templates to include the new `timeframe` field for all indicators.
- Refactored the `prepare_chart_data` function to ensure it returns a DataFrame with a `DatetimeIndex` for consistent calculations.

This commit enhances the flexibility and usability of the indicator system, allowing users to analyze data across various timeframes.
2025-06-06 15:06:17 +08:00

45 lines
982 B
JSON

{
"name": "MACD",
"description": "Moving Average Convergence Divergence",
"type": "macd",
"display_type": "subplot",
"timeframe": null,
"default_parameters": {
"fast_period": 12,
"slow_period": 26,
"signal_period": 9
},
"parameter_schema": {
"fast_period": {
"type": "int",
"min": 2,
"max": 50,
"default": 12,
"description": "Fast EMA period"
},
"slow_period": {
"type": "int",
"min": 5,
"max": 100,
"default": 26,
"description": "Slow EMA period"
},
"signal_period": {
"type": "int",
"min": 2,
"max": 30,
"default": 9,
"description": "Signal line period for MACD"
},
"timeframe": {
"type": "string",
"default": null,
"description": "Indicator timeframe (e.g., '1h', '4h'). Null for chart timeframe."
}
},
"default_styling": {
"color": "#fd7e14",
"line_width": 2,
"macd_line_color": "#007bff"
}
}