1
1
import asyncio
2
- from pytr .utils import preview
3
2
from datetime import datetime
4
3
4
+ from pytr .utils import preview , get_logger
5
5
6
6
class Alarms :
7
7
def __init__ (self , tr ):
8
8
self .tr = tr
9
+ self .log = get_logger (__name__ )
9
10
10
11
async def alarms_loop (self ):
11
12
recv = 0
@@ -38,9 +39,14 @@ async def ticker_loop(self):
38
39
return
39
40
40
41
def overview (self ):
41
- print ('ISIN status created target diff% createdAt triggeredAT' )
42
+ print ('ISIN status created target diff% createdAt triggeredAT' )
43
+ self .log .debug (f"Processing { len (self .alarms )} alarms" )
44
+
42
45
for a in self .alarms : # sorted(positions, key=lambda x: x['netValue'], reverse=True):
46
+ self .log .debug (f" Processing { a } alarm" )
43
47
ts = int (a ['createdAt' ]) / 1000.0
48
+ target_price = float (a ['targetPrice' ])
49
+ created_price = float (a ['createdPrice' ])
44
50
created = datetime .fromtimestamp (ts ).isoformat (sep = ' ' , timespec = 'minutes' )
45
51
if a ['triggeredAt' ] is None :
46
52
triggered = '-'
@@ -51,11 +57,11 @@ def overview(self):
51
57
if a ['createdPrice' ] == 0 :
52
58
diffP = 0.0
53
59
else :
54
- diffP = (a [ 'targetPrice' ] / a [ 'createdPrice' ] ) * 100 - 100
60
+ diffP = (target_price / created_price ) * 100 - 100
55
61
56
62
print (
57
- f"{ a ['instrumentId' ]} { a ['status' ]} { a [ 'createdPrice' ] :>7.2f} { a [ 'targetPrice' ] :>7.2f} "
58
- + f'{ diffP :>5.1f} { created } { triggered } '
63
+ f"{ a ['instrumentId' ]} { a ['status' ]} { created_price :>7.2f} { target_price :>7.2f} "
64
+ + f'{ diffP :>5.1f} % { created } { triggered } '
59
65
)
60
66
61
67
def get (self ):
0 commit comments