app.backbone.utils.get_data
1import pandas as pd 2import pandas_ta as pandas_ta 3import MetaTrader5 as mt5 4import MetaTrader5 as mt5 5import pandas as pd 6 7import random 8random.seed(42) 9 10def get_data( 11 ticker, 12 timeframe, 13 date_from, 14 date_to, 15 save_in=None 16 ): 17 18 print("MetaTrader5 package author: ", mt5.__author__) 19 print("MetaTrader5 package version: ", mt5.__version__) 20 21 # Establecer conexión con el terminal de MetaTrader 5 22 if not mt5.initialize(): 23 raise Exception("initialize() failed, error code =", mt5.last_error()) 24 25 rates = mt5.copy_rates_range(ticker, timeframe, date_from, date_to) 26 27 if rates is None or len(rates) == 0: 28 return pd.DataFrame() 29 30 prices_df = pd.DataFrame(rates) 31 32 # Convertir el tiempo de segundos a formato datetime 33 prices_df['time'] = pd.to_datetime(prices_df['time'], unit='s') 34 35 # Renombrar columnas para el ticker principal 36 prices_df = prices_df.rename(columns={ 37 'time': 'Date', 38 'open': 'Open', 39 'high': 'High', 40 'low': 'Low', 41 'close': 'Close', 42 'tick_volume': 'Volume' 43 }).set_index('Date') 44 45 prices_df.index = prices_df.index.tz_localize('UTC').tz_convert('UTC') 46 47 return prices_df
def
get_data(ticker, timeframe, date_from, date_to, save_in=None):
11def get_data( 12 ticker, 13 timeframe, 14 date_from, 15 date_to, 16 save_in=None 17 ): 18 19 print("MetaTrader5 package author: ", mt5.__author__) 20 print("MetaTrader5 package version: ", mt5.__version__) 21 22 # Establecer conexión con el terminal de MetaTrader 5 23 if not mt5.initialize(): 24 raise Exception("initialize() failed, error code =", mt5.last_error()) 25 26 rates = mt5.copy_rates_range(ticker, timeframe, date_from, date_to) 27 28 if rates is None or len(rates) == 0: 29 return pd.DataFrame() 30 31 prices_df = pd.DataFrame(rates) 32 33 # Convertir el tiempo de segundos a formato datetime 34 prices_df['time'] = pd.to_datetime(prices_df['time'], unit='s') 35 36 # Renombrar columnas para el ticker principal 37 prices_df = prices_df.rename(columns={ 38 'time': 'Date', 39 'open': 'Open', 40 'high': 'High', 41 'low': 'Low', 42 'close': 'Close', 43 'tick_volume': 'Volume' 44 }).set_index('Date') 45 46 prices_df.index = prices_df.index.tz_localize('UTC').tz_convert('UTC') 47 48 return prices_df