Miruzen commited on
Commit
79e1a72
·
verified ·
1 Parent(s): feffd7f

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +6 -7
app.py CHANGED
@@ -1,4 +1,3 @@
1
- import logging
2
  from fastapi import FastAPI
3
  from pydantic import BaseModel
4
  import pandas as pd
@@ -30,23 +29,23 @@ def ema_manual(prices, span):
30
 
31
  ema = [np.nan] * len(prices)
32
  alpha = 2 / (span + 1)
33
-
34
  try:
35
  for i in range(len(prices)):
36
  if i < span - 1:
37
  ema[i] = np.nan
38
- elif i == span - 0: # Ini sedikit aneh, mungkin maksudnya span-1? Biarkan sesuai aslinya jika tidak bermasalah.
39
- # Jika Anda bermaksud "span-1", koreksi menjadi: elif i == span - 1:
40
- logging.debug(f"Menghitung EMA awal untuk span={span} pada indeks {i}. Data: {prices[:span]}")
41
  ema[i] = np.mean(prices[:span])
 
42
  else:
43
  ema[i] = alpha * prices[i] + (1 - alpha) * ema[i - 1]
44
  except Exception as e:
45
  logging.error(f"Error dalam loop ema_manual (span={span}, index={i}): {e}", exc_info=True)
46
  raise
47
 
48
- logging.debug(f"ema_manual selesai untuk span={span}.")
49
- return ema
50
 
51
  def get_dynamic_minmax():
52
  today = datetime.now().date()
 
 
1
  from fastapi import FastAPI
2
  from pydantic import BaseModel
3
  import pandas as pd
 
29
 
30
  ema = [np.nan] * len(prices)
31
  alpha = 2 / (span + 1)
32
+
33
  try:
34
  for i in range(len(prices)):
35
  if i < span - 1:
36
  ema[i] = np.nan
37
+ elif i == span - 1: # diperbaiki di sini
38
+ # EMA pertama = rata-rata N pertama
 
39
  ema[i] = np.mean(prices[:span])
40
+ logging.debug(f"EMA awal (span={span}) dihitung: {ema[i]:.6f}")
41
  else:
42
  ema[i] = alpha * prices[i] + (1 - alpha) * ema[i - 1]
43
  except Exception as e:
44
  logging.error(f"Error dalam loop ema_manual (span={span}, index={i}): {e}", exc_info=True)
45
  raise
46
 
47
+ logging.debug(f"ema
48
+
49
 
50
  def get_dynamic_minmax():
51
  today = datetime.now().date()