The Solipsis strategy is a trading strategy implemented as a class that inherits from the IStrategy class. Here is a short description of what the strategy does:
The strategy starts by populating various indicators on the provided dataframe, such as RMI (Relative Momentum Index), ROC (Rate of Change), and RSI (Relative Strength Index). It also retrieves informative data for the specified pair and calculates additional indicators based on it.
If the stake currency is BTC or ETH, it performs additional calculations and merges informative data for the stake currency and the specified fiat currency.
Next, the strategy defines conditions for generating buy signals based on the populated indicators and parameters specific to the pair.
The conditions include checks on RMI trends, momentum, and volume, as well as additional checks for stake and fiat currencies if applicable. For sell signals, the strategy defines conditions based on the current trade data and parameters specific to the pair. It checks for loss cutoff, average profit of other trades, the biggest loser, and a drop in RMI. The strategy also includes a custom stop loss implementation based on various parameters and the duration and profit of the trade. Finally, the strategy includes additional functions for trade timeout overloads, which check the order book prices to determine if a timeout has occurred. Overall, the Solipsis strategy combines various indicators, conditions, and custom implementations to generate buy and sell signals for backtesting trading strategies.