From 96f603434005ccae21c6cfeb37098f4652d50b9f Mon Sep 17 00:00:00 2001 From: Administrator Date: Fri, 26 Dec 2025 13:35:22 +0800 Subject: [PATCH] =?UTF-8?q?bitmart=E4=BC=98=E5=8C=96=E5=AE=8C=E6=88=90?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- bitmart/均线自动化开单.py | 39 +++++++++++---------------- telegram/8619211027341.session | Bin 45056 -> 45056 bytes telegram/bot_session.session | Bin 49152 -> 49152 bytes telegram/bot_session.session-journal | Bin 0 -> 8720 bytes telegram/sign.db | Bin 40960 -> 40960 bytes 5 files changed, 16 insertions(+), 23 deletions(-) create mode 100644 telegram/bot_session.session-journal diff --git a/bitmart/均线自动化开单.py b/bitmart/均线自动化开单.py index f38140d..60a57d9 100644 --- a/bitmart/均线自动化开单.py +++ b/bitmart/均线自动化开单.py @@ -6,11 +6,11 @@ import requests from tqdm import tqdm from loguru import logger from dataclasses import dataclass -from DrissionPage import ChromiumPage, ChromiumOptions - from bitmart.api_contract import APIContract +from DrissionPage import ChromiumPage, ChromiumOptions from bitmart.lib.cloud_exceptions import APIException +from bit_tools import openBrowser from 交易.tools import send_dingtalk_message @@ -109,15 +109,9 @@ class StrategyConfig: class BitmartFuturesMeanReversionBot: - def __init__(self, cfg: StrategyConfig, tge_id=None): + def __init__(self, cfg: StrategyConfig, bit_id=None): - self.tge_url = "http://127.0.0.1:50326" - self.tge_id = tge_id - - self.tge_headers = { - "Authorization": "Bearer asp_174003986c9b0799677c5b2c1adb76e402735d753bc91a91", - "Content-Type": "application/json" - } + self.bit_id = bit_id self.page: ChromiumPage | None = None @@ -169,7 +163,7 @@ class BitmartFuturesMeanReversionBot: def ding(self, msg, error=False): prefix = "❌bitmart:" if error else "🔔bitmart:" if error: - for _ in range(3): + for _ in range(1): send_dingtalk_message(f"{prefix}{msg}") else: send_dingtalk_message(f"{prefix}{msg}") @@ -572,7 +566,7 @@ class BitmartFuturesMeanReversionBot: else: self.click_safe('x://span[normalize-space(text()) ="市价"]') - # if resp.get("code") == 1000: + # if resp.get("code") == 1000: return True # self.ding(f"下单失败: {resp}", error=True) @@ -778,12 +772,11 @@ class BitmartFuturesMeanReversionBot: def openBrowser(self): """打开 TGE 对应浏览器实例""" try: - res = requests.post( - f"{self.tge_url}/api/browser/start", - json={"envId": self.tge_id}, - headers=self.tge_headers - ) - self.tge_port = res.json()["data"]["port"] + bit_port = openBrowser(id=self.bit_id) + co = ChromiumOptions() + co.set_local_port(port=bit_port) + + self.page = ChromiumPage(addr_or_opts=co) return True except: return False @@ -865,10 +858,10 @@ class BitmartFuturesMeanReversionBot: return logger.info("TGE 端口获取成功") - # 2. 接管浏览器 - if not self.take_over_browser(): - self.ding("接管浏览器失败!", error=True) - return + # # 2. 接管浏览器 + # if not self.take_over_browser(): + # self.ding("接管浏览器失败!", error=True) + # return logger.info("浏览器接管成功") self.page.get("https://derivatives.bitmart.com/zh-CN/futures/ETHUSDT") @@ -963,7 +956,7 @@ if __name__ == "__main__": export BITMART_MEMO "合约交易" """ cfg = StrategyConfig() - bot = BitmartFuturesMeanReversionBot(cfg, tge_id=196495) + bot = BitmartFuturesMeanReversionBot(cfg, bit_id="f2320f57e24c45529a009e1541e25961") # 设置日志级别为INFO以便查看详细计算过程 logger.remove() diff --git a/telegram/8619211027341.session b/telegram/8619211027341.session index 7bbf26c6c7b6ddd0d17cf0e27c1111dea24a826f..3a4596ca5f3e4c9fe540d3996dcba325c0d1e78c 100644 GIT binary patch delta 75 zcmZp8z|`=7X@V4!e*Z)nCm^{oVM#8R!a2uV!R<@r_m@xR%Tr(v&-9b)6KURTns=0i c*-x&2^WUP0j6lYO%@a!$twAD_x32dF06H`rkpKVy delta 75 zcmZp8z|`=7X@V4!&i;uqPC#;F!jfDr`Ao-K!G^2Xi>puO%Tr(v%k(+6TIlm;)4ZcB c%s$7~ZvI;|krBvPw|QcTqBTfl^49g<0A)BIN&o-= diff --git a/telegram/bot_session.session b/telegram/bot_session.session index e0e33d58be9940ecd7113b86f08afb6f85a9ccf1..94c7fe700caa41fa714b110302369364da89017d 100644 GIT binary patch delta 258 zcmZo@U~Xt&o*>0kZZ}cJ2}o{CP|BBOWpKO|+`b?;Q%sP7je(Jcg-Kp};@#FvKe<5W z_mk)6dvPh8g{j#5IbVjA*_Yd9vry??PG#>ob@hLf4=cL3QzllRrzGy6$eZEASS z%JegJ^ZQnHW@evz`jaI)Pci$v**`hnQh76H*C7@l=fUQ4eab-DpNX5lOq{|7(zdyK z#tjx`U!(h*)8@`&V)kX?p3J_Wk%@_WbH{>4Mor~;TVH+hXJ=qjWRPUB3C(OiSMnh- uHzz5xBso7b&oCq-KR2;B)8~)VW|Ku4>|g`qS0?g<9i}x?WAp1BqU-?o!CmSA delta 216 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 F`#;ZzvA+NS literal 0 HcmV?d00001 diff --git a/telegram/sign.db b/telegram/sign.db index c260559da9d45ae8a13fc39316ddb43301e7626f..72bb787f0f21c60d2828edbbafb9349e5dbc0cc2 100644 GIT binary patch delta 652 zcmZoTz|?SnX@WFk-$WT_#=eaS%lH{JCbJ9JGO>G1b`y|eV%ON5CUA%?Mr!t|V>|8G z7-X3gIa2bIvr~(TQyH3!42(>54UKe-%*1CLzOvDhjX{!8k)t9#Eu-901TJYRIeq%; zCpZg;-U&H ztcr{bj2)#CI}z%cCKu`@@u7-seyFFwsLe0TAjntAz(195H(w?HYkqZpTmF^&nSA|x z7y0+|{pDNA_ng0;KbZe2-|o$V4(5E5lkM`vM6ubSu=%;2gd=0wrUn)PW_{M$$?Ow? zdDv>$JlVupAG2;?t=-rt&dOw1HhJS5Nhu?<5Ca1%LnA9AGd&}7Q%g%TT?11q0|Ud- z$qw^?(xxE>CRV1VKoxoh78Yhk=1}PpknVbjw1K6Sk%^wUrG=@12~@h6je(U>)R%#= z=+`G6uHww}JVY3T7#LZZ8dw<{>X{js7@Al@wG_d$fI4C iW8vh$L`eydD}eGAR)(f}W+sM4<^~Y?&FiNHasmKqqNfZ1 delta 353 zcmZoTz|?SnX@WFk!$cWp#)gdv%lH{nC$kIKGVvXn>?R<`#J_WMn!q8pi4$z)C8tk+ z{e*{&L6%XGBRerOC)3ixg3HLj$W+(RNY}_@bBnk>Bext(z|dmyK8YJl3=ErRNS-*RF64{dY-k|GH`z^3MBK=TNkoc;Rgsf{anftin`7`