diff --git a/lib/pt_trading/trading_pair.py b/lib/pt_trading/trading_pair.py index 543719c..1ed572b 100644 --- a/lib/pt_trading/trading_pair.py +++ b/lib/pt_trading/trading_pair.py @@ -279,10 +279,12 @@ class TradingPair(ABC): # print(f"time={predicted_row['tstamp']} current_return={current_return}") # if current_return >= config["stop_close_conditions"]["profit"]: + print(f"STOP PROFIT: {current_return}") self.user_data_["stop_close_state"] = PairState.CLOSE_STOP_PROFIT return True if "loss" in config["stop_close_conditions"]: if current_return <= config["stop_close_conditions"]["loss"]: + print(f"STOP LOSS: {current_return}") self.user_data_["stop_close_state"] = PairState.CLOSE_STOP_LOSS return True return False @@ -302,9 +304,11 @@ class TradingPair(ABC): return 0.0 def _single_instrument_return(symbol: str) -> float: instrument_open_trades = open_trades[open_trades["symbol"] == symbol] - instrument_sign = -1 if instrument_open_trades["action"].iloc[0] == "SELL" else 1 + instrument_open_price = instrument_open_trades["price"].iloc[0] + + sign = -1 if instrument_open_trades["side"].iloc[0] == "SELL" else 1 instrument_price = predicted_row[f"{self.price_column_}_{symbol}"] - instrument_return = instrument_sign * (instrument_price - instrument_open_trades["price"].iloc[0]) / instrument_open_trades["price"].iloc[0] + instrument_return = sign * (instrument_price - instrument_open_price) / instrument_open_price return float(instrument_return) * 100.0 instrument_a_return = _single_instrument_return(self.symbol_a_)