chart-analyzer / app.py
tmmdev's picture
Upload 13 files
e42e5e9 verified
raw
history blame
1.59 kB
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()