Files
big-qmt/py-client/strategy/trend/__pycache__/boot.cpython-311.pyc

84 lines
8.8 KiB
Plaintext
Raw Normal View History

2026-08-28 18:52:27 +08:00
<EFBFBD>
<00>\<5C>j<EFBFBD><00><01><><00>dZddlmZddlZddlZddlmZddlZddlmZm Z m
Z
ddl m Z ddl mZdd lmZdd
lmZdd lmZdd lmZdd lmZddd<10>Zdd<11>Zdd<14>Zd<15>ZdS)uy趋势策略启动器。
该模块负责组合 SDK、配置、状态存储和趋势策略组件供 main.py 调用。
<EFBFBD>)<01> annotationsN)<01>datetime)<03> init_signals<6C>market_allow_open<65> trading_time)<01>Client<6E>)<01>State)<01> OrderBook)<01>DipWatch)<01>Runtime)<01> open_signal)<01>manage_positions<6E>return<72>Nonec<01><><00>|p tj}td<01><00>tdtj<00><00>d<03><04><02><00>|<02>(td|j<00>d|j<00>d|jd<08><04><06><00>|<00>#td |jd
<EFBFBD>d |j d
<EFBFBD>d <0C><05><00>ntd <0A><00>tdt|<01><00><00>d<0F><03><00>td<10><00>|D]<5D>}|j dkr<01>td|j <00>d|j <00>d|j <00>d|j<00>d|j<00>d|j<00>d|j<00>d|jd<19>d|jd<19>d|jd
<EFBFBD>d|jd
<EFBFBD>d|jdzd
<EFBFBD>d<1F><19><00><00><>dS) u<>打印策略启动时的账户、资金和持仓概览。
该函数对应 Go 客户端 ``logic.Overview``。为便于单独测试,可以
显式传入账户配置;未传入时使用 ``config.account_config``。
zQ
================================================================================u 【时间】z%Y-%m-%d %H:%M:%SNu【配置】account_id: z host_key: z buy_value: z.0fu【资金】总资产z.2fu可用资金u元u【资金】查询失败u 【持仓】u只zP================================================================================r<00> u 持仓=u 可用=u 冻结=u 在途=u 昨仓=u 成本=z.3fu 现价=u 市值=u 浮盈=u 盈亏比例=<3D>d<00>%)<17>config<69>account_config<69>printr<00>now<6F>
account_id<EFBFBD>host_key<65> buy_value<75>total<61> available<6C>len<65>volume<6D>
stock_code<EFBFBD>
stock_name<EFBFBD>can_use_volume<6D> frozen_volume<6D>on_road_volume<6D>yesterday_volume<6D>
open_price<EFBFBD>
last_price<EFBFBD> market_value<75> float_profit<69> profit_rate)<04>assets<74> positions<6E> account_cfg<66>positions <20>strategy\trend\boot.py<70>Overviewr1sC<00><00> <1E>6<><16>!6<>K<EFBFBD> <09>/<2F><1A><1A><1A> <09>
;<3B><18><1C><1E><1E>
;<3B>
;<3B>
;<3B><<3C><<3C><<3C><12><1E> <0A> 6<>&<26>1<> 6<> 6<>$<24>-<2D> 6<> 6<>&<26>/<2F> 5<> 6<> 6<>
<EFBFBD>
<EFBFBD>
<EFBFBD><0E><19> <0A> 8<>v<EFBFBD>|<7C> ?<3F> 8<> 8<>$<24>.<2E> 7<> 8<> 8<> 8<>
<EFBFBD>
<EFBFBD>
<EFBFBD>
<EFBFBD>
<0E>(<28>)<29>)<29>)<29> <09>
,<2C><13>Y<EFBFBD><1E><1E>
,<2C>
,<2C>
,<2C>-<2D>-<2D>-<2D> <09>(<28>O<EFBFBD>O<EFBFBD>O<EFBFBD><1D> 
<EFBFBD> 
<EFBFBD><08> <13>?<3F>a<EFBFBD> <1F> <1F> <14> <0A> ><3E>8<EFBFBD>.<2E> ><3E> ><3E><18>1D<31> ><3E> ><3E><1E>o<EFBFBD> ><3E> ><3E>/7<>/F<> ><3E> ><3E><1E>,<2C> ><3E> ><3E>6><3E>6M<36> ><3E> ><3E><1F>/<2F> ><3E> ><3E>:B<01>9L<39> S<> ><3E> ><3E><1F>)<29> S<>  ><3E> ><3E>8@<01>7L<37> S<>  ><3E> ><3E>
<1F>+<2B> 2<>  ><3E> ><3E> %<25>0<>3<EFBFBD>6<> =<3D>  ><3E> ><3E> ><3E>
<EFBFBD>
<EFBFBD>
<EFBFBD>
<EFBFBD> 
<EFBFBD> 
<EFBFBD>c
<01><><00>ttjjtjjtj<00><00>}|<00><00><00>}|<00><00><00>\}}tj tjj
tj j tj j <00><00>}|<04>|<03><00>ttjgd<01><01><00>}t!|tjtj |t#<00><00>t%<00><00>t%<00><00><00><02><00>}t'jd|jt-|<03><00>t-|<05><00><00><00>t/||tj <00><00> t1j<00><00>} t5||<05><00>n$#t6$rt'jd<05><00>YnwxYwt1j<00><00>|z
}t1jt=dd|z
<00><00><00><00><00><>)u:初始化趋势策略,并以 30 秒间隔持续执行。)<03>morning<6E>tail<69> arbitrage)<07>client<6E>
global_cfgr.<00>state<74>orders<72>
open_watch<EFBFBD> add_watchu;趋势策略启动:总资产=%.2f,持仓=%d信号=%dTu趋势策略本轮执行失败gg>@)rr<00> global_config<69> qmt_base_url<72> qmt_token<65> HTTP_TIMEOUTr,r-r
<00> for_strategy<67> qmt_data_dirr<00>strategyr<00>sync_positionsrr r r <00>logging<6E>inforrr1<00>time<6D> monotonic<69>RunOnce<63> Exception<6F> exception<6F>sleep<65>max) r7r,<00>_r-<00>
storeState<EFBFBD>signals<6C>run<75>
started_at<EFBFBD>elapseds r0<00>
StartTrendrTBs<><00><00> <13><0E><1C>)<29><0E><1C>&<26><0E><1B><06><06>F<EFBFBD>
<14>]<5D>]<5D>_<EFBFBD>_<EFBFBD>F<EFBFBD><19>#<23>#<23>%<25>%<25>L<EFBFBD>A<EFBFBD>y<EFBFBD><16>#<23><0E><1C>)<29><0E><1D>&<26><0E><1D>(<28><06><06>J<EFBFBD>
<0F><1D><1D>i<EFBFBD>(<28>(<28>(<28><1B>6<EFBFBD>/<2F>0N<30>0N<30>0N<30>O<>O<>G<EFBFBD>
<11><15><19>'<27><1A>)<29><18><18>{<7B>{<7B><1B>:<3A>:<3A><1A>*<2A>*<2A> <06> <06> <06>C<EFBFBD> <0C>L<EFBFBD>E<><0E> <0C> <0B>I<EFBFBD><0E><0E> <0B>G<EFBFBD> <0C> <0C> <06><06><06>  <0A>V<EFBFBD>Y<EFBFBD><06> 5<>6<>6<>6<> -<2D><19>^<5E>%<25>%<25>
<EFBFBD> @<01> <13>C<EFBFBD><17> !<21> !<21> !<21> !<21><><18> @<01> @<01> @<01> <13> <1D>><3E> ?<3F> ?<3F> ?<3F> ?<3F> ?<3F> @<01><><EFBFBD><EFBFBD><17>.<2E>"<22>"<22>Z<EFBFBD>/<2F><07> <0C>
<EFBFBD>3<EFBFBD>s<EFBFBD>D<EFBFBD>7<EFBFBD>N<EFBFBD>+<2B>+<2B>,<2C>,<2C>,<2C> -s<00> F<00>F?<03>>F?rQr c<01>4<00> <09>ttj<00><00><00><00>sdS |j<00>|j<00><00>n$#t $rtjd<02><00>YnwxYw |j<00> <00><00>}n%#t $rtjd<03><00>YdSwxYw|j
|j |j j zkrtjd<04><00>dSt|jj<00><00>} |j<00><00><00>\}}n%#t $rtjd<05><00>YdSwxYwt'|<04><00><00> <09> fd<06>|D<00><00>}t)|<04><00>}|<07><00> fd<07>|D<00><00><00><00> |j<00>t)t.<00>|<07><00><00><00><00><00>}n%#t $rtjd<08><00>YdSwxYw|r|rt3|||<06><00>t5|||||j
<00><00>dS) u9按固定步骤执行一轮趋势策略, ``RunOnce``。Nu取消过期订单失败u获取资产失败u3资金总闸可用金额太少禁止开新仓u获取持仓失败c<01>&<00><01>g|] }|j<00>v<01> |<01><02>S<00><00><01>code<64><03>.0<EFBFBD>signal<61>position_code_sets <20>r0<00>
<listcomp>zRunOnce.<locals>.<listcomp><3E>s-<00><><00><06><06><06><19><06> <0B>;L<>(L<>(L<><06>(L<>(L<>(Lr2c3<01>8<00>K<00>|]}|j<00>v<01> |jV<00><00>dS<00>NrXrZs <20>r0<00> <genexpr>zRunOnce.<locals>.<genexpr><3E>s;<00><><00><00><00><06><06><1E><06> <0B>CT<43>0T<30>0T<30><06> <0B>0T<30>0T<30>0T<30>0T<30><06>r2u获取行情失败)rrrr:<00>cancel_expiredr7rJrErKr,rrr.<00>min_cash_ratiorFrr8<00>api_hostr-<00>set<65>list<73>extend<6E> full_tick<63>dict<63>fromkeysrr)
rQrPr,<00> market_ok<6F>position_codesr-<00>
allow_open<EFBFBD> all_codes<65>ticksr]s
@r0rIrIss<><00><><00> <17><08> <0C><0E><0E> '<27> '<27><0F><0E><06>6<> <0B>
<EFBFBD>!<21>!<21>#<23>*<2A>-<2D>-<2D>-<2D>-<2D><> <14>6<>6<>6<><0F><19>4<>5<>5<>5<>5<>5<>6<><36><EFBFBD><EFBFBD><0F><14><1A>"<22>"<22>$<24>$<24><06><06><> <14><0F><0F><0F><0F><19>.<2E>/<2F>/<2F>/<2F><0E><06><06><0F><><EFBFBD><EFBFBD><0E><17>&<26>,<2C><13><1F>)G<>G<>G<>G<><0F> <0C>J<>K<>K<>K<><0E><06>"<22>#<23>.<2E>"9<>:<3A>:<3A>I<EFBFBD><0F>$'<27>J<EFBFBD>$8<>$8<>$:<3A>$:<3A>!<21><0E> <09> <09><> <14><0F><0F><0F><0F><19>.<2E>/<2F>/<2F>/<2F><0E><06><06><0F><><EFBFBD><EFBFBD>
<1C>N<EFBFBD>+<2B>+<2B><15><06><06><06><06>$<24><06><06><06>J<EFBFBD>
<15>^<5E>$<24>$<24>I<EFBFBD> <0A><14><14><06><06><06><06>",<2C><06><06><06><06><06><06><0F><13>
<EFBFBD>$<24>$<24>T<EFBFBD>$<24>-<2D>-<2D> <09>*B<>*B<>%C<>%C<>D<>D<><05><05><> <14><0F><0F><0F><0F><19>.<2E>/<2F>/<2F>/<2F><0E><06><06><0F><><EFBFBD><EFBFBD>
<12>,<2C>i<EFBFBD>,<2C><13>C<EFBFBD><15>
<EFBFBD>+<2B>+<2B>+<2B><15>S<EFBFBD>%<25><19>I<EFBFBD>f<EFBFBD>6F<36>G<>G<>G<>G<>GsG<00>A<00>A&<03>%A&<03>*B<00>B&<03>%B&<03>6D<00>D5<03>4D5<03>?G<00>G(<03>'G(c<01>F<00><02>|sgSt|<01><00><00><02>fd<01>|D<00><00>S)u3只保留账户配置明确允许使用的信号。c<01>&<00><01>g|] }|j<00>v<00> |<01><02>SrW)<01>
signal_key)r[r\<00>alloweds <20>r0r^z SignalFilter.<locals>.<listcomp><3E>s&<00><><00> I<> I<> I<>v<EFBFBD>F<EFBFBD>,=<3D><17>,H<>,H<>F<EFBFBD>,H<>,H<>,Hr2)re)rP<00> allowed_namesrss @r0<00> SignalFilterru<00>s7<00><><00> <18><12><11> <09><11>-<2D> <20> <20>G<EFBFBD> I<> I<> I<> I<><17> I<> I<> I<>Ir2r`)rr)rQr rr)<1D>__doc__<5F>
__future__rrErGrr<00>libsrrr<00>sdkrr9r
<00>orderr <00>watchr <00>runtimer <00>openrr-rr1rTrIrurWr2r0<00><module>r~sR<00><01><04><04>
#<23>"<22>"<22>"<22>"<22>"<22><0E><0E><0E><0E> <0B> <0B> <0B> <0B><1D><1D><1D><1D><1D><1D> <0A> <0A> <0A> <0A>><3E>><3E>><3E>><3E>><3E>><3E>><3E>><3E>><3E>><3E><16><16><16><16><16><16><18><18><18><18><18><18><1C><1C><1C><1C><1C><1C><1B><1B><1B><1B><1B><1B><1C><1C><1C><1C><1C><1C><1D><1D><1D><1D><1D><1D>'<27>'<27>'<27>'<27>'<27>'<27>'
<EFBFBD>'
<EFBFBD>'
<EFBFBD>'
<EFBFBD>'
<EFBFBD>V.-<2D>.-<2D>.-<2D>.-<2D>b5H<01>5H<01>5H<01>5H<01>pJ<01>J<01>J<01>J<01>Jr2