Files
v2realbot/testy/testExecList-bisect.py
David Brazda af9e944928 first commit
2023-04-12 21:00:03 +02:00

233 lines
10 KiB
Python

"""
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)