df_markets.set_index("market", inplace=True) print("Processing, please wait...") ROW = 1 for market, data in df_markets.T.iteritems(): print( f"[{ROW}/{len(df_markets)}] {market} {round((ROW/len(df_markets))*100, 2)}%" ) try: if int(data["volume"]) > 0: ta = TechnicalAnalysis( api.getHistoricalData(market, GRANULARITY, None)) ta.addEMA(12) ta.addEMA(26) ta.addATR(72) df_1h = ta.getDataFrame() df_1h["ema12ltema26"] = df_1h.ema12 < df_1h.ema26 df_1h_last = df_1h.tail(1) # volatility over the last 72 hours df_markets.at[market, "atr72"] = float(df_1h_last[["atr72" ]].values[0][0]) df_markets["atr72_pcnt"] = (df_markets["atr72"] / df_markets["price"] * 100).round(2) df_markets.at[market, "buy_next"] = df_1h_last[ df_1h_last["market"] == market]["ema12ltema26"].values[0] except Exception as err:
from models.PyCryptoBot import PyCryptoBot from models.Trading import TechnicalAnalysis app = PyCryptoBot() df = app.getHistoricalData(app.getMarket(), app.getGranularity()) model = TechnicalAnalysis(df) model.addATR(14) df = model.getDataFrame() print(df)