forked from zyairelai/futures-hero
-
Notifications
You must be signed in to change notification settings - Fork 0
/
check_PNL.py
47 lines (40 loc) · 1.95 KB
/
check_PNL.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
import config
import os, time
from datetime import datetime
from binance.client import Client
from termcolor import colored
# Get environment variables
api_key = os.environ.get('BINANCE_KEY')
api_secret = os.environ.get('BINANCE_SECRET')
client = Client(api_key, api_secret)
def get_timestamp():
return int(time.time() * 1000)
def midnight():
midnight = datetime.utcnow().replace(hour = 0, minute = 0, second = 0, microsecond = 0)
return int(datetime.timestamp(midnight) * 1000)
for i in range(len(config.pair)):
pair = config.pair[i]
count, overall_PNL, win, lose = 0, 0, 0, 0
trades_list = client.futures_account_trades(symbol=pair, timestamp=get_timestamp(), startTime=midnight())
position_info = client.futures_position_information(symbol=pair, timestamp=get_timestamp())[0]
markPrice = float(position_info.get('markPrice'))
positionAmt = abs(float(position_info.get('positionAmt')))
fees_in_USDT = round(((markPrice * positionAmt * 0.1) / 100), 2)
for trade in trades_list:
overall_PNL = overall_PNL + (float(trade.get('realizedPnl')) - fees_in_USDT)
if (float(trade.get('realizedPnl'))) > 0 :
count = count + 1
win = win + 1
print(str(count) + ". " + trade.get('realizedPnl'))
elif (float(trade.get('realizedPnl'))) < 0 :
count = count + 1
lose = lose + 1
print(str(count) + ". " + trade.get('realizedPnl') + " LOSER TRADE")
else: continue
print(pair)
print("TOTAL TRADES : " + str(count) + " TRADES")
print("WIN-LOSE RATIO : " + str(win) + "-" + str(lose))
if overall_PNL > 0 : print(colored("Overall PNL for today : " + str(round(overall_PNL, 2)) + " USDT", "green"))
elif overall_PNL < 0 : print(colored("Overall PNL for today : " + str(round(overall_PNL, 2)) + " USDT", "red"))
else: print("Overall PNL for today : " + str(round(overall_PNL, 2)) + " USDT")
print()