def relative_target_price_difference(side: str, target_price: float, current_price: float) -> float:
    """
    Returns the relative difference of current_price from target price. Negative vallue could be considered as "bad"
    difference, positive as "good".

    For "sell" order: relative_target_price_difference = (target_price / current_price) - 1
    For "buy" orders: relative_target_price_difference = (current_price / target_price) - 1

    Means that for "buy" order if the price is greater that the target price - the relative difference will be negative.
    For "sell" orders: if the price will be less than target price - the rel. difference will be negative.

    :param side: side of the order to compare
    :param target_price: the price to compare with
    :param current_price: the price which is being compared to target price

    :return: relative difference between the current_price and target_price regarding the order's side or None
    """

    result = None

    if side.lower() == "sell":
        result = (current_price / target_price) - 1
        return result

    if side.lower() == "buy":
        result = 1 - (current_price / target_price)
        return result

    raise (ValueError("Wrong side of the order {}".format(side)))