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() |