MCPcopy
hub / github.com/fabston/TradingView-Webhook-Bot

github.com/fabston/TradingView-Webhook-Bot @main sqlite

repository ↗ · DeepWiki ↗
4 symbols 29 edges 3 files 0 documented · 0%
README

<a href="https://www.python.org/downloads/release/python-380/"><img src="https://img.shields.io/badge/python-3.8-blue.svg?style=plastic" alt="Python version"></a>
<a href="https://github.com/fabston/TradingView-Webhook-Bot/blob/master/LICENSE"><img src="https://img.shields.io/github/license/fabston/TradingView-Webhook-Bot?style=plastic" alt="GitHub license"></a>
<a href="https://github.com/fabston/TradingView-Webhook-Bot/issues"><img src="https://img.shields.io/github/issues/fabston/TradingView-Webhook-Bot?style=plastic" alt="GitHub issues"></a>
<a href="https://github.com/fabston/TradingView-Webhook-Bot/pulls"><img src="https://img.shields.io/github/issues-pr/fabston/TradingView-Webhook-Bot?style=plastic" alt="GitHub pull requests"></a>

GitHub stars GitHub forks GitHub watchers

AboutFeaturesInstallationImagesHelp

About

The TradingView Webhook Bot ⚙️ listens to TradingView alerts via webhooks using flask. All alerts can be instantly sent to Telegram, Discord, Twitter and/or Email.

📊 If you are looking for an exchange to trade on, I can recommend Bybit. Sign up now and receive up to $30,000 in Deposit Rewards!

Features

  • Telegram Support using the Python Telegram libary.
  • Discord Support using webhooks.
  • Slack Support using webhooks.
  • Twitter Support using the tweepy libary.
  • Email Support using smtplib.
  • Alert channels can be enabled or disabled in config.py.
  • Dynamically send alerts to different Telegram and/or Discord channels.
  • TradingView {{close}}, {{exchange}} etc. variables support. Read more here.

Installation

⚠️ Best to run the bot on a VPS. I can recommend Hetzner's CX11 VPS for 3.79€/month. Sign up now and receive €20 free credits. 1. Clone this repository git clone https://github.com/fabston/TradingView-Webhook-Bot.git 1. Create your virtual environment python3 -m venv TradingView-Webhook-Bot 1. Activate it source TradingView-Webhook-Bot/bin/activate && cd TradingView-Webhook-Bot 1. Install all requirements pip install -r requirements.txt 1. Edit and update config.py 1. Setup TradingView alerts. An example alert message would be: json { "key": "9T2q394M92", "telegram": "-1001277977502", "discord": "789842341870960670/BFeBBrCt-w2Z9RJ2wlH6TWUjM5bJuC29aJaJ5OQv9sE6zCKY_AlOxxFwRURkgEl852s3", "slack": "T00000000/B00000000/XXXXXXXXXXXXXXXXXXXXXXXX", "msg": "Long *#{{ticker}}* at `{{close}}`" } - key is mandatory! It has to match with sec_key in config.py. It's an extra security measurement to ensure nobody else is executing your alerts - telegram, discord, slack is optional. If it is not set it will fall back to the config.py settings - msg can be anything. Markdown for Telegram and Discord is supported as well - TradingViews variables like {{close}}, {{exchange}} etc. work too. More can be found here - Your webhook url would be http://<YOUR-IP>/webhook 1. If you use a firewall be sure to open the corresponding port 1. Run the bot with python main.py 1. PM2 can help you in running the app in the background / on system boot.

Forward Port 80 to 8080 using NGINX

It is recommended to run flask on a different port like 8080. It is then necessary to forward port 80 to 8080.

  1. Install the necessary packages: sudo apt-get install nginx
  2. Edit the NGINX configuration file: sudo nano /etc/nginx/sites-enabled/tv_webhook
  3. Add the following content: ```nginx server { listen 80;

    server_name ;

    location / { proxy_pass http://127.0.0.1:8080; # Forward traffic to port 8080 proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; # Pass client's IP address proxy_set_header X-Forwarded-Proto $scheme; } } `` 1. Restart NGINXsudo service nginx restart`

Docker

  1. Clone this repository git clone https://github.com/fabston/TradingView-Webhook-Bot.git
  2. Edit and update config.py
  3. docker-compose build
  4. docker-compose up

Images

Webhook Bot

How can I help?

All kinds of contributions are welcome 🙌! The most basic way to show your support is to ⭐️ star the project, or raise 🐞 issues.


<a href="https://www.buymeacoffee.com/fabston"><img alt="Buy Me A Coffee" title="☕️" src="https://raw.githubusercontent.com/fabston/TradingView-Webhook-Bot/master/assets/bmac.png" width=200px></a>

Core symbols most depended-on inside this repo

get_timestamp
called by 3
main.py
send_alert
called by 1
handler.py
webhook
called by 0
main.py

Shape

Function 3
Route 1

Languages

Python100%

Modules by API surface

main.py3 symbols
handler.py1 symbols

Dependencies from manifests, versioned

APScheduler3.6.3 · 1×
Flask2.0.1 · 1×
Jinja23.0.1 · 1×
MarkupSafe2.0.1 · 1×
PySocks1.7.1 · 1×
Werkzeug2.0.1 · 1×
appdirs1.4.4 · 1×
black21.5b1 · 1×
cachetools4.2.2 · 1×
certifi2021.5.30 · 1×
chardet4.0.0 · 1×
click8.0.1 · 1×

For agents

$ claude mcp add TradingView-Webhook-Bot \
  -- python -m otcore.mcp_server <graph>

⬇ download graph artifact