⚝
One Hat Cyber Team
⚝
Your IP:
216.73.216.1
Server IP:
185.238.29.86
Server:
Linux server2 6.8.12-6-pve #1 SMP PREEMPT_DYNAMIC PMX 6.8.12-6 (2024-12-19T19:05Z) x86_64
Server Software:
nginx/1.18.0
PHP Version:
8.1.31
Buat File
|
Buat Folder
Eksekusi
Dir :
~
/
home
/
python
/
yeni
/
Edit File: tpkontrol.py
import argparse import json from binance.client import Client from binance.enums import * from binance.um_futures import UMFutures import redis from requests.exceptions import ConnectTimeout from binance.exceptions import BinanceAPIException import time from datetime import datetime, timedelta import pymysql parser = argparse.ArgumentParser() parser.add_argument("-symbol", help="Sembol Giriniz") args = parser.parse_args() symbol=args.symbol r=redis.Redis() def create_futures_client(): if r.hexists("ayarlar", "binanceapikey") and r.hexists("ayarlar", "binancesecretkey"): return Client(r.hget("ayarlar", "binanceapikey").decode("utf-8"), r.hget("ayarlar", "binancesecretkey").decode("utf-8")) def ceretae_um_futures_client(): if r.hexists("ayarlar", "binanceapikey") and r.hexists("ayarlar", "binancesecretkey"): return UMFutures(r.hget("ayarlar", "binanceapikey").decode("utf-8"), r.hget("ayarlar", "binancesecretkey").decode("utf-8")) um_futures_client = ceretae_um_futures_client() client = create_futures_client() kapanis=0 resp1 = um_futures_client.get_position_risk(symbol=symbol) long_posizyon1 = list(filter(lambda order: float(order['positionAmt']) != 0 and order["positionSide"] == "LONG", resp1)) sort_posizyon1 = list(filter(lambda order: float(order['positionAmt']) != 0 and order["positionSide"] == "SHORT", resp1)) yon2="LONG" if not sort_posizyon1 else "SHORT" dataX = r.hget("symbols", symbol) if dataX: dataX = json.loads(dataX) kapanis=float(dataX["L_roi"]) if yon2=="LONG" else float(dataX['S_roi']) highroi=0 def kapat(client,data): order_long = client.futures_create_order( symbol=symbol, side="SELL" if yon2=="LONG" else "BUY", positionSide=yon2, quantity=float(data['L_positionAmt']) if yon2=="LONG" else float(data['S_positionAmt'])*-1, type=Client.ORDER_TYPE_MARKET ) new_closed_date_time = datetime.now() mysql_date_time = new_closed_date_time.strftime('%Y-%m-%d %H:%M:%S') islem.execute("UPDATE `symbols` SET `closedDateTime` = %s WHERE `symbol` = %s",(mysql_date_time,symbol)) baglanti.commit() try: baglanti = pymysql.connect( host='127.0.0.1', db='newcoin', user='root', password='Ua04420076*', port=3306, charset='utf8mb4', cursorclass=pymysql.cursors.DictCursor ) with baglanti.cursor() as islem: while True: data = r.hget("symbols", symbol) if data: data = json.loads(data) if "G_roi" not in data: data["G_roi"]=0 r.hset("symbols", symbol, json.dumps(data)) else: data['G_roi']=float(data['L_roi']) - kapanis if yon2 == "LONG" else float(data['S_roi']) - kapanis try: if yon2=="LONG" and highroi < float(data['G_roi']): highroi=float(data['G_roi']) elif yon2=="SHORT" and highroi < float(data['G_roi']): highroi=float(data['G_roi']) if yon2=="LONG"and (float(data['G_roi'])<= (highroi - float(data['tp']))): kapat(client,data) elif yon2=="SHORT" and (float(data['G_roi'])<= (highroi - float(data['tp']))): kapat(client,data) except (ConnectTimeout, ConnectionError, TimeoutError, BinanceAPIException) as e: print(f"Hata oluştu: {e}") client = create_futures_client() um_futures_client = ceretae_um_futures_client() except Exception as e: print(f"Bilinmeyen bir hata oluştu: {e}") time.sleep(1) except KeyboardInterrupt: print("Program kapatıldı.") finally: if 'baglanti' in locals(): baglanti.close() r.close()
Simpan