1
+ import time
2
+
1
3
from binance .exceptions import BinanceAPIException , BinanceOrderException
2
4
from retrying import retry
3
5
@@ -45,10 +47,11 @@ class FXConnector(Logger):
45
47
ORDER_RESP_TYPE_RESULT = 'RESULT'
46
48
ORDER_RESP_TYPE_FULL = 'FULL'
47
49
48
- def __init__ (self , key = None , secret = None ):
50
+ def __init__ (self , key = None , secret = None , simulation = False ):
49
51
super ().__init__ ()
50
52
self .__key = key
51
53
self .__secret = secret
54
+ self ._simulation = simulation
52
55
self ._client = None #Client(key, secret)
53
56
self .bs : BinanceWebsocket = None
54
57
@@ -59,10 +62,17 @@ def __init__(self, key=None, secret=None):
59
62
@property
60
63
def client (self ):
61
64
if not self ._client :
62
- self ._client = Client (self .__key , self .__secret )
65
+ self ._client = Client (self .__key , self .__secret , testnet = self ._simulation )
66
+ self .test_connectivity ()
63
67
64
68
return self ._client
65
69
70
+
71
+ def test_connectivity (self ):
72
+ res = self .get_server_time ()
73
+ self .client .timestamp_offset = res ['serverTime' ] - int (time .time () * 1000 )
74
+
75
+
66
76
def listen_symbols (self , symbols , on_ticker_received , user_data_handler ):
67
77
self .bs = BinanceWebsocket (self .client )
68
78
self .bs .start_ticker (symbols , on_ticker_received )
@@ -180,16 +190,16 @@ def create_stop_order(self, sym, side, stop_price, price, volume):
180
190
stopPrice = FXConnector .format_number (stop_price ),
181
191
price = FXConnector .format_number (price ))
182
192
183
- # @retry(stop_max_attempt_number=MAX_ATTEMPTS, wait_fixed=DELAY)
184
- def create_test_stop_order (self , sym , side , price , volume ):
185
- return self .client .create_test_order (
186
- symbol = sym ,
187
- side = side ,
188
- type = FXConnector .ORDER_TYPE_STOP_LOSS_LIMIT ,
189
- timeInForce = FXConnector .TIME_IN_FORCE_GTC ,
190
- quantity = FXConnector .format_number (volume ),
191
- stopPrice = FXConnector .format_number (price ),
192
- price = FXConnector .format_number (price ))
193
+ # # @retry(stop_max_attempt_number=MAX_ATTEMPTS, wait_fixed=DELAY)
194
+ # def create_test_stop_order(self, sym, side, price, volume):
195
+ # return self.client.create_test_order(
196
+ # symbol=sym,
197
+ # side=side,
198
+ # type=FXConnector.ORDER_TYPE_STOP_LOSS_LIMIT,
199
+ # timeInForce=FXConnector.TIME_IN_FORCE_GTC,
200
+ # quantity=FXConnector.format_number(volume),
201
+ # stopPrice=FXConnector.format_number(price),
202
+ # price=FXConnector.format_number(price))
193
203
194
204
@retry (** DEFAULT_RETRY_SETTINGS )
195
205
def get_balance (self , asset ):
0 commit comments