| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354 |
- import time
- import requests
- from binance.client import Client
- # Binance API credentials
- api_key = 'YOUR_BINANCE_API_KEY'
- api_secret = 'YOUR_BINANCE_API_SECRET'
- # Initialize Binance client
- client = Client(api_key, api_secret)
- # Define the threshold for disparity (e.g., 0.05 for 5%)
- DISPARITY_THRESHOLD = 0.05
- # Function to fetch current prices of BTC and ETH
- def get_prices():
- btc_price = float(client.get_symbol_ticker(symbol='BTCUSDT')['price'])
- eth_price = float(client.get_symbol_ticker(symbol='ETHUSDT')['price'])
- return btc_price, eth_price
- # Function to calculate disparity
- def calculate_disparity(btc_price, eth_price):
- parity = eth_price / btc_price
- return parity
- # Function to send alert (e.g., via webhook, email, etc.)
- def send_alert(message):
- webhook_url = 'YOUR_WEBHOOK_URL' # Replace with your webhook URL
- payload = {'text': message}
- requests.post(webhook_url, json=payload)
- print(f"Alert sent: {message}")
- # Main monitoring loop
- def monitor_disparity():
- while True:
- try:
- btc_price, eth_price = get_prices()
- parity = calculate_disparity(btc_price, eth_price)
-
- print(f"BTC Price: {btc_price}, ETH Price: {eth_price}, Parity: {parity}")
-
- if parity > (1 + DISPARITY_THRESHOLD):
- send_alert(f"ETH is overvalued compared to BTC! Parity: {parity}")
- elif parity < (1 - DISPARITY_THRESHOLD):
- send_alert(f"ETH is undervalued compared to BTC! Parity: {parity}")
-
- time.sleep(60) # Check every 60 seconds
-
- except Exception as e:
- print(f"Error: {e}")
- time.sleep(60)
- if __name__ == "__main__":
- monitor_disparity()
|