# xdiff1, xdiff2,
                            # xlogdiff1, xlogdiff2,
                          ))
                    )

if run_type == 0:
    print('Loading Data...')

    train_data = np.genfromtxt(file_x, delimiter=';')
    target_data = np.genfromtxt(file_y, delimiter=';')

    # train_data, target_data = train_data[-limit:,], target_data[-limit:]

    data_x = prepare_data(train_data)
    shape_x = data_x.shape
    data_y = signal_to_class(target_data, n=nclasses, normalize=normalize_class)
    # data_x, data_y = create_timeseries_matrix(train_data, data_y, ts_lookback)

    # batch_input_shape=(batch_size, timesteps, units)
    # data_x = np.reshape(data_x, (shape_x[0], ts_lookback, shape_x[1]))

    # For training validation
    train_x, test_x, train_y, test_y = train_test_split(data_x, data_y, test_size=train_test)
    
    print('Input data shape :', data_x.shape)
    print('Train/Test :', len(train_y), '/', len(test_y))


#=============================================================================#
#       P R E P A R E   M O D E L                                             #
#=============================================================================#
                            # data[:, 17:19], data[:, 19]-50, # atr, cci, rsi
                            # data[:, 20:22], # usd and eur indexes
                          ))
                    )


print('Loading Data...')

train_data = np.genfromtxt(file_x, delimiter=',')
# target_data = np.genfromtxt(file_y, delimiter=';')

# train_data, target_data = train_data[-limit:,], target_data[-limit:]
# data_x = prepare_data(train_data)
data_x, data_y = train_data[:, :-1], train_data[:, -1]
shape_x = data_x.shape
data_y = signal_to_class(data_y, n=nclasses)
# data_x, data_y = create_timeseries_matrix(data_x, data_y, ts_lookback)

# batch_input_shape=(batch_size, timesteps, units)
# data_x = np.reshape(data_x, (data_x.shape[0], 1, shape_x[1]))

# For training validation
train_x, test_x, train_y, test_y = train_test_split(data_x, data_y, test_size=train_test)
train_x1, train_x2 = np.column_stack((train_x[:, 1:4], train_x[:, 5],
                                train_x[:, 7], train_x[:, 10:16], train_x[:, 24])), \
                     np.column_stack((train_x[:, 4], train_x[:, 6],
                                train_x[:, 8:10], train_x[:, 16:24]))
test_x1, test_x2 = np.column_stack((test_x[:, 1:4], test_x[:, 5],
                                test_x[:, 7], test_x[:, 10:16], test_x[:, 24])), \
                     np.column_stack((test_x[:, 4], test_x[:, 6],
                                test_x[:, 8:10], test_x[:, 16:24]))