Spaces:
No application file
No application file
File size: 1,591 Bytes
e8528c4 e42e5e9 e8528c4 e42e5e9 e8528c4 e42e5e9 e8528c4 e42e5e9 e8528c4 e42e5e9 e8528c4 e42e5e9 e8528c4 e42e5e9 |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 |
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() |