The Schism strategy is a trading strategy that uses several indicators to generate buy and sell signals. Here is a breakdown of its main components:
Indicators:
RMI-slow: Relative Moving Index with a length of 21 and a momentum of 5. RMI-fast: Relative Moving Index with a length of 8 and a momentum of 4.
ROC: Rate of Change with a time period of 6.
MP: Momentum Indicator calculated based on the ROC.
RMI-up: Binary indicator (1 or 0) indicating an upward trend in RMI-slow. RMI-dn: Binary indicator (1 or 0) indicating a downward trend in RMI-slow. RMI-up-trend: Binary indicator (1 or 0) indicating a sustained upward trend in RMI-up. RMI-dn-trend: Binary indicator (1 or 0) indicating a sustained downward trend in RMI-dn. RSI: Relative Strength Index with a time period of 14. Buy Trigger Signals:
If there is an active trade:
Calculate the profit factor based on the current RMI-slow value. Calculate the linear growth based on the trade's open minutes. Conditions for buying:
RMI-up-trend is equal to 1. Current profit is higher than the peak profit multiplied by the profit factor. RMI-slow is greater than or equal to the calculated linear growth. If there is no active trade:
Conditions for buying:
RSI of the informative pair is greater than or equal to the specified threshold. Close price is less than or equal to the 3-day low of the informative pair plus a percentage of the average daily range (ADR). RMI-dn-trend is equal to 1. RMI-slow is greater than or equal to the specified threshold. RMI-fast is less than or equal to the specified threshold. MP is less than or equal to the specified threshold. Additional conditions for buying if the stake currency is BTC or ETH:
BTC/ETH RSI is less than or equal to the specified threshold. Fiat RSI is greater than or equal to the specified threshold. Stake currency RMI of the informative timeframe is less than or equal to the specified threshold. Volume is greater than 0. Sell Trigger Signals:
If there is an active trade:
Calculate the loss cutoff based on the trade's open minutes. Conditions for selling:
Current profit is less than the loss cutoff. Current profit is greater than the specified stoploss. RMI-dn-trend is equal to 1. Volume is greater than 0. Additional conditions based on the peak profit:
If the peak profit is greater than 0, RMI-slow is less than 50. If the peak profit is less than or equal to 0, RMI-slow is less than 10. If there are other trades:
If there are free trade slots available:
Calculate the hold percentage based on the number of free slots. Conditions for selling:
Average profit of other trades is greater than or equal to the hold percentage. If there are no free trade slots available:
Conditions for selling:
The current trade is the biggest loser among all trades. If there are no active trades:
Conditions for selling:
Volume is less than 0. Additional Methods:
populate_indicators: Calculates and adds various indicators to the input dataframe. populate_buy_trend: Generates buy signals based on the calculated indicators and specified parameters. populate_sell_trend: Generates sell signals based on the calculated indicators and specified parameters. custom_trade_info: Stores trade-related information such as active trade status, profit, and open minutes. get_current_price: Retrieves the current price for a specified pair. orderbook: Retrieves the order book for a specified pair. Note: This is a simplified and concise summary of the strategy. The actual implementation may involve additional details and complexities.