⚝
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
/
erol
/
View File Name :
tpkontrol.py
import argparse from binance.client import Client from binance.enums import * from binance.um_futures import UMFutures 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 def ceretae_um_futures_client(ayar): return UMFutures(ayar["binanceapikey"], ayar["binancesecretkey"], base_url="https://testnet.binancefuture.com") def kapat(client, posizyon): order_long = client.new_order( symbol=symbol, side="SELL" if posizyon['positionSide'] == "LONG" else "BUY", positionSide=posizyon['positionSide'], quantity=float(posizyon['positionAmt']) if posizyon['positionSide'] == "LONG" else (float(posizyon['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 highroi=0, `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: try: islem.execute("select * from settings where id=1") ayar = islem.fetchone() baglanti.commit() um_futures_client = ceretae_um_futures_client(ayar) resp = um_futures_client.account() long_posizyon = list(filter(lambda order: float( order['positionAmt']) != 0 and order["positionSide"] == "LONG" and order['symbol'] == symbol, resp['positions'])) sort_posizyon = list(filter(lambda order: float( order['positionAmt']) != 0 and order["positionSide"] == "SHORT" and order['symbol'] == symbol, resp['positions'])) long_posizyon = long_posizyon[0] if len( long_posizyon) > 0 else long_posizyon sort_posizyon = sort_posizyon[0] if len( sort_posizyon) > 0 else sort_posizyon highroi = 0 deeproi = 0 while True: try: islem.execute( "select * from symbols where symbol=%s", symbol) data = islem.fetchone() baglanti.commit() if not sort_posizyon and highroi < float(data['L_roi']): highroi = float(data['L_roi']) elif not long_posizyon and highroi < float(data['S_roi']): highroi = float(data['S_roi']) if not sort_posizyon and (float(data['L_roi']) <= (highroi - float(data['tp']))): kapat(um_futures_client, long_posizyon) break elif not long_posizyon and (float(data['S_roi']) <= (highroi - float(data['tp']))): kapat(um_futures_client, sort_posizyon) break except (ConnectTimeout, ConnectionError, TimeoutError, BinanceAPIException) as e: print(f"Hata oluştu: {e}") um_futures_client = ceretae_um_futures_client(ayar) except Exception as e: print(f"Bilinmeyen bir hata oluştu: {e}") time.sleep(1) except Exception as e: print(f"Bilinmeyen bir hata oluştu: {e}") time.sleep(1) except KeyboardInterrupt: print("Ctrl+C'ye basıldı, program kapatılmayacak.") while True: pass finally: if 'baglanti' in locals(): baglanti.close()