tradingAI / crossover_agent.py
yougandar's picture
Create crossover_agent.py
dc26017 verified
from indicators import calculate_ema
class CrossoverAgent:
def run(self, df, short_window=50, long_window=200):
df = calculate_ema(df, short_window)
df = calculate_ema(df, long_window)
df = df.dropna(subset=[f"ema_{short_window}", f"ema_{long_window}"])
latest = df.iloc[-1]
prev = df.iloc[-2]
crossed_up = (
prev[f"ema_{short_window}"] < prev[f"ema_{long_window}"] and
latest[f"ema_{short_window}"] > latest[f"ema_{long_window}"]
)
crossed_down = (
prev[f"ema_{short_window}"] > prev[f"ema_{long_window}"] and
latest[f"ema_{short_window}"] < latest[f"ema_{long_window}"]
)
if crossed_up:
return {"crossover": "Bullish", "short": short_window, "long": long_window}
elif crossed_down:
return {"crossover": "Bearish", "short": short_window, "long": long_window}
else:
return {"crossover": "None", "short": short_window, "long": long_window}