Spaces:
Sleeping
Sleeping
Update app.py
Browse files
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 -
|
| 39 |
-
#
|
| 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"
|
| 49 |
-
|
| 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()
|