From 8ba20e4819206f6775a69f9f66d8e7c4b49014a7 Mon Sep 17 00:00:00 2001 From: maxinxin <728892034@qq.com> Date: Wed, 9 Jul 2025 19:01:06 +0800 Subject: [PATCH] xinxin --- __pycache__/tools.cpython-311.pyc | Bin 0 -> 57613 bytes __pycache__/trade_logic.cpython-311.pyc | Bin 0 -> 43915 bytes autobasic/cj_clienttrader.py | 3 +-- autobasic/gf_clienttrader.py | 2 +- autobasic/huatai_clienttrader.py | 2 +- autobasic/zxjt_clienttrader.py | 2 +- 6 files changed, 4 insertions(+), 5 deletions(-) create mode 100644 __pycache__/tools.cpython-311.pyc create mode 100644 __pycache__/trade_logic.cpython-311.pyc diff --git a/__pycache__/tools.cpython-311.pyc b/__pycache__/tools.cpython-311.pyc new file mode 100644 index 0000000000000000000000000000000000000000..34e3de1a7e1be89b62c5406d0799d127665ea4c2 GIT binary patch literal 57613 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

tt?E;RO*fpPf_gwDX|9IejDfh6PdszJBQOSNx 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 CiTdmS literal 0 HcmV?d00001 diff --git a/__pycache__/trade_logic.cpython-311.pyc b/__pycache__/trade_logic.cpython-311.pyc new file mode 100644 index 0000000000000000000000000000000000000000..4dd26d7ed64b22f22edc8af03976f4408d81f3c5 GIT binary patch literal 43915 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 K%K}eHG5=pknp1%Q literal 0 HcmV?d00001 diff --git a/autobasic/cj_clienttrader.py b/autobasic/cj_clienttrader.py index 9178bf6..fca0144 100644 --- a/autobasic/cj_clienttrader.py +++ b/autobasic/cj_clienttrader.py @@ -25,8 +25,7 @@ root_path = Path(__file__).parent.parent # 直接默认使用C:'金长江网上交易汇智版','xiadan.exe' -path = os.path.join('C:','金长江网上交易汇智版','xiadan.exe') - +path = r'C:\金长江网上交易汇智版\xiadan.exe' global engine engine = create_engine( 'mysql+pymysql://cn_ainvest_db:cn_ainvest_sd3a1@rm-2zewagytttzk6f24xno.mysql.rds.aliyuncs.com:3306' diff --git a/autobasic/gf_clienttrader.py b/autobasic/gf_clienttrader.py index a422dd5..050f9d7 100644 --- a/autobasic/gf_clienttrader.py +++ b/autobasic/gf_clienttrader.py @@ -24,7 +24,7 @@ scripts_path = os.path.dirname(os.path.realpath(__file__)) from pathlib import Path root_path = Path(__file__).parent.parent from config import ssid,password -path = os.path.join('C:','gfzqrzrq','xiadan.exe') +path = r'C:\广发证券网上交易系统\xiadan.exe' global engine engine = create_engine( diff --git a/autobasic/huatai_clienttrader.py b/autobasic/huatai_clienttrader.py index 669bd23..bb7265b 100644 --- a/autobasic/huatai_clienttrader.py +++ b/autobasic/huatai_clienttrader.py @@ -23,7 +23,7 @@ scripts_path = os.path.dirname(os.path.realpath(__file__)) from pathlib import Path root_path = Path(__file__).parent.parent from config import ssid,password -path = os.path.join('C:','华泰证券网上交易委托系统','xiadan.exe') +path = r'C:\华泰证券网上交易委托系统\xiadan.exe' global engine engine = create_engine( diff --git a/autobasic/zxjt_clienttrader.py b/autobasic/zxjt_clienttrader.py index d115493..a1a5b80 100644 --- a/autobasic/zxjt_clienttrader.py +++ b/autobasic/zxjt_clienttrader.py @@ -23,7 +23,7 @@ scripts_path = os.path.dirname(os.path.realpath(__file__)) from pathlib import Path root_path = Path(__file__).parent.parent -path = os.path.join('C:','中信建投网上交易极速版(同花顺)','xiadan.exe') +path = r'C:\中信建投网上交易极速版(同花顺)\xiadan.exe' global engine engine = create_engine( 'mysql+pymysql://cn_ainvest_db:cn_ainvest_sd3a1@rm-2zewagytttzk6f24xno.mysql.rds.aliyuncs.com:3306'