소스 검색

测试延迟开单

skyfffire 4 달 전
부모
커밋
d0be890bd5
2개의 변경된 파일15개의 추가작업 그리고 3개의 파일을 삭제
  1. 11 1
      checker/erc20_to_mexc_checker.py
  2. 4 2
      toto.readme

+ 11 - 1
checker/erc20_to_mexc_checker.py

@@ -27,6 +27,10 @@ logger = get_logger('as')
 from web3_py_client_lite import EthClient
 web3_client = EthClient()
 
+# delay区块,有利润后延迟几个区块再发
+prev_profit_block_number = 0
+send_delay_block = 1
+
 # ok web3的配置
 ok_chain_client.api_config = okchain_api # 假设ok_chain_client有此配置方式
 
@@ -304,13 +308,19 @@ def update_data_for_plotly_and_table():
             #     actual_profit_usdt_v2 = revenue_on_mexc - cost_on_chain
             #     actual_profit_usdt = actual_profit_usdt_v2 # 使用更精确的V2版本
 
+        block_number = web3_client.w3.eth.block_number
         # 6. 满足利润条件,发送套利消息, PROFIT_LIMIT + 3的3是提前計算的成本,否則一直提交
         global mode
+        global prev_profit_block_number
+
         if actual_profit_usdt is not None and actual_profit_usdt > PROFIT_LIMIT + 3 and mode == 'trade':
-            if chain_swap_full_response: # 确保有完整的链上数据
+            # 确保有完整的链上数据
+            if chain_swap_full_response and block_number == prev_profit_block_number + send_delay_block:
                 send_arb_msg(actual_profit_usdt, chain_swap_full_response, mexc_price_target_per_base, in_amount_to_query_human)
             else:
                 logger.warning("利润满足但链上数据不完整,无法发送套利消息。")
+            
+            prev_profit_block_number = block_number
 
         current_point = {
             "time": fetch_time_chart,

+ 4 - 2
toto.readme

@@ -43,9 +43,11 @@
 2025-06-24
 [-] config重新描述一下,乱七八糟的
 [-] 新版异常打印方案
-[ ] 测试延迟开单
+[-] 测试延迟开单
 
-有時間再做
+2025-06-25
 [ ] 另一個方向
+
+有時間再做
 [ ] zeus昨晚上有一个状态识别bug,导致单边
 [ ] approve自動