def proc_add_ohlc_avg(df, cont_vars, add_diff: bool = False, diff_col: str = "Close",
                      add_ohlc_diff: bool = False):
    """
    Adds the average of the open, high, low, and close price to the dataframe.

    Adds distance to either a given diff_col(umn) or the distance to all four ohlc prices.

    :param df: pandas data frame
    :param cont_vars: continous mete data
    :param add_diff: bool - adds difference between ohlc_avg and a specified column
    :param diff_col: specifies column for difference calculation
    :param add_ohlc_diff: adds difference to all four ohlc prices
    :return: pandas data frame
    """
    col_name = "ohlc_avg"
    df[col_name] = ((df["Open"] + df["High"] + df["Low"] + df["Close"]) / 4)
    # update meta-data 
    cont_vars.append(col_name)

    if add_diff:

        df[diff_col + "_" + col_name + "_Diff"] = df[diff_col] - df[col_name]
        cont_vars.append(diff_col + "_" + col_name + "_Diff")
        return df

    elif add_ohlc_diff:
        ohcl = ["Open", "High", "Low", "Close"]
        for c_name in ohcl:
            # Calculate distance between specified price column and the moving average
            df[c_name + "_" + col_name + "_Diff"] = df[c_name] - df[col_name]
            # update meta data
            cont_vars.append(c_name + "_" + col_name + "_Diff")
        return df

    else:
        return df