FibScout is a Python project that leverages technical indicators—specifically the Awesome Oscillator and Fibonacci retracement levels—for market trend analysis and real-time alerts in the cryptocurrency space. FibScout fetches live data using the ccxt library (specifically ccxt.gate()
), generates detailed candlestick charts with Fibonacci overlays via mplfinance, and sends alerts directly to your Telegram app through a custom bot.
- Features
- Prerequisites
- Installation
- Setup
- Usage
- Deployment on Railway
- How It Works
- Risk Disclaimer
- Resources
- Contributing
- License
- Real-Time Data Fetching: Retrieves live OHLCV data from crypto exchanges using ccxt.
- Technical Analysis: Calculates the Awesome Oscillator and dynamically computes Fibonacci retracement levels.
- Interactive Charting: Generates candlestick charts with Fibonacci horizontal lines using mplfinance and Matplotlib.
- Telegram Alert Bot: Sends real-time alerts to your Telegram chat when market conditions are met.
- Asynchronous and Scheduled Tasks: Uses multithreading and asyncio to concurrently manage data updates, strategy evaluations, and bot interactions.
- Python 3.7+
- A cryptocurrency exchange account (e.g., Gate.io via
ccxt.gate()
or similar) - A Telegram account and a bot token (from BotFather)
- Basic understanding of Python and algorithmic trading principles
-
Clone this repository:
git clone https://github.com/AlrzA2003/FibScout.git cd FibScout
-
Install the required packages:
pip install -r requirements.txt
Optional: To ensure compatibility, you may also install from a specific requirements file if provided.
-
Configuration File:
Change the information in a file namedinformation.txt
in the root directory with the following key-value pairs:symbol=BTC/USDT timeframe=4h token_id=YOUR_TELEGRAM_BOT_TOKEN
Adjust the parameters as needed.
-
Environment:
Ensure that any additional API keys or settings needed for the cryptocurrency exchange (viaccxt.gate()
) are properly configured.
After setting up, run the project with:
python FibScout.py
The script will:
- Connect to the cryptocurrency exchange and fetch market data.
- Compute technical indicators and generate candlestick charts with Fibonacci retracement levels.
- Start a Telegram bot to interact with you and send real-time alert messages when market conditions are triggered.
To deploy FibScout on Railway for free (no credit card required), follow these steps:
-
Ensure you have the
Dockerfile
andnixpacks.toml
files in your project directory. -
Create a Railway account and start a new project:
Sign up for Railway (free trial available)
-
Deploy your repository:
- Select "Deploy from GitHub".
- Choose your FibScout repository.
-
Deploy and Monitor:
- Railway will automatically build and deploy your project using the
Dockerfile
. - Monitor logs and manage the service through the Railway dashboard.
- Railway will automatically build and deploy your project using the
FibScout operates as follows:
- Data Acquisition: Fetches live OHLCV data from a crypto exchange using
ccxt.gate()
. - Technical Analysis: Computes the Awesome Oscillator and determines key Fibonacci retracement levels by analyzing recent market trends.
- Charting: Plots these levels on candlestick charts with mplfinance and Matplotlib.
- Real-Time Alerts: Sends Telegram messages with alert information when the current price moves within specific Fibonacci bands.
- Asynchronous Execution: Runs the Telegram bot (handling commands such as
/start
,/help
,/chart
,/stop
) on the main thread, while a scheduler in a background thread continuously triggers data updates and strategy evaluations.
Trading cryptocurrencies involves significant risk and is not suitable for everyone. FibScout is designed for educational and experimental purposes only. Please consider the following:
- Trading strategies based on technical indicators carry inherent risks.
- Never trade with funds you cannot afford to lose.
- The author is not responsible for any financial losses incurred using this software.
- Always test with a demo environment or paper trading before trading real funds.
The development of FibScout was guided by the following resources:
- ccxt Library – GitHub
- mplfinance – Documentation
- python-telegram-bot – Documentation
- Data Analysis with Pandas and NumPy – Various online courses and tutorials
Contributions to FibScout are welcome! Please feel free to open issues or submit pull requests with suggestions for improvements, new features, or bug fixes.
This project is licensed under the MIT License – see the LICENSE file for details.