first commit
This commit is contained in:
354
testy/testExecList-standard.py
Normal file
354
testy/testExecList-standard.py
Normal file
@ -0,0 +1,354 @@
|
||||
"""
|
||||
standardni pristup zjistovani ceny z listu tradu
|
||||
"""
|
||||
|
||||
from datetime import datetime
|
||||
import timeit
|
||||
|
||||
|
||||
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)]
|
||||
|
||||
|
||||
from bisect import bisect_left
|
||||
|
||||
def get_last_price(time: float, symbol: str = None):
|
||||
"""""
|
||||
returns equity price in timestamp. Used for validations later.
|
||||
TODO: optimalize
|
||||
"""""
|
||||
for i in range(len(btdata)):
|
||||
#print(btdata[i][0])
|
||||
#print(i)
|
||||
if btdata[i][0] >= time:
|
||||
break
|
||||
return btdata[i-1]
|
||||
|
||||
def take_closest(myList, myNumber):
|
||||
"""
|
||||
Assumes myList is sorted. Returns first lower value to the number.
|
||||
"""
|
||||
pos = bisect_left(myList, (myNumber,))
|
||||
if pos == 0:
|
||||
return myList[0]
|
||||
# if pos == len(myList):
|
||||
# return myList[-1]
|
||||
after, afterPrice = myList[pos-1]
|
||||
return after,afterPrice
|
||||
|
||||
print("bisect price")
|
||||
print(take_closest(btdata, 1679081913.986395))
|
||||
print("stamdard price")
|
||||
print(get_last_price(1679081913.986395))
|
||||
|
||||
#(1679081919.018929, 27.87), (1679081919.018932, 27.87), (1679081919.018938, 27.87),
|
||||
|
||||
# def looper(cislo, btdata):
|
||||
# for i in range(len(btdata)):
|
||||
# #print(btdata[i][0])
|
||||
# #print(i)
|
||||
# if btdata[i][0] >= cislo:
|
||||
# index_end = i
|
||||
# break
|
||||
# return btdata[i]
|
||||
|
||||
# setup = '''
|
||||
|
||||
# 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)]
|
||||
|
||||
|
||||
# from bisect import bisect_left
|
||||
|
||||
# def take_closest(myList, myNumber):
|
||||
# """
|
||||
# Assumes myList is sorted. Returns closest value to myNumber.
|
||||
|
||||
# If two numbers are equally close, return the smallest number.
|
||||
# """
|
||||
# pos = bisect_left(myList, (myNumber,))
|
||||
# if pos == 0:
|
||||
# return myList[0]
|
||||
# if pos == len(myList):
|
||||
# return myList[-1]
|
||||
# after, afterPrice = myList[pos]
|
||||
# return after,afterPrice
|
||||
# # before, beforePrice = myList[pos - 1]
|
||||
# # if after - myNumber < myNumber - before:
|
||||
# # return after,afterPrice
|
||||
# # else:
|
||||
# # return before,beforePrice
|
||||
|
||||
# #(1679081919.018929, 27.87), (1679081919.018932, 27.87), (1679081919.018938, 27.87),
|
||||
|
||||
# def looper(cislo, btdata):
|
||||
# for i in range(len(btdata)):
|
||||
# #print(btdata[i][0])
|
||||
# #print(i)
|
||||
# if btdata[i][0] >= cislo:
|
||||
# index_end = i
|
||||
# break
|
||||
# return btdata[i]
|
||||
|
||||
# '''
|
||||
|
||||
|
||||
# print("bisect")
|
||||
# print(take_closest(btdata, 1679081919.018939))
|
||||
# print("standard")
|
||||
# print(looper(1679081919.018939, btdata))
|
||||
|
||||
# print(timeit.timeit('take_closest(btdata, 1679081919.018939)', setup=setup))
|
||||
# #0.4
|
||||
# print(timeit.timeit('looper(1679081919.018939, btdata)', setup=setup))
|
||||
# #2.4
|
||||
|
||||
|
||||
# ###
|
||||
# # 1679081919.381264
|
||||
# # 1679081919.381643
|
||||
# # 1679081919.381649
|
||||
|
||||
# #orizneme pole
|
||||
|
||||
# """
|
||||
# btdata obsahuje vsechny aktualni timestampy tradu a jejich cenu.
|
||||
# 1) pracujeme vzdy na zacatku listu do indexu odpovidajici aktualnimu casu
|
||||
# 2) zjistime si index a pak iterujeme nad nim
|
||||
# 3) po skonceni pak tento pracovni kus umazeme
|
||||
# """
|
||||
# # def match(time: float):
|
||||
|
||||
# a= datetime.now().timestamp()
|
||||
# print("start 1.varianta", a)
|
||||
|
||||
|
||||
|
||||
# def get_index_bisect(myList, time):
|
||||
# """
|
||||
# Assumes myList is sorted. Returns first biggeer value to the number.
|
||||
# """
|
||||
# pos = bisect_left(myList, (time,))
|
||||
# if pos == 0:
|
||||
# return myList[0]
|
||||
# if pos == len(myList):
|
||||
# return myList[-1]
|
||||
# return pos
|
||||
# #after, afterPrice = myList[pos]
|
||||
# #return after,afterPrice
|
||||
|
||||
|
||||
# def get_index(btdata, time: float):
|
||||
# index_end = None #
|
||||
# range_end = time
|
||||
# print("range_end",range_end)
|
||||
|
||||
# for i in range(len(btdata)):
|
||||
# #print(btdata[i][0])
|
||||
# #print(i)
|
||||
# if btdata[i][0] >= range_end:
|
||||
# index_end = i
|
||||
# break
|
||||
|
||||
# print("index_end", index_end)
|
||||
# print("oriznuto",btdata[0:index_end+1])
|
||||
# return index_end
|
||||
|
||||
# index_end = get_index(btdata, 1679081919.018939)
|
||||
# print("get_index", index_end)
|
||||
# index_end = get_index_bisect(btdata, 1679081919.018939)
|
||||
# print("get_index_bisect", index_end)
|
||||
# new_range = btdata[0:index_end+1]
|
||||
|
||||
# print("novy rozsah?", len(new_range))
|
||||
# print("puvodni pole", len(btdata))
|
||||
|
||||
# #LIMIT FILL - BUY
|
||||
# submitted_at: float = 1679081914.739644
|
||||
# limit_price: float = 27.865
|
||||
# fill_time = None
|
||||
# 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
|
||||
|
||||
# del btdata[0:index_end]
|
||||
|
||||
|
||||
|
||||
# #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)
|
||||
Reference in New Issue
Block a user