omniverse1 commited on
Commit
93d1cfe
·
verified ·
1 Parent(s): acb6221

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +10 -15
app.py CHANGED
@@ -17,7 +17,6 @@ trading_logic = TradingLogic()
17
  def create_chart_analysis(ticker, interval):
18
  """Create chart with technical indicators and predictions"""
19
  try:
20
- # Panggil fungsi data yang sudah diperbarui
21
  df = data_processor.get_market_data(ticker, interval)
22
  if df.empty:
23
  return "No data available", None
@@ -63,7 +62,6 @@ def create_chart_analysis(ticker, interval):
63
  "Volume": f"{df['Volume'].iloc[-1]:,.0f}"
64
  }
65
 
66
- # FIX: Hanya mengembalikan 2 output untuk Chart Analysis
67
  return chart_html, metrics
68
 
69
  except Exception as e:
@@ -71,18 +69,16 @@ def create_chart_analysis(ticker, interval):
71
 
72
  def analyze_sentiment(ticker):
73
  """Analyze gold/crypto market sentiment"""
74
- sentiment_score = np.random.uniform(-0.5, 0.5)
75
 
76
- # Mock news summary
77
- news_html = "<div style='max-height: 200px; overflow-y: auto; color: black;'>"
78
- news_html += f"<h4 style='color: #FFD700;'>Latest {ticker} News (Mock)</h4>"
79
- news_html += "</div>"
80
-
81
  fig = go.Figure(go.Indicator(
82
  mode="gauge+number+delta",
83
  value=sentiment_score,
84
  domain={'x': [0, 1], 'y': [0, 1]},
85
- title={'text': f"{ticker} Market Sentiment (Mocked)"},
86
  delta={'reference': 0},
87
  gauge={
88
  'axis': {'range': [-1, 1]},
@@ -108,7 +104,7 @@ def analyze_sentiment(ticker):
108
  font=dict(color='black')
109
  )
110
 
111
- return fig, news_html
112
 
113
  def get_fundamentals(ticker):
114
  """Get fundamental analysis data"""
@@ -200,9 +196,10 @@ with gr.Blocks(
200
  label="Market Ticker",
201
  info="Select asset for analysis"
202
  )
 
203
  interval_dropdown = gr.Dropdown(
204
  choices=[
205
- "1d", "1wk", "1mo", "3mo"
206
  ],
207
  value="1d",
208
  label="Time Interval",
@@ -236,15 +233,13 @@ with gr.Blocks(
236
  def update_all(ticker, interval):
237
  # FIX: create_chart_analysis sekarang hanya mengembalikan 2 output
238
  chart, metrics = create_chart_analysis(ticker, interval)
239
- sentiment_gauge, news_display = analyze_sentiment(ticker)
 
240
  fund_gauge, fund_table = get_fundamentals(ticker)
241
 
242
  # Total 5 outputs Gradio components
243
  return chart, metrics, sentiment_gauge, news_display, fund_gauge, fund_table
244
 
245
- # OUTPUTS: chart_html, metrics_output, sentiment_gauge, news_display, fundamentals_gauge, fundamentals_table
246
-
247
- # FIX: Menghapus output pred_plot (diganti dengan None) dan menyesuaikan list outputs
248
  refresh_btn.click(
249
  fn=update_all,
250
  inputs=[ticker_dropdown, interval_dropdown],
 
17
  def create_chart_analysis(ticker, interval):
18
  """Create chart with technical indicators and predictions"""
19
  try:
 
20
  df = data_processor.get_market_data(ticker, interval)
21
  if df.empty:
22
  return "No data available", None
 
62
  "Volume": f"{df['Volume'].iloc[-1]:,.0f}"
63
  }
64
 
 
65
  return chart_html, metrics
66
 
67
  except Exception as e:
 
69
 
70
  def analyze_sentiment(ticker):
71
  """Analyze gold/crypto market sentiment"""
 
72
 
73
+ # KOREKSI: Panggil fungsi yang diperbarui dan kirim ticker
74
+ sentiment_score, news_summary = sentiment_analyzer.analyze_market_sentiment(ticker)
75
+
76
+ # Gunakan template terang untuk Plotly
 
77
  fig = go.Figure(go.Indicator(
78
  mode="gauge+number+delta",
79
  value=sentiment_score,
80
  domain={'x': [0, 1], 'y': [0, 1]},
81
+ title={'text': f"{ticker} Market Sentiment (Simulated)"},
82
  delta={'reference': 0},
83
  gauge={
84
  'axis': {'range': [-1, 1]},
 
104
  font=dict(color='black')
105
  )
106
 
107
+ return fig, news_summary
108
 
109
  def get_fundamentals(ticker):
110
  """Get fundamental analysis data"""
 
196
  label="Market Ticker",
197
  info="Select asset for analysis"
198
  )
199
+ # KOREKSI: Mengembalikan semua opsi interval waktu
200
  interval_dropdown = gr.Dropdown(
201
  choices=[
202
+ "5m", "15m", "30m", "1h", "4h", "1d", "1wk", "1mo", "3mo"
203
  ],
204
  value="1d",
205
  label="Time Interval",
 
233
  def update_all(ticker, interval):
234
  # FIX: create_chart_analysis sekarang hanya mengembalikan 2 output
235
  chart, metrics = create_chart_analysis(ticker, interval)
236
+ # FIX: Panggil fungsi yang sudah diperbarui dan kirim ticker
237
+ sentiment_gauge, news_display = analyze_sentiment(ticker)
238
  fund_gauge, fund_table = get_fundamentals(ticker)
239
 
240
  # Total 5 outputs Gradio components
241
  return chart, metrics, sentiment_gauge, news_display, fund_gauge, fund_table
242
 
 
 
 
243
  refresh_btn.click(
244
  fn=update_all,
245
  inputs=[ticker_dropdown, interval_dropdown],