DCAv2/profits/per_exchange.py

102 lines
3.8 KiB
Python
Executable File

import os, sys, json
total = 0
try:
month = sys.argv[1]
year = sys.argv[2]
except Exception as e:
print ("Wrong syntax. 'python3 per_exchange.py MM YY'")
print(e)
sys.exit()
binance_filename = f"binance{year}{month}.csv"
kucoin_filename = f"kucoin{year}{month}.csv"
okex_filename = f"okex{year}{month}.csv"
gateio_filename = f"gateio{year}{month}.csv"
with open(binance_filename,"w") as binance:
pass
with open(kucoin_filename,"w") as binance:
pass
with open(okex_filename,"w") as binance:
pass
with open(gateio_filename,"w") as binance:
pass
#hitbtc_filename = f"hitbtc{year}{month}.csv"
#poloniex_filename = f"poloniex{year}{month}.csv"
with open("../configs/binance.json") as r:
binance_config = json.load(r)
with open("../configs/kucoin.json") as r:
kucoin_config = json.load(r)
with open("../configs/okex.json") as r:
okex_config = json.load(r)
with open("../configs/gateio.json") as r:
gateio_config = json.load(r)
#with open("../configs/hitbtc.json") as r:
# hitbtc_config = json.load(r)
#with open("../configs/poloniex.json") as r:
# poloniex_config = json.load(r)
binance_sum = 0
kucoin_sum = 0
gateio_sum = 0
okex_sum = 0
for archivo in os.listdir():
if archivo.endswith(".profits"):
with open(archivo, "r") as csvfile:
for x in csvfile:
date,amount,_ = x.split(",")
if date[:4]==year and date[5:7]==month:
total += float(amount)
pair = archivo.split(".")[0]
if total!=0:
if pair in binance_config["pairs"]:
binance_sum+=total
with open(binance_filename,"a") as binance:
binance.write(f"{pair},{round(total,2)}\n")
elif pair in kucoin_config["pairs"]:
with open(kucoin_filename,"a") as kucoin:
kucoin.write(f"{pair},{round(total,2)}\n")
kucoin_sum+=total
elif pair in okex_config["pairs"]:
with open(okex_filename,"a") as okex:
okex.write(f"{pair},{round(total,2)}\n")
okex_sum+=total
elif pair in gateio_config["pairs"]:
with open(gateio_filename,"a") as gateio:
gateio.write(f"{pair},{round(total,2)}\n")
gateio_sum+=total
total = 0
#print("Totals:")
total_sum = binance_sum+gateio_sum+kucoin_sum+okex_sum
print("===========================")
print(f"Binance: {round(binance_sum,2)} USDT ({round(binance_sum/total_sum*100,2)}%)")
print(f"Gate.io: {round(gateio_sum,2)} USDT ({round(gateio_sum/total_sum*100,2)}%)")
print(f"KuCoin: {round(kucoin_sum,2)} USDT ({round(kucoin_sum/total_sum*100,2)}%)")
print(f"OKX: {round(okex_sum,2)} USDT ({round(okex_sum/total_sum*100,2)}%)")
print("===========================")
try:
if sys.argv[3]=="--withdrawals":
print("With Gate.io:")
total_to_withdraw = 1200
print(f"Binance: {int(total_to_withdraw*binance_sum/total_sum)} USDT")
print(f"Gate.io: {int(total_to_withdraw*gateio_sum/total_sum)} USDT")
print(f"KuCoin: {int(total_to_withdraw*kucoin_sum/total_sum)} USDT")
print(f"OKX: {int(total_to_withdraw*okex_sum/total_sum)} USDT")
print("===========================")
print("Without Gate.io:")
partial_sum = binance_sum+kucoin_sum+okex_sum
total_to_withdraw = 1200
print(f"Binance: {int(total_to_withdraw*binance_sum/partial_sum)} USDT")
print(f"KuCoin: {int(total_to_withdraw*kucoin_sum/partial_sum)} USDT")
print(f"OKX: {int(total_to_withdraw*okex_sum/partial_sum)} USDT")
print("===========================")
except Exception as e:
pass #prograem