Files
big-qmt/py-client/__pycache__/main.cpython-311.pyc

52 lines
7.7 KiB
Plaintext
Raw Normal View History

2026-08-28 18:52:27 +08:00
<EFBFBD>
2026-08-31 13:00:22 +08:00
]<5D><>j}<00><00><><00>ddlZddlZddlZddlmZddlZddlmZddlZddl Z ej
<00> ej
<00> e <0A><00><00><00>Zej
<00>edd<05><00>Zeej
vrej
<00>de<0E><00>ejejdd<07><08><00>dd lmZmZdd
lmZdd lmZdd lmZed d <0A><0E><00>Gd<0F>d<10><00><00><00>Zede<18><00>ede<1A><00>d<13>Zdefd<15>Z de!defd<17>Z"dde#ddfd<1A>Z$dd<1B>Z%de&fd<1C>Z'e(dkrej)e'<27><00><00><00>dSdS) <20>N)<01>BackgroundScheduler)<01> dataclass<73>etcz _global.yamlz'[%(levelname)s] %(asctime)s %(message)sz%Y-%m-%d %H:%M:%S)<03>level<65>format<61>datefmt)<02>APIError<6F>Client)<01>
StartTrend)<01>StartZT)<01>
AutoBuyIpoT)<02>frozen<65>slotsc<00>$<00>eZdZUeed<eed<dS)<04>StrategyDefinition<6F> mutex_scope<70>start_strategyN)<06>__name__<5F>
__module__<EFBFBD> __qualname__<5F>str<74>__annotations__<5F>object<63><00><00> .\main.pyrrs*<00><00><00><00><00><00><00><14><14><14><14><1A><1A><1A><1A><1A>rr<00>Trend<6E>ZT)<02>trend<6E>zt<7A>returnc<00>"<00>tjdkS)N<>nt)<02>os<6F>namerrr<00>require_windowsr&(s<00><00> <0A>7<EFBFBD>d<EFBFBD>?<3F>r<00> project_rootc<00>N<00> ddl}d}d}|<00>dd<06><00><00>dd<06><00>}d|<04><00>}|<01>d d
2026-08-28 18:52:27 +08:00
<EFBFBD> <0B><00>}|<06>dd
|<05><00>}|r||kr+t jd |<01><00><00><00><00><02><00>d S|<01><00><00>|kr+t jd<0E><00>|<06>|<07><00>d St jd|<05><00><02><00>d
S#t$r$}t jd|<08><00>d
<EFBFBD><11><00>Yd}~d Sd}~wwxYw)u0使用 Windows 命名互斥锁保证单实例。rN<><4E><00><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>:<3A>_<>\zGlobal\QMT_System_<6D>kernel32T)<01>use_last_erroru'无法创建互斥锁错误代码Fu0程序已在运行中无法启动多个实例u成功获取互斥锁u单实例检测失败:)<01>exc_info)
2026-08-31 13:00:22 +08:00
<EFBFBD>ctypes<65>replace<63>WinDLL<4C> CreateMutexW<78>logging<6E>error<6F>get_last_error<6F> CloseHandle<6C>info<66> Exception) r'r1<00>error_already_exists<74>invalid_handle_value<75> safe_path<74>
mutex_namer.<00>handle<6C>excs r<00>check_single_instancerA+sa<00><00><15><15> <0A> <0A> <0A>"<22><1C>!<21><1C> <20>(<28>(<28><13>c<EFBFBD>2<>2<>:<3A>:<3A>4<EFBFBD><13>E<>E<> <09>6<>9<EFBFBD>6<>6<>
<EFBFBD><19>=<3D>=<3D><1A>D<EFBFBD>=<3D>A<>A<><08><19>&<26>&<26>t<EFBFBD>T<EFBFBD>:<3A>><3E>><3E><06><15> <19><16>#7<>7<>7<> <13>M<EFBFBD>]<5D>F<EFBFBD>DY<44>DY<44>D[<5B>D[<5B>]<5D>]<5D> ^<5E> ^<5E> ^<5E><18>5<EFBFBD> <11> <20> <20> "<22> "<22>&:<3A> :<3A> :<3A> <13>M<EFBFBD>L<> M<> M<> M<> <14> <20> <20><16> (<28> (<28> (<28><18>5<EFBFBD><0F> <0C><<3C>
<EFBFBD><<3C><<3C>=<3D>=<3D>=<3D><13>t<EFBFBD><74> <14><15><15><15><0F> <0A>6<><13>6<>6<><14>F<>F<>F<>F<><14>u<EFBFBD>u<EFBFBD>u<EFBFBD>u<EFBFBD>u<EFBFBD><75><EFBFBD><EFBFBD><EFBFBD><15><><EFBFBD>s%<00>BC6<00>AC6<00>C6<00>6
D$<03>D<03>D$<03>@<40>retry_intervalc<00>l<00>ttjjtjjtj<00><00>}t d<01><00><00><00><00>}|<02><00><00>s<> |<01> <00><00>tj dtjj<00><00><02><00>|<01> <00><00>dS#ttjf$rE}tjdtjj||<03><00>|<02>|<00><00>Yd}~nd}~wwxYw|<02><00><00><00><>dSdS)u/循环检查 API 地址连通后才返回。<E59B9E> threadinguAPI 服务已连通Nu/API 服务未就绪:%s%g 秒后重试:%s)r
<00>config<69> global_config<69> qmt_base_url<72> qmt_token<65> HTTP_TIMEOUT<55>
__import__<EFBFBD>Event<6E>is_set<65>assetsr5r9<00>closer <00>httpx<70> RequestError<6F>warning<6E>wait)rC<00>client<6E> retry_eventr@s r<00>wait_for_qmt_apirVDs/<00><00> <13>F<EFBFBD>(<28>5<>v<EFBFBD>7K<37>7U<37>W]<5D>Wj<57> k<> k<>F<EFBFBD><1C>[<5B>)<29>)<29>/<2F>/<2F>1<>1<>K<EFBFBD><19> <20> <20>"<22>"<22> -<2D> -<2D> <12>M<EFBFBD>M<EFBFBD>O<EFBFBD>O<EFBFBD>O<EFBFBD> <13>L<EFBFBD>U<>&<26>2F<32>2S<32>U<>U<> V<> V<> V<> <12>L<EFBFBD>L<EFBFBD>N<EFBFBD>N<EFBFBD>N<EFBFBD> <12>F<EFBFBD><46><18>%<25>,<2C>-<2D> -<2D> -<2D> -<2D> <13>O<EFBFBD>A<><16>$<24>1<><1E><13>  <0E> <0E> <0E> <18> <1C> <1C>^<5E> ,<2C> ,<2C> ,<2C> ,<2C> ,<2C> ,<2C> ,<2C> ,<2C><><EFBFBD><EFBFBD><EFBFBD> -<2D><><EFBFBD><EFBFBD> <1A> <20> <20>"<22>"<22> -<2D> -<2D> -<2D> -<2D> -s<00>0AC<00>D<03>;D<03>Dc<00><><00>tdd<02><03><00>tjdkrddl}|<00><00><00>dSt
2026-08-28 18:52:27 +08:00
j<00><00><00>r!t
2026-08-31 13:00:22 +08:00
j<00>d<06><00>dSdS)Nu按任意键退出...T)<01>flushr#r<00>) <09>printr$r%<00>msvcrt<72>getch<63>sys<79>stdin<69>isatty<74>read)r[s r<00>wait_for_any_keyraYsu<00><00> <09>
!<21><14>.<2E>.<2E>.<2E>.<2E> <09>w<EFBFBD>$<24><EFBFBD><EFBFBD><15> <0A> <0A> <0A><0E> <0C> <0C><0E><0E><0E><0E><0E> <0C><19> <19> <19> <1B> <1B><1A> <0B> <09><0E><0E>q<EFBFBD><19><19><19><19><19><1A>rc<00>.<00> t<00><00>stjd<01><00>dStt<00><00>sdSt j<00><00>t
2026-08-28 22:56:35 +08:00
j<00> t
2026-08-31 13:00:22 +08:00
j<00>td<03><00><00>t<00><00>tdddd<06><02><07><00>}|<00> tdd d
d d<05> <0C><00>|<00><00><00>tjd <0A><00>t t
jj<00><00><00>tjdt
jj<00><00>d
S#t(t*jt.tt0f$r8}t3d|<01><00>t4jd<05><10><00>t9<00><00>Yd}~dSd}~wwxYw)Nu'本程序仅支持 Windows 环境运行rYu/配置尚未加载,请先调用 config.load()z Asia/ShanghaiT)<02>coalesce<63> max_instances)<02>timezone<6E> job_defaults<74>cronz10,14r<00> auto_buy_ipo)<05>trigger<65>hour<75>minute<74>id<69>replace_existingu<IPO 自动打新定时任务已启动:每日 10:00、14:00u%s 策略启动成功u启动失败: )<02>filerX)r&r5r6rA<00> PROJECT_ROOTrF<00>loadrG<00>account_config<69> RuntimeErrorrVr<00>add_jobr <00>startr9<00>
STRATEGIES<EFBFBD>strategyr<00>strateg<65>OSError<6F>yaml<6D> YAMLError<6F>
ValueError<EFBFBD>KeyErrorrZr]<00>stderrra)<02> schedulerr@s r<00>mainrcs<><00><00>"<15><1E> <20> <20> <15> <13>M<EFBFBD>C<> D<> D<> D<><14>1<EFBFBD>$<24>\<5C>2<>2<> <15><14>1<EFBFBD><0E> <0B> <0A> <0A> <0A> <11> <1F> '<27>6<EFBFBD>+@<40>+H<><1E>P<>Q<>Q<> Q<><18><1A><1A><1A>(<28>$<24>&*<2A>Q<EFBFBD>?<3F>?<3F>
<EFBFBD>
<EFBFBD>
<EFBFBD> <09> <12><19><19> <16><1A><18><14><1D>!<21> <1A>
<EFBFBD>
<EFBFBD>
<EFBFBD> <12><0F><0F><19><19><19><0F> <0C>S<>T<>T<>T<><12>6<EFBFBD>(<28>1<>2<>A<>A<>C<>C<>C<><0F> <0C>,<2C>V<EFBFBD>-B<>-J<>K<>K<>K<><10>q<EFBFBD><71> <13>T<EFBFBD>^<5E>Z<EFBFBD><1C>x<EFBFBD> H<><15><15><15> <11>(<28>3<EFBFBD>(<28>(<28>s<EFBFBD>z<EFBFBD><14> F<> F<> F<> F<> <1C> <1E> <1E> <1E><14>1<EFBFBD>1<EFBFBD>1<EFBFBD>1<EFBFBD>1<EFBFBD><31><EFBFBD><EFBFBD><EFBFBD><15><><EFBFBD>s"<00>"D4<00>D4<00>C6D4<00>4(F<03>-F<03>F<03>__main__)rB)r!N)*r5r$r]<00>!apscheduler.schedulers.backgroundrrF<00> dataclassesrryrP<00>path<74>dirname<6D>abspath<74>__file__ro<00>join<69>GLOBAL_CONFIG_PATH<54>insert<72> basicConfig<69>INFO<46>sdkr r
<00>strategy.trend.bootr <00>strategy.zt.bootr <00> strategy.ipor rru<00>boolr&rrA<00>floatrVra<00>intrr<00>exitrrr<00><module>r<>sk<00><01><0F><0E><0E><0E> <09> <09> <09> <09>
2026-08-28 18:52:27 +08:00
<EFBFBD>
<EFBFBD>
<EFBFBD>
2026-08-31 13:00:22 +08:00
<EFBFBD>A<>A<>A<>A<>A<>A<> <0A> <0A> <0A> <0A>!<21>!<21>!<21>!<21>!<21>!<21> <0B> <0B> <0B> <0B> <0C> <0C> <0C> <0C><11>w<EFBFBD><EFBFBD><EFBFBD>r<EFBFBD>w<EFBFBD><EFBFBD><EFBFBD>x<EFBFBD>8<>8<>9<>9<> <0C><17>W<EFBFBD>\<5C>\<5C>,<2C><05>~<7E>F<>F<><12><0F>s<EFBFBD>x<EFBFBD><1F><1F><07>H<EFBFBD>O<EFBFBD>O<EFBFBD>A<EFBFBD>|<7C>$<24>$<24>$<24><13><07><13>
<11>,<2C> 4<> <1F><02><02><02><02> !<21> <20> <20> <20> <20> <20> <20> <20>*<2A>*<2A>*<2A>*<2A>*<2A>*<2A>$<24>$<24>$<24>$<24>$<24>$<24>#<23>#<23>#<23>#<23>#<23>#<23>
<EFBFBD><19>$<24>d<EFBFBD>#<23>#<23>#<23><1B><1B><1B><1B><1B><1B><1B>$<24>#<23><1B>  <20> <1F><07><1A> 4<> 4<>
<1C>
<1C>T<EFBFBD>7<EFBFBD>
+<2B>
+<2B><02><02>
<EFBFBD>
<1B><14><1B><1B><1B><1B><15><03><15><04><15><15><15><15>2-<2D>-<2D>U<EFBFBD>-<2D>T<EFBFBD>-<2D>-<2D>-<2D>-<2D>*<1A><1A><1A><1A>#<15>c<EFBFBD>#<15>#<15>#<15>#<15>L <0C>z<EFBFBD><19><19> <0C>C<EFBFBD>H<EFBFBD>T<EFBFBD>T<EFBFBD>V<EFBFBD>V<EFBFBD><14><14><14><14><14><1A>r