Pueden dejar comentarios los usuarios que hayan comprado o alquilado el producto
Jan Kahlert  
FREE BONUS: TradingView Bridge Script

This Python script receives TradingView webhook alerts and sends them to SignalForge automatically.

REQUIREMENTS:
- Python 3 (download from python.org)
- Flask library

SETUP:
1. Save the code below as "tv_bridge.py"
2. Open CMD and run: pip install flask
3. Run: python tv_bridge.py
4. The script starts on port 5000
5. In SignalForge EA: set "Enable file-based signals" = true

LOCAL TESTING:
Open a second CMD window and run:
curl -X POST http://localhost:5000/signal -d "Buy XAUUSD 4750 SL:4720 TP:4800"

The EA should place the trade within 1 second.

TRADINGVIEW WEBHOOK SETUP:
1. Install ngrok (free): https://ngrok.com
2. Run: ngrok http 5000
3. Copy the https://...ngrok.io URL
4. In TradingView: Create Alert → check "Webhook URL"
5. URL: https://YOUR-NGROK-URL/signal
6. Alert message example: Buy {{ticker}} {{close}} SL:{{plot_0}} TP:{{plot_1}}

ALTERNATIVE: You can also route TradingView alerts through Telegram — SignalForge reads them automatically without any Python script.

===== CODE: tv_bridge.py =====

from flask import Flask, request
import os
import time
from datetime import datetime

app = Flask(__name__)

COMMON_FOLDER = os.path.join(os.environ.get('APPDATA', ''), 'MetaQuotes', 'Terminal', 'Common', 'Files', 'SignalForge')
SIGNAL_FILE = os.path.join(COMMON_FOLDER, 'signals.txt')
PORT = 5000

os.makedirs(COMMON_FOLDER, exist_ok=True)
print(f"SignalForge TV Bridge running on port {PORT}")
print(f"Signal file: {SIGNAL_FILE}")
print(f"Webhook URL: http://localhost:{PORT}/signal")
print("Waiting for alerts...")

@app.route('/signal', methods=['POST'])
def receive_signal():
    try:
        data = request.get_data(as_text=True).strip()
        if not data or len(data) < 3:
            return "empty", 400
        timestamp = datetime.now().strftime('%H:%M:%S')
        print(f"[{timestamp}] Received: {data}")
        with open(SIGNAL_FILE, 'w', encoding='ascii', errors='replace') as f:
            f.write(data + '\n')
        print(f"[{timestamp}] Written to signals.txt")
        return "ok", 200
    except Exception as e:
        print(f"Error: {e}")
        return f"error: {e}", 500

@app.route('/health', methods=['GET'])
def health():
    return "running", 200

if __name__ == '__main__':
    app.run(host='0.0.0.0', port=PORT, debug=False)

===== END OF CODE =====

Questions? Send me a message or post in the comments.