websea优化完成

This commit is contained in:
Administrator
2025-12-15 16:26:28 +08:00
parent 0c7591984e
commit 5db69b6628
2 changed files with 85 additions and 92 deletions

Binary file not shown.

View File

@@ -323,106 +323,99 @@ class WeexTransaction:
self.time_start = None # 时间状态 避免同一个时段,发生太多消息
# 获取当前时间
current_time = time.localtime()
current_minute = current_time.tm_min
while True:
if current_minute < 30:
self.pbar.n = current_minute
self.pbar.refresh()
else:
self.pbar.n = current_minute - 30
self.pbar.refresh()
# 获取当前时间
current_time = time.localtime()
current_minute = current_time.tm_min
if current_minute not in [0, 1, 2, 3, 4, 5, 30, 31, 32, 33, 34, ]: # 判断是否是 新的30分钟了
if current_minute < 30:
self.pbar.n = current_minute
self.pbar.refresh()
else:
self.pbar.n = current_minute - 30
self.pbar.refresh()
if current_minute not in [0, 1, 2, 3, 4, 5, 30, 31, 32, 33, 34, ]: # 判断是否是 新的30分钟了
# if current_minute not in range(60): # 判断是否是 新的30分钟了
time.sleep(10)
return
time.sleep(10)
continue
if self.kline_3 and self.get_now_time() == self.kline_3["id"]:
return
if self.kline_3 and self.get_now_time() == self.kline_3["id"]:
continue
new_price_datas = self.get_price()
if not new_price_datas:
logger.info("获取最新价格有问题!!!")
new_price_datas = self.get_price()
if not new_price_datas:
logger.info("获取最新价格有问题!!!")
self.send_dingtalk_message(message_content=f"获取价格有问题!!!", type=0)
return
new_price_datas1 = sorted(new_price_datas, key=lambda x: x["id"])
self.kline_1, self.kline_2, self.kline_3 = new_price_datas1[-3:]
if self.time_start == self.get_now_time():
return
self.time_start = self.get_now_time()
self.page.get(url="https://www.websea.com/zh-CN/futures/ETH-USDT") # 打开网页
if self.get_token(): # 获取token
logger.info("获取token成功!!!")
else:
logger.info("获取token失败")
self.send_dingtalk_message(message_content=f"获取token失败", type=0)
return
if self.get_position_status():
logger.info("获取仓位信息成功!!!")
else:
logger.info("获取仓位信息失败!!!")
self.send_dingtalk_message(message_content=f"获取仓位信息失败!!!", type=0)
return
try:
if self.start == 1:
if is_bearish(self.kline_1) and is_bearish(self.kline_2):
logger.success(f"{datetime.datetime.now()},第一根信号:{self.kline_1}{self.kline_2},平多")
self.send_dingtalk_message(
message_content=f"第一根信号:{self.kline_1}{self.kline_2},平多")
self.page.ele('x://*[normalize-space(text())= "市价全平"]').scroll.to_see(center=True)
time.sleep(1)
self.page.ele('x://*[normalize-space(text())= "市价全平"]').click()
self.start = 0
elif self.start == -1:
if is_bullish(self.kline_1) and is_bullish(self.kline_2):
logger.success(f"{datetime.datetime.now()},第一根信号:{self.kline_1}{self.kline_2},平空")
self.send_dingtalk_message(
message_content=f"第一根信号:{self.kline_1}{self.kline_2},平空")
self.page.ele('x://*[normalize-space(text())= "市价全平"]').scroll.to_see(center=True)
time.sleep(1)
self.page.ele('x://*[normalize-space(text())= "市价全平"]').click()
self.start = 0
except:
self.send_dingtalk_message(message_content=f"止损平仓出错!!!", type=0)
return
self.direction, signal_key = self.check_signal(prev=self.kline_1, curr=self.kline_2) # 判断信号
if self.direction:
try:
self.to_do_page()
except Exception as e:
self.send_dingtalk_message(message_content=f"购买操作失败,{e}", type=0)
self.send_dingtalk_message(message_content=f"获取价格有问题!!!", type=0)
return
self.pbar.reset() # 重置进度条
self.send_dingtalk_message(
message_content=
f"目前有持仓:{"" if self.start == 0 else ("" if self.start == 1 else "")}"
f"当前信号:{"" if not self.direction else ("" if self.direction == "long" else "")}"
)
new_price_datas1 = sorted(new_price_datas, key=lambda x: x["id"])
self.kline_1, self.kline_2, self.kline_3 = new_price_datas1[-3:]
self.time_start = self.get_now_time()
self.page.get(url="https://www.websea.com/zh-CN/futures/ETH-USDT") # 打开网页
if self.get_token(): # 获取token
logger.info("获取token成功!!!")
else:
logger.info("获取token失败")
self.send_dingtalk_message(message_content=f"获取token失败", type=0)
return
if self.get_position_status():
logger.info("获取仓位信息成功!!!")
else:
logger.info("获取仓位信息失败!!!")
self.send_dingtalk_message(message_content=f"获取仓位信息失败!!!", type=0)
return
try:
if self.start == 1:
if is_bearish(self.kline_1) and is_bearish(self.kline_2):
logger.success(f"{datetime.datetime.now()},第一根信号:{self.kline_1}{self.kline_2},平多")
self.send_dingtalk_message(
message_content=f"第一根信号:{self.kline_1}{self.kline_2},平多")
self.page.ele('x://*[normalize-space(text())= "市价全平"]').scroll.to_see(center=True)
time.sleep(1)
self.page.ele('x://*[normalize-space(text())= "市价全平"]').click()
self.start = 0
elif self.start == -1:
if is_bullish(self.kline_1) and is_bullish(self.kline_2):
logger.success(f"{datetime.datetime.now()},第一根信号:{self.kline_1}{self.kline_2},平空")
self.send_dingtalk_message(
message_content=f"第一根信号:{self.kline_1}{self.kline_2},平空")
self.page.ele('x://*[normalize-space(text())= "市价全平"]').scroll.to_see(center=True)
time.sleep(1)
self.page.ele('x://*[normalize-space(text())= "市价全平"]').click()
self.start = 0
except:
self.send_dingtalk_message(message_content=f"止损平仓出错!!!", type=0)
return
self.direction, signal_key = self.check_signal(prev=self.kline_1, curr=self.kline_2) # 判断信号
if self.direction:
try:
self.to_do_page()
except Exception as e:
self.send_dingtalk_message(message_content=f"购买操作失败,{e}", type=0)
return
self.pbar.reset() # 重置进度条
self.send_dingtalk_message(
message_content=
f"目前有持仓:{"" if self.start == 0 else ("" if self.start == 1 else "")}"
f"当前信号:{"" if not self.direction else ("" if self.direction == "long" else "")}"
)
if __name__ == '__main__':
while True:
try:
WeexTransaction(
tge_id=191303,
).action()
except:
pass
time.sleep(30)
WeexTransaction(
tge_id=191303,
).action()