import datos import pandas as pd from datetime import datetime # Datos para descargar precios OA_In = [ 'EUR_USD', 'USD_JPY', 'EUR_JPY', 'AUD_USD', 'GBP_USD', 'USD_CHF', 'AUD_JPY', 'EUR_AUD', 'EUR_GBP', 'GBP_JPY', 'USD_CAD', 'AUD_CAD', 'EUR_CAD', 'GBP_AUD', 'USD_HKD', 'GBP_HKD', 'CAD_HKD', 'USD_MXN' ] # Instrumentos OA_Gn = "H4" # Granularidad de velas fini = pd.to_datetime("2019-10-01 00:00:00").tz_localize( 'GMT') # Fecha inicial ffin = pd.to_datetime( datetime.now().strftime('%Y-%m-%d %H:%M:%S')).tz_localize( 'GMT') # Fecha final for ticker in OA_In: # Descargar precios masivos df_pe = fn.f_precios_masivos(p0_fini=fini, p1_ffin=ffin, p2_gran=OA_Gn, p3_inst=ticker, p4_oatk=datos.token, p5_ginc=4900) # Calcular bandas de bollinger df_pe = fn.Bollinger_Bands(df=df_pe, window=20, ticker=ticker) fn.accion(df_pe, ticker) #Funcion para tomar decision
import funciones as fn # Para procesamiento de datos import visualizaciones as vs # Para visualizacion de datos import pandas as pd # Procesamiento de datos from datos import OA_Ak # Importar token para API de OANDA # -- --------------------------------------------------------- Descargar precios de OANDA -- # # token de OANDA OA_In = "EUR_USD" # Instrumento OA_Gn = "D" # Granularidad de velas fini = pd.to_datetime("2019-07-06 00:00:00").tz_localize('GMT') # Fecha inicial ffin = pd.to_datetime("2019-12-06 00:00:00").tz_localize('GMT') # Fecha final # Descargar precios masivos df_pe = fn.f_precios_masivos(p0_fini=fini, p1_ffin=ffin, p2_gran=OA_Gn, p3_inst=OA_In, p4_oatk=OA_Ak, p5_ginc=4900) # -- --------------------------------------------------------------- Graficar OHLC plotly -- # vs_grafica1 = vs.g_velas(p0_de=df_pe.iloc[0:120, :]) vs_grafica1.show() # -- ------------------------------------------------------------------- Conteno de velas -- # # multiplicador de precios pip_mult = 10000 # -- 0A.1: Hora df_pe['hora'] = [df_pe['TimeStamp'][i].hour for i in range(0, len(df_pe['TimeStamp']))] # -- 0A.2: Dia de la semana.
time_delta = pd.to_timedelta('00:31:00') granularity = 'M1' instrument = "EUR_USD" oatk = '107596e9d65c' + '1bbc9175953d917140' + '12-f975c6201dddad03ac1592232c0ea0ea' try: # Si tenemos los datos ya descargados, los importamos. datos_instrumento = pickle.load(open('precios.sav', 'rb')) except: # Si no tenemos los datos descargados, los descargamos y los guardamos. print( 'no se pudo cargar archivos de pickle, se descargarán todos nuevamente.' ) datos_instrumento = { i: fn.f_precios_masivos(i, i + time_delta, granularity, instrument, oatk, p5_ginc=4900) for i in datos.datetime } pickle.dump(datos_instrumento, open('precios.sav', 'wb')) # Claisificar las ocurrencias según parámetros; Actual, Consensys, Previous clasificacion = fn.f_clasificacion_ocurrencia(datos) #print(clasificacion) # DataFrame de escenarios. df_escenarios = fn.f_df_escenarios(datos_instrumento, clasificacion) df_escenarios[df_escenarios.escenario == 'A'] #print(df_escenarios)