This project monitors Bitcoin price action on the 15-minute timeframe and sends email alerts when specific technical conditions are met.
The tracker sends an alert when ALL of the following conditions are met:
- Price crosses above the 20 EMA
- Price is above the 50 MA
- Price is above the 200 MA
- Current volume is above the 20-period average volume
- Stochastic oscillator's K line is above D line (bullish)
- RSI Stochastic's K line is above D line (bullish)
-
Clone this repository
-
Set up your GitHub repository secrets:
SENDGRID_API_KEY
: Your SendGrid API keyFROM_EMAIL
: Verified sender email address in SendGridTO_EMAIL
: Email address where you want to receive alerts
-
Enable GitHub Actions in your repository settings
.
βββ .github
β βββ workflows
β βββ bitcoin_tracker.yml
βββ src
β βββ bitcoin_tracker.py
βββ requirements.txt
βββ README.md
βββ .gitignore
βββ setup.sh
bitcoin_tracker.py
: Main script that fetches data and processes technical indicatorsbitcoin_tracker.yml
: GitHub Actions workflow configurationrequirements.txt
: Python dependenciessetup.sh
: Setup script to create project structure.gitignore
: Specifies which files Git should ignore
- Python 3.11+
- Required Python packages (installed automatically):
- requests==2.31.0
- pandas==2.1.4
- numpy==1.26.2
- sendgrid==6.10.0
- python-dotenv==1.0.0
While this project is designed to run as a GitHub Action, you can test it locally:
- Create a
.env
file with your credentials:
SENDGRID_API_KEY=your_api_key
FROM_EMAIL=your_verified_sender@email.com
TO_EMAIL=your_recipient@email.com
- Install dependencies:
pip install -r requirements.txt
- Run the script:
python src/bitcoin_tracker.py
- Fork the repository
- Create your feature branch (
git checkout -b feature/AmazingFeature
) - Commit your changes (
git commit -m 'Add some AmazingFeature'
) - Push to the branch (
git push origin feature/AmazingFeature
) - Open a Pull Request
This project is licensed under the MIT License - see the LICENSE file for details.
This tool is for informational purposes only. It is not financial advice, and the signals it generates should not be used as the sole basis for trading decisions.