stoploss = -0.03
use_exit_signal = True
startup_candle_count: int = 300
- can_short = False
+
+ @property
+ def can_short(self):
+ return self.is_short_allowed()
# def feature_engineering_expand_all(
# self, dataframe: DataFrame, period: int, metadata: dict, **kwargs
df.loc[reduce(lambda x, y: x & y, exit_short_conditions), "exit_short"] = 1
return df
+
+ def is_short_allowed(self) -> bool:
+ trading_mode = self.config.get("trading_mode")
+ if trading_mode == "futures":
+ return True
+ elif trading_mode == "spot":
+ return False
+ else:
+ raise ValueError(f"Invalid trading_mode: {trading_mode}")
y_pred_length = len(y_pred)
y_test = y_test.tail(y_test_length - (y_test_length % label_period_candles))
y_pred = y_pred[-(y_pred_length - (y_pred_length % label_period_candles)) :]
- y_test.reshape(len(y_test) // label_period_candles, label_period_candles)
- y_pred.reshape(len(y_pred) // label_period_candles, label_period_candles)
+ y_test = y_test.to_numpy().reshape(
+ len(y_test) // label_period_candles, label_period_candles
+ )
+ y_pred = y_pred.reshape(len(y_pred) // label_period_candles, label_period_candles)
error = sklearn.metrics.root_mean_squared_error(y_test, y_pred)
y_pred_length = len(y_pred)
y_test = y_test.tail(y_test_length - (y_test_length % label_period_candles))
y_pred = y_pred[-(y_pred_length - (y_pred_length % label_period_candles)) :]
- y_test.reshape(len(y_test) // label_period_candles, label_period_candles)
- y_pred.reshape(len(y_pred) // label_period_candles, label_period_candles)
+ y_test = y_test.to_numpy().reshape(
+ len(y_test) // label_period_candles, label_period_candles
+ )
+ y_pred = y_pred.reshape(len(y_pred) // label_period_candles, label_period_candles)
error = sklearn.metrics.root_mean_squared_error(y_test, y_pred)
process_only_new_candles = True
- can_short = True
+ @property
+ def can_short(self):
+ return self.is_short_allowed()
@property
def plot_config(self):