Spaces:
No application file
No application file
| import gradio as gr | |
| from src.analysis.chart_processor import ChartProcessor | |
| from src.analysis.pattern_generator import PatternGenerator | |
| from src.analysis.indicator_generator import IndicatorGenerator | |
| from src.analysis.chart_analyzer import ChartAnalyzer | |
| from src.data.market_data import MarketData | |
| def analyze_full_chart(chart_image, symbol): | |
| market_data = MarketData() | |
| historical_data = market_data.fetch_ohlcv(symbol) | |
| pattern_gen = PatternGenerator() | |
| pattern_images = pattern_gen.generate_all_patterns(chart_image, historical_data) | |
| indicator_gen = IndicatorGenerator() | |
| indicator_charts = indicator_gen.generate_all_indicators(historical_data) | |
| analyzer = ChartAnalyzer() | |
| analysis_results = analyzer.analyze_full( | |
| chart_image=chart_image, | |
| pattern_images=pattern_images, | |
| indicator_charts=indicator_charts, | |
| historical_data=historical_data | |
| ) | |
| return { | |
| 'pattern_analysis': analysis_results.patterns, | |
| 'indicator_analysis': analysis_results.indicators, | |
| 'predictions': analysis_results.predictions, | |
| 'interactive_charts': indicator_charts | |
| } | |
| interface = gr.Interface( | |
| fn=analyze_full_chart, | |
| inputs=[ | |
| gr.Image(type="pil", label="Chart Image"), | |
| gr.Textbox(label="Symbol") | |
| ], | |
| outputs=[ | |
| gr.Gallery(label="Pattern Overlays"), | |
| gr.Gallery(label="Indicator Charts"), | |
| gr.JSON(label="Analysis Results"), | |
| gr.Plot(label="Interactive Indicators") | |
| ] | |
| ) | |
| interface.launch() |