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

81 lines
9.5 KiB
Plaintext
Raw Normal View History

2026-08-28 18:52:27 +08:00
<EFBFBD>
2026-08-31 15:33:39 +08:00
-<2D>j<EFBFBD><00><01><><00>dZddlmZddlZddlZddlmZmZddlmZddl Z ddl
m Z ddl m Z ddlmZmZdd lmZdd
lmZd d lmZd d lmZd dlmZd dlmZd dlmZd dlm Z d d!d<14>Z!d!d<15>Z"d"d<1A>Z#d#d<1F>Z$dS)$uy趋势策略启动器。
2026-08-28 18:52:27 +08:00
该模块负责组合 SDK、配置、状态存储和趋势策略组件供 main.py 调用。
2026-08-31 15:33:39 +08:00
<EFBFBD>)<01> annotationsN)<02>Future<72>ThreadPoolExecutor)<01>datetime)<01> trading_time)<01>market_allow_open)<02> init_signals<6C>
2026-08-31 13:00:22 +08:00
SignalItem)<01>Client)<01>GridTrailingTracker<65>)<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
2026-08-28 18:52:27 +08:00
<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
2026-08-31 15:33:39 +08:00
<EFBFBD>d<1F><19><00><00><>dS) u>打印策略启动时的账户、资金和持仓概览。
2026-08-28 18:52:27 +08:00
zQ
2026-08-31 15:33:39 +08:00
================================================================================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>
2026-08-28 18:52:27 +08:00
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>
2026-08-31 15:33:39 +08:00
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>Overviewr5sC<00><00><1E>6<><16>!6<>K<EFBFBD> <09>/<2F><1A><1A><1A> <09>
2026-08-28 18:52:27 +08:00
;<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> 
2026-08-31 15:33:39 +08:00
<EFBFBD>c<01><><00>ttjjtjjtj<00><00>}|<00><00><00>}|<00><00><00>\}}t<00><00>}|<04> |<00><00>tj tjj tj jtj j<00><00>}|<05>||j<00><00>t%tjtj j<00><00>}t)|tjtj ||t+<00><00>t+<00><00>t-tj j<00><00>t1dd<02><03><00><00><04> <00> }t3||tj <00><00> t5j<00><00>} t9||<06><00>n$#t:$rt=jd<06><00>YnwxYwt5j<00><00>|z
} t5j tCdd| z
<00><00><00><00><00><>#|j"<00>#dd<05> <09><00>wxYw)
u:初始化趋势策略,并以 30 秒间隔持续执行。<E8A18C><00>trend)<02> max_workers<72>thread_name_prefix) <09>client<6E>
global_cfgr2<00>state<74>orders<72>
open_watch<EFBFBD> add_watch<63>profit_tracker<65>executorTu趋势策略本轮执行失败gg>@)<02>wait<69>cancel_futures)$r r<00> global_config<69> qmt_base_url<72> qmt_token<65> HTTP_TIMEOUTr0r1r<00>refreshr<00> for_strategy<67> qmt_data_dirr<00>strategyr<00> reconcile<6C>datar <00> signal_allowrrr <00> grid_step_pctrr5<00>time<6D> monotonic<69>RunOnce<63> Exception<6F>logging<6E> exception<6F>sleep<65>maxrC<00>shutdown)
r<r0<00>_r1<00>
2026-08-30 15:29:21 +08:00
order_book<EFBFBD>
storeState<EFBFBD>signals<6C>run<75>
started_at<EFBFBD>elapseds
2026-08-31 15:33:39 +08:00
r4<00>
StartTrendrbCs<00><00> <13><0E><1C>)<29><0E><1C>&<26><0E><1B><06><06>F<EFBFBD>
2026-08-30 15:29:21 +08:00
<14>]<5D>]<5D>_<EFBFBD>_<EFBFBD>F<EFBFBD><19>#<23>#<23>%<25>%<25>L<EFBFBD>A<EFBFBD>y<EFBFBD><1A><1B><1B>J<EFBFBD><0E><16><16>v<EFBFBD><1E><1E><1E><16>#<23><0E><1C>)<29><0E><1D>&<26><0E><1D>(<28><06><06>J<EFBFBD>
2026-08-31 15:33:39 +08:00
<0F><18><18><19>J<EFBFBD>O<EFBFBD>4<>4<>4<><1B><0E><1C><0E><1D>*<2A><06><06>G<EFBFBD> <12><15><19>'<27><1A>)<29><18><19><1B>:<3A>:<3A><1A>*<2A>*<2A>*<2A>6<EFBFBD>+@<40>+N<>O<>O<>#<23><01>g<EFBFBD>N<>N<>N<>
<06>
<06>
<06>C<EFBFBD> <0A>V<EFBFBD>Y<EFBFBD><06> 5<>6<>6<>6<> ><3E> 1<><1D><1E>)<29>)<29>J<EFBFBD> D<01><17><03>W<EFBFBD>%<25>%<25>%<25>%<25><><1C> D<01> D<01> D<01><17>!<21>"B<>C<>C<>C<>C<>C<> D<01><><EFBFBD><EFBFBD><1B>n<EFBFBD>&<26>&<26><1A>3<>G<EFBFBD> <10>J<EFBFBD>s<EFBFBD>3<EFBFBD><04>w<EFBFBD><0E>/<2F>/<2F> 0<> 0<> 0<> 1<><31> <0C> <0C><1D><1D>4<EFBFBD><04><1D>=<3D>=<3D>=<3D>=<3D><><EFBFBD>s0<00>H <00>/G<00>?H <00>G!<03>H <00> G!<03>!?H <00> H>r_rr^<00>list[SignalItem]c <01>f<00>ttj<00><00><00><00>sdS |j<00>|j<00><00>n%#t $rtjd<02><00>YdSwxYw |j<00> <00><00>}n%#t $rtjd<03><00>YdSwxYw|j
|j |j j zk}|stjd<04><00>t|jj<00><00>} |j<00><00><00>\}}n%#t $rtjd<05><00>YdSwxYwg}g}|D]:} | j|vr/|<07>| <09><00>|<08>| j<00><00><00>;t+t,<00>||z<00><00><00><00>}
2026-08-31 13:00:22 +08:00
|j<00>|
2026-08-31 15:33:39 +08:00
<EFBFBD><00>} n%#t $rtjd<06><00>YdSwxYw |j<00>||jj<00><00>n%#t $rtjd<07><00>YdSwxYwd|j<00>t<|| |||j
<00><00>fg} |r;|r9|r7| <0C>d |j<00>t>|| |<07><00>f<02><00>| D]\} }tA| |<0E><00><00>dS)
u9按固定步骤执行一轮趋势策略, ``RunOnce``。Nu取消过期订单失败u获取资产失败u3资金总闸可用金额太少禁止开新仓u获取持仓失败u获取行情失败u3订单状态对账失败本轮禁止自动交易u 持仓计算u 开仓计算)!rrrr?rJr<rUrVrWr0r"r!r2<00>min_cash_ratio<69>inforr=<00>api_hostr1<00>code<64>append<6E>list<73>dict<63>fromkeys<79> full_tickr>rNrOrC<00>submitrr<00> _wait_worker)r_r^r0<00>allow_open_by_cash<73> market_ok<6F>position_codesr1<00>
allow_open<EFBFBD> allow_codes<65>signal<61> all_codes<65>ticks<6B>futures<65>name<6D>futures r4rTrTxs.<00><00> <17><08> <0C><0E><0E> '<27> '<27><0F><0E><06><0F> <0B>
2026-08-31 13:00:22 +08:00
<EFBFBD><1A><1A>3<EFBFBD>:<3A>&<26>&<26>&<26>&<26><> <14><0F><0F><0F><0F><19>4<>5<>5<>5<><0E><06><06><0F><><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> <20>)<29>V<EFBFBD>\<5C>C<EFBFBD>O<EFBFBD><Z<>-Z<>Z<><16> <1D>L<01><0F> <0C>J<>K<>K<>K<>"<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>
2026-08-31 15:33:39 +08:00
$&<26>J<EFBFBD><1F>K<EFBFBD><19>,<2C>,<2C><06> <11>;<3B>n<EFBFBD> ,<2C> ,<2C> <16> <1D> <1D>f<EFBFBD> %<25> %<25> %<25> <17> <1E> <1E>v<EFBFBD>{<7B> +<2B> +<2B> +<2B><><15>T<EFBFBD>]<5D>]<5D>><3E>K<EFBFBD>#?<3F>@<40>@<40>A<>A<>I<EFBFBD><0F><13>
2026-08-31 13:00:22 +08:00
<EFBFBD>$<24>$<24>Y<EFBFBD>/<2F>/<2F><05><05><> <14><0F><0F><0F><0F><19>.<2E>/<2F>/<2F>/<2F><0E><06><06><0F><><EFBFBD><EFBFBD>
2026-08-31 15:33:39 +08:00
<0F> <0B> <09><1B><1B>I<EFBFBD>s<EFBFBD>z<EFBFBD><EFBFBD>7<>7<>7<>7<><37> <14><0F><0F><0F><0F><19>O<>P<>P<>P<><0E><06><06><0F><><EFBFBD><EFBFBD> <1B> <0F>L<EFBFBD> <1F> <1F> <20><13><15><19><19><16> <20>  <0E> <0E>
<EFBFBD> )<06>G<EFBFBD><12>c<01>i<EFBFBD>c<01>$6<>c<01><0F><0E><0E><0E><03> <0C>(;<3B>(;<3B>K<EFBFBD><13>e<EFBFBD>U_<55>(`<60>(`<60>a<>b<>b<>b<> <20>#<23>#<23> <0C><04>f<EFBFBD><14>T<EFBFBD>6<EFBFBD>"<22>"<22>"<22>"<22>#<23>#sY<00>A<00>A&<03>%A&<03>*B<00>B&<03>%B&<03>6D<00>D5<03>4D5<03>$F?<00>?G!<03> G!<03>%%H <00> H-<03>,H-ry<00>strrzrc<01>|<00> |<01><00><00>dS#t$rtjd|<00><00>YdSwxYw)uE保留单轮继续运行的语义分别记录工作线程异常。u趋势策略%s线程失败N)<04>resultrUrVrW)ryrzs r4roro<00>sP<00><00>><3E><0E> <0A> <0A><0F><0F><0F><0F><0F><> <14>><3E>><3E>><3E><0F><19>6<><04>=<3D>=<3D>=<3D>=<3D>=<3D>=<3D>><3E><><EFBFBD>s <00><00>;<03>;)N)rr)r_rr^rcrr)ryr{rzrrr)%<25>__doc__<5F>
__future__rrVrR<00>concurrent.futuresrrrr<00> libs.calcr<00> libs.marketr<00> libs.signalr r
<00>sdkr <00>libs.grid_take_profitr r>r<00>orderr<00>watchr<00>runtimer<00>openrr1rr5rbrTro<00>r6r4<00><module>r<>s<><00><01><04><04>
#<23>"<22>"<22>"<22>"<22>"<22><0E><0E><0E><0E> <0B> <0B> <0B> <0B>9<>9<>9<>9<>9<>9<>9<>9<><1D><1D><1D><1D><1D><1D> <0A> <0A> <0A> <0A>"<22>"<22>"<22>"<22>"<22>"<22>)<29>)<29>)<29>)<29>)<29>)<29>0<>0<>0<>0<>0<>0<>0<>0<><16><16><16><16><16><16>5<>5<>5<>5<>5<>5<><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>P2><3E>2><3E>2><3E>2><3E>jN#<23>N#<23>N#<23>N#<23>b><3E>><3E>><3E>><3E>><3E>>r6