Trading Signal Notifier is a Docker-based tool that sends notifications when predefined trading conditions are met. It supports multi-timeframe and multi-asset signaling, with plans for multi-strategy and multi-platform support. Ideal for manual traders seeking timely alerts across various platforms.
- Multi-Timeframe Support: Monitor trading signals across different timeframes.
- Multi-Asset Support: Receive notifications for multiple financial assets.
- Future Development: Plans include support for multiple trading strategies and data sources.
- Stragegy
- Docker
- Telegram Bot and Channel
Use the following template to create your strategy:
class StrategyConfirm(Protocol):
def strategy_confirm(self, df: pd.DataFrame) -> Tuple[bool, str]: ...
- input: a dataframe containing historical data
- output: a tuple containing a boolean indicating whether the signal is confirmed and a string containing the signal message
There is a sample for this class to notify alligator trading strategy named AlligatorStrategyConfirm
which implements the strategy_confirm
method.
- Clone the repository:
git clone https://github.com/Finance-Insight-Lab/trading-signal-notifier.git
- Navigate to the project directory:
cd trading-signal-notifier
- Build the Docker image:
docker-compose build
- Start the Docker container:
docker-compose up -d
- To stop the container:
docker-compose down
You have to make a telegram bot from BotFather. Then make a channel and make that bot an admin of your channel (with message sending permissions).
The program uses environment variables for configuration. You can set these variables by creating a .env
file in the project directory app/.env
with the following values (like .envsample
):
BOT_TOKEN
: Your Bot Telegram API keyCHANNEL_ID
: The name of the Telegram channel to send notifications toCURRENCIES_LIST
: List of currencies to check for your setupsTIME_FRAMES
: List of time frames to check for your setups
Sample messages and images are sent to this Telegram channel. Please feel free to join the channel to stay updated on the signals.
To contribute code, submit a pull request:
- Create a new branch for your changes
- Follow the existing code style and conventions
- Write clear commit messages and include any necessary documentation or tests