Pārlūkot izejas kodu

双方向的余额平衡方法

skyfffire 3 mēneši atpakaļ
vecāks
revīzija
5ecd195b41
3 mainītis faili ar 18 papildinājumiem un 7 dzēšanām
  1. 2 2
      as.py
  2. 12 5
      s_mexc_to_erc20.py
  3. 4 0
      toto.readme

+ 2 - 2
as.py

@@ -484,8 +484,8 @@ def balance_available_funds_periodically():
     """
     每10秒嘗試平衡一次餘額
     """
-    PROPORTION_LIMIT = Decimal(0.37)                  # 鏈上資金比例低於這個值就會觸發平衡
-    PROPORTION_TARGET = Decimal(1)                   # 鏈上資金占比目標,1表示100%是鏈上資金
+    PROPORTION_LIMIT = Decimal(0.3)                  # 鏈上資金比例低於這個值就會觸發平衡
+    PROPORTION_TARGET = Decimal(0.7)                   # 鏈上資金占比目標,1表示100%是鏈上資金
     BASE_COIN = 'USDT'
     BASE_COIN_ADDR = '0xdAC17F958D2ee523a2206206994597C13D831ec7'
 

+ 12 - 5
s_mexc_to_erc20.py

@@ -57,12 +57,19 @@ class ArbitrageProcess:
             self.eth_price = self.core_data['eth_price']
         
         with self.mexc_lock:
-            self.withdraw_info = copy.deepcopy(self.mexc_data['coin_info_map'][self.coin][self.NETWORK])
-            self.WITHDRAW_FEE = Decimal(self.withdraw_info['withdrawFee']) # 提現手續費
-            self.WITHDRAW_ENABLE = self.withdraw_info['withdrawEnable'] # 是否启用提现
+            if self.NETWORK in self.mexc_data['coin_info_map'][self.coin]:
+                self.withdraw_info = copy.deepcopy(self.mexc_data['coin_info_map'][self.coin][self.NETWORK])
 
-            withdraw_info_formated = pformat(self.withdraw_info, indent=2)
-            logger.info(f'提現信息識別, 手續費:{self.WITHDRAW_FEE}\n{withdraw_info_formated}')
+                self.WITHDRAW_FEE = Decimal(self.withdraw_info['withdrawFee'])  # 提現手續費
+                self.WITHDRAW_ENABLE = self.withdraw_info['withdrawEnable']     # 是否启用提现
+
+                withdraw_info_formated = pformat(self.withdraw_info, indent=2)
+                logger.info(f'提現信息識別, 手續費:{self.WITHDRAW_FEE}\n{withdraw_info_formated}')
+            else:
+                self.WITHDRAW_FEE = Decimal(0)                                  # 提現手續費
+                self.WITHDRAW_ENABLE = True                                     # 是否启用提现
+
+                logger.info(f'提現信息未找到, 猜测是跨链式套利,继续执行。')
 
         self.tx = tx
         

+ 4 - 0
toto.readme

@@ -72,6 +72,10 @@
 2025-07-22
 [-] 简易套利,双方向的测试
 
+2025-07-23
+[-] 双方向的余额平衡方法
+[ ] 限价回滚时的买入手续费问题
+
 其它todo
 [ ] 等待下一次余额平衡失败,然后修复
 [ ] 下单使用超价单而不是市价单(1、防止砸穿盘面控制风险;2、防止抹茶交易所撤销市价单)