Skip to content

omerfaruksolmaz/TradingView-Automated-Chart-Screenshot

Repository files navigation

TradingView Chart Screenshot Automation Tool

This Python tool automatically captures TradingView chart screenshots for a list of symbols and saves them locally. It supports custom timeframes, indicators, batch processing, and comes with an easy-to-use GUI.

🚀 Features

  • Read symbol list from TXT or CSV file
  • Customizable timeframes (5m, 1h, 1d, etc.)
  • Add multiple indicators (RSI, MACD, etc.)
  • Date-based folder organization
  • Detailed logging system
  • Error handling and retry mechanism
  • Batch processing for large symbol lists
  • Simple GUI with Tkinter

📋 Requirements

System Requirements

  • Python 3.7 or higher
  • Google Chrome browser
  • Stable internet connection

Python Libraries

Install all dependencies with:

pip install -r requirements.txt

Chrome WebDriver

WebDriver is automatically managed via webdriver-manager.

🛠️ Installation

  1. Clone the repository:

    git clone [your-repo-url]
    cd tradingview-scraper
  2. Install dependencies:

    pip install -r requirements.txt
  3. Create a symbol file:

    • For TXT:
      AAPL
      TSLA
      MSFT
      BTCUSD
      
    • For CSV:
      Symbol
      AAPL
      TSLA
      MSFT
      BTCUSD
      

📊 Usage

Command Line

Run the script directly:

python deneme.py

With GUI

Start the graphical interface:

python app.py

Or double-click app.bat for one-click launch on Windows.

Configuration Example

You can customize the configuration in the script:

config = TradingConfig(
    timeframe="1h",
    indicators=["RSI", "MACD", "EMA"],
    output_dir="my_screenshots",
    date_folder=True
)

Supported Timeframes

  • 1m - 1 minute
  • 5m - 5 minutes
  • 15m - 15 minutes
  • 30m - 30 minutes
  • 1h - 1 hour
  • 4h - 4 hours
  • 1d - 1 day
  • 1w - 1 week
  • 1M - 1 month

Popular Indicators

  • RSI (Relative Strength Index)
  • MACD (Moving Average Convergence Divergence)
  • EMA (Exponential Moving Average)
  • SMA (Simple Moving Average)
  • Bollinger Bands
  • Stochastic

📁 Project Structure

tradingview-scraper/
├── deneme.py                # Main script (CLI)
├── app.py                   # GUI application
├── app.bat                  # One-click launcher for Windows
├── symbols.txt              # Example symbol list
├── requirements.txt         # Python dependencies
├── README.md                # This file
├── screenshots/             # Output folder
│   └── 2025-06-27/          # Date-based subfolder
│       ├── BTCUSD_5m.png
│       └── ...
└── tradingview_scraper.log  # Log file

⚙️ Advanced Configuration

  • Custom Indicators:
    Add any indicator name as a string in the indicators list.
  • Different Chart Styles:
    Candlestick, line, area (future updates).
  • Batch Processing:
    Process large symbol lists in batches with delays.

🧑‍💻 Troubleshooting

1. WebDriver Error:
ChromeDriver executable may have wrong permissions
Solution:

chmod +x /path/to/chromedriver

2. Timeout Error:
TimeoutException: Message:
Solution:
Check your internet connection and increase wait times.

3. Chart Not Loading:
Solution:
Ensure the symbol exists on TradingView.

Log File:
Check tradingview_scraper.log for detailed error messages.

Debug Mode:
To see the browser, comment out the headless option in the code.

📝 Notes & Limitations

  • Rate Limiting:
    The tool respects TradingView's rate limits.
  • Chart Quality:
    Screenshots are taken at 1920x1080 resolution.
  • Indicator Limits:
    Free TradingView accounts have indicator limits.
  • Legal:
    For personal and educational use only.

🚨 Disclaimer

  • TradingView Terms of Service:
    Use this tool in accordance with TradingView's terms.
  • No Commercial Use:
    Not intended for commercial or investment decision-making.
  • Data Accuracy:
    Always verify data before making trading decisions.

🔄 Updates

Version 1.0

  • Basic chart screenshot automation
  • TXT/CSV symbol file support
  • Indicator addition
  • Date-based folder organization
  • GUI support

Planned Features

  • Multiple timeframes per run
  • Different chart styles
  • Email notifications
  • Database integration

🤝 Contributing

  1. Fork the repo
  2. Create a feature branch (git checkout -b feature/NewFeature)
  3. Commit your changes (git commit -am 'Add new feature')
  4. Push to your branch (git push origin feature/NewFeature)
  5. Open a Pull Request

📄 License

This project is licensed under the MIT License.

📞 Support

For questions:


⚠️ Legal Notice:
This tool is for educational and personal use only. Use in accordance with TradingView's Terms of Service.

About

TradingView Automated Chart Screenshot & Indicator Tool

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published