""" Zjistovani ceny z listu tradu pomocí bisect left """ from datetime import datetime from bisect import bisect_left btdata = [(1679081913.290388, 27.8634), (1679081913.68588, 27.865), (1679081913.986394, 27.86), (1679081914.095521, 27.865), (1679081914.396844, 27.8601), (1679081914.601457, 27.865), (1679081914.721968, 27.86), (1679081914.739287, 27.86), (1679081914.739305, 27.865), (1679081914.739314, 27.865), (1679081914.73941, 27.865), (1679081914.739554, 27.86), (1679081914.739569, 27.86), (1679081914.739572, 27.86), (1679081914.739635, 27.86), (1679081914.739644, 27.86), (1679081914.739771, 27.86), (1679081914.74, 27.865), (1679081914.74048, 27.865), (1679081914.740531, 27.865), (1679081914.740691, 27.865), (1679081914.746943, 27.865), (1679081914.779766, 27.86), (1679081914.779769, 27.86), (1679081914.779901, 27.86), (1679081914.779904, 27.865), (1679081914.77991, 27.865), (1679081914.780006, 27.865), (1679081914.780388, 27.865), (1679081914.780415, 27.865), (1679081914.79638, 27.86), (1679081914.79638, 27.86), (1679081914.796383, 27.865), (1679081914.796498, 27.865), (1679081914.796901, 27.865), (1679081914.816074, 27.865), (1679081914.942793, 27.865), (1679081915.424626, 27.8625), (1679081915.863117, 27.865), (1679081915.863255, 27.8675), (1679081915.870084, 27.865), (1679081915.877677, 27.865), (1679081916.015251, 27.865), (1679081916.018716, 27.865), (1679081916.494838, 27.8656), (1679081916.827929, 27.868), (1679081916.870675, 27.8636), (1679081917.140228, 27.87), (1679081917.140763, 27.87), (1679081917.150359, 27.865), (1679081917.753467, 27.865), (1679081917.853001, 27.865), (1679081918.012672, 27.865), (1679081918.736837, 27.865), (1679081918.737011, 27.865), (1679081918.737177, 27.87), (1679081918.742472, 27.87), (1679081918.743335, 27.87), (1679081918.868673, 27.8699), (1679081919.01883, 27.87), (1679081919.018832, 27.87), (1679081919.018835, 27.87), (1679081919.018839, 27.87), (1679081919.018839, 27.87), (1679081919.018857, 27.87), (1679081919.018905, 27.87), (1679081919.018911, 27.87), (1679081919.018911, 27.87), (1679081919.018914, 27.87), (1679081919.018914, 27.87), (1679081919.01892, 27.87), (1679081919.01892, 27.87), (1679081919.018923, 27.87), (1679081919.018929, 27.87), (1679081919.018932, 27.87), (1679081919.018938, 27.87), (1679081919.018941, 27.87), (1679081919.018947, 27.87), (1679081919.01895, 27.87), (1679081919.018956, 27.87), (1679081919.018968, 27.87), (1679081919.018986, 27.87), (1679081919.019074, 27.87), (1679081919.019077, 27.87), (1679081919.019077, 27.87), (1679081919.019079, 27.87), (1679081919.019082, 27.87), (1679081919.019082, 27.87), (1679081919.019095, 27.87), (1679081919.019095, 27.87), (1679081919.0191, 27.87), (1679081919.019103, 27.87), (1679081919.019106, 27.87), (1679081919.019109, 27.87), (1679081919.019112, 27.87), (1679081919.019112, 27.87), (1679081919.019124, 27.87), (1679081919.019127, 27.87), (1679081919.019133, 27.87), (1679081919.019139, 27.87), (1679081919.019323, 27.87), (1679081919.019323, 27.87), (1679081919.019323, 27.87), (1679081919.019323, 27.87), (1679081919.019326, 27.87), (1679081919.019326, 27.87), (1679081919.019936, 27.87), (1679081919.019978, 27.87), (1679081919.020189, 27.87), (1679081919.020264, 27.87), (1679081919.020312, 27.87), (1679081919.020628, 27.87), (1679081919.025445, 27.87), (1679081919.02565, 27.87), (1679081919.066583, 27.87), (1679081919.066953, 27.87), (1679081919.067248, 27.87), (1679081919.067398, 27.875), (1679081919.067672, 27.875), (1679081919.067939, 27.875), (1679081919.067975, 27.875), (1679081919.071849, 27.875), (1679081919.157709, 27.875), (1679081919.184806, 27.875), (1679081919.301574, 27.87), (1679081919.381201, 27.88), (1679081919.381204, 27.88), (1679081919.381237, 27.88), (1679081919.381264, 27.875), (1679081919.381643, 27.88), (1679081919.381649, 27.88), (1679081919.381676, 27.88), (1679081919.381685, 27.88), (1679081919.381697, 27.88), (1679081919.381706, 27.88), (1679081919.381718, 27.88), (1679081919.395142, 27.875), (1679081919.469476, 27.88), (1679081919.570886, 27.88), (1679081919.690577, 27.875), (1679081920.168907, 27.878)] ### # 1679081919.381264 # 1679081919.381643 # 1679081919.381649 #orizneme pole index_start = None index_end = None range_start = 1679081914.73941 range_end = 1679081917.150359 print("range_start",range_start) print("range_end",range_end) a= datetime.now().timestamp() print("start 1.varianta", a) # for i in range(len(btdata)): # print(btdata[i][0]) # print(i) # if btdata[i][0] <= range_start: index_start = i # if btdata[i][0] >= range_end: # index_end = i # break print("index_start", index_start) print("index_end", index_end) print("oriznuto",btdata[index_start:index_end+1]) new_range =btdata[index_start:index_end+1] #LIMIT FILL - BUY submitted_at: float = 1679081914.739644 limit_price: float = 27.865 fill_time = None bisect_left(submitted_at + 0.020,) for i in new_range: #print(i) ##najde prvni nejvetsi čas vetsi nez minfill a majici ## pro LIMITku uděláme nějaký spešl BT_DELAY.LIMIT_OFFSET, aby se nevyplnilo hned jako prvni s touto cenou ## tzn. o kolik se prumerne vyplni limitka pozdeji if float(i[0]) > float(float(submitted_at) + float(0.020)) and i[1] <= limit_price: #(1679081919.381649, 27.88) print(i) fill_time = i[0] print("FILL LIMIT BUY at", fill_time, "at",i[1]) break if not fill_time: print("NO FILL for ", limit_price) #LIMIT FILL - SELL for i in new_range: #print(i) ##najde prvni nejvetsi čas vetsi nez minfill a majici ## pro LIMITku uděláme nějaký spešl BT_DELAY.LIMIT_OFFSET, aby se nevyplnilo hned jako prvni s touto cenou ## tzn. o kolik se prumerne vyplni limitka pozdeji if float(i[0]) > float(float(submitted_at) + float(0.020)) and i[1] >= limit_price: #(1679081919.381649, 27.88) print(i) fill_time = i[0] print("FILL LIMIT SELL at", fill_time, "at",i[1]) break if not fill_time: print("NO FILL for ", limit_price) #MARKET FILL BUY/SELL: for i in new_range: #print(i) #najde prvni nejvetsi čas vetsi nez minfill if i[0] > submitted_at + 0.020: #(1679081919.381649, 27.88) print(i) print("FILL MARKET at", i[0], "cena", i[1]) break b= datetime.now().timestamp() print("stop 1.varianta", b) print("rozdil", b-a) #0.0006699562072753906 #0.0007920265197753906 # (1679081913.290388, 27.8634) # (1679081913.68588, 27.865) # (1679081913.986394, 27.86) # (1679081914.095521, 27.865) # (1679081914.396844, 27.8601) # (1679081914.601457, 27.865) # (1679081914.721968, 27.86) # (1679081914.739287, 27.86) # (1679081914.739305, 27.865) # (1679081914.739314, 27.865) # (1679081914.73941, 27.865)* # (1679081914.739554, 27.86) # (1679081914.739569, 27.86) # (1679081914.739572, 27.86) # (1679081914.739635, 27.86) # (1679081914.739644, 27.86)submit # (1679081914.739771, 27.86) # (1679081914.74, 27.865) # (1679081914.74048, 27.865) # (1679081914.740531, 27.865) # (1679081914.740691, 27.865) # (1679081914.746943, 27.865) # (1679081914.779766, 27.86) # (1679081914.779769, 27.86) # (1679081914.779901, 27.86) # (1679081914.779904, 27.865) # (1679081914.77991, 27.865) # (1679081914.780006, 27.865) # (1679081914.780388, 27.865) # (1679081914.780415, 27.865) # (1679081914.79638, 27.86) # (1679081914.79638, 27.86) # (1679081914.796383, 27.865) # (1679081914.796498, 27.865) # (1679081914.796901, 27.865) # (1679081914.816074, 27.865) # (1679081914.942793, 27.865) # (1679081915.424626, 27.8625) # (1679081915.863117, 27.865) # (1679081915.863255, 27.8675) # (1679081915.870084, 27.865) # (1679081915.877677, 27.865) # (1679081916.015251, 27.865) # (1679081916.018716, 27.865) # (1679081916.494838, 27.8656) # (1679081916.827929, 27.868) # (1679081916.870675, 27.8636) # (1679081917.140228, 27.87) # (1679081917.140763, 27.87) # (1679081917.150359, 27.865)end # (1679081917.753467, 27.865) # (1679081917.853001, 27.865) # (1679081918.012672, 27.865) # (1679081918.736837, 27.865) # (1679081918.737011, 27.865) # (1679081918.737177, 27.87) # (1679081918.742472, 27.87) # (1679081918.743335, 27.87) # (1679081918.868673, 27.8699) # (1679081919.01883, 27.87) # (1679081919.018832, 27.87) # (1679081919.018835, 27.87) # (1679081919.018839, 27.87) # (1679081919.018839, 27.87) # (1679081919.018857, 27.87) # (1679081919.018905, 27.87) # (1679081919.018911, 27.87) # (1679081919.018911, 27.87) # (1679081919.018914, 27.87) # (1679081919.018914, 27.87) # (1679081919.01892, 27.87) # (1679081919.01892, 27.87) # (1679081919.018923, 27.87) # (1679081919.018929, 27.87) # (1679081919.018932, 27.87) # (1679081919.018938, 27.87) # (1679081919.018941, 27.87) # (1679081919.018947, 27.87) # (1679081919.01895, 27.87) # (1679081919.018956, 27.87) # (1679081919.018968, 27.87) # (1679081919.018986, 27.87) # (1679081919.019074, 27.87) # (1679081919.019077, 27.87) # (1679081919.019077, 27.87) # (1679081919.019079, 27.87) # (1679081919.019082, 27.87) # (1679081919.019082, 27.87) # (1679081919.019095, 27.87) # (1679081919.019095, 27.87) # (1679081919.0191, 27.87) # (1679081919.019103, 27.87) # (1679081919.019106, 27.87) # (1679081919.019109, 27.87) # (1679081919.019112, 27.87) # (1679081919.019112, 27.87) # (1679081919.019124, 27.87) # (1679081919.019127, 27.87) # (1679081919.019133, 27.87) # (1679081919.019139, 27.87) # (1679081919.019323, 27.87) # (1679081919.019323, 27.87) # (1679081919.019323, 27.87) # (1679081919.019323, 27.87) # (1679081919.019326, 27.87) # (1679081919.019326, 27.87) # (1679081919.019936, 27.87) # (1679081919.019978, 27.87) # (1679081919.020189, 27.87) # (1679081919.020264, 27.87) # (1679081919.020312, 27.87) # (1679081919.020628, 27.87) # (1679081919.025445, 27.87) # (1679081919.02565, 27.87) # (1679081919.066583, 27.87) # (1679081919.066953, 27.87) # (1679081919.067248, 27.87) # (1679081919.067398, 27.875) # (1679081919.067672, 27.875) # (1679081919.067939, 27.875) # (1679081919.067975, 27.875) # (1679081919.071849, 27.875) # (1679081919.157709, 27.875) # (1679081919.184806, 27.875) # (1679081919.301574, 27.87) # (1679081919.381201, 27.88) # (1679081919.381204, 27.88) # (1679081919.381237, 27.88) # (1679081919.381264, 27.875) # (1679081919.381643, 27.88) # (1679081919.381649, 27.88) # (1679081919.381676, 27.88) # (1679081919.381685, 27.88) # (1679081919.381697, 27.88) # (1679081919.381706, 27.88) # (1679081919.381718, 27.88) # (1679081919.395142, 27.875) # (1679081919.469476, 27.88) # (1679081919.570886, 27.88) # (1679081919.690577, 27.875) # (1679081920.168907, 27.878)