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

60 lines
10 KiB
Plaintext
Raw Normal View History

2026-08-28 18:52:27 +08:00
<EFBFBD>
2026-09-01 15:49:09 +08:00
<00>s<EFBFBD>jD<00><01><><00>dZddlmZddlZddlZddlmZmZddl m Z ddl
2026-09-01 14:28:49 +08:00
Z
ddl m Z ddl mZddlmZmZdd lmZdd
lmZd d lmZd d lmZd dlmZd dlmZd dlmZd dl m!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-09-01 14:28:49 +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}|<02>&tjd|j|j|j<00><00>|<00>!tjd|j|j<00><00>ntj d<04><00>tjdt|<01><00><00><00>|D]O}|j dkr<01>tjd|j |j |j |j|j|j|jdz<00><00><00>PdS) u9记录策略启动时的账户、资金和持仓概览。Nu2[启动] 账户=%s主机=%s单笔金额=%.2fu+[启动] 总资产=%.2f,可用资金=%.2fu![启动] 获取资金概览失败u[启动] 持仓数量=%druR[启动] %s %s持仓=%d可用=%d成本=%.2f,现价=%.2f,盈亏=%.2f%%<25>d)<12>config<69>account_config<69>log<6F>info<66>
account_id<EFBFBD>host_key<65> buy_value<75>total<61> available<6C>warning<6E>len<65>volume<6D>
2026-08-28 18:52:27 +08:00
stock_code<EFBFBD>
2026-09-01 14:28:49 +08:00
stock_name<EFBFBD>can_use_volume<6D>
2026-08-28 18:52:27 +08:00
open_price<EFBFBD>
2026-09-01 14:28:49 +08:00
last_price<EFBFBD> profit_rate)<04>assets<74> positions<6E> account_cfg<66>positions <20>6D:\work\quant\big-qmt\py-client\strategy\trend\boot.py<70>Overviewr/sJ<00><00><1D>6<><16>!6<>K<EFBFBD><12><1E> <0B><08>E<>{<7B>G]<5D>_j<5F>_s<5F>vA<02>vK<02> L<02> L<02> L<02> <0A><19> <0B><08>><3E><06> <0C>f<EFBFBD>N^<5E>_<>_<>_<>_<> <0B> <0B>7<>8<>8<>8<><07>H<EFBFBD> '<27><13>Y<EFBFBD><1E><1E>8<>8<>8<><1D>A<04>A<04><08> <13>?<3F>a<EFBFBD> <1F> <1F> <14> <0B><08>e<>go<67>gz<67>}E<02>}P<02>RZ<02>Ra<02>ck<02>cz<02>|D<03>|O<03>QY<03>Qd<03>fn<03>fz<03>}@<04>f@<04> A<04> A<04> A<04> A<04>A<04>A<04>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)jdtj jt-|<06><00>t-|<03><00><00><00>t/|tjtj ||t1<00><00>t1<00><00>t3tj j<00><00>t7dd<03><04><00><00><05> <00> }t9||tj <00><00>d} t;j<00><00>j} | |kr|| z
}
n| dkrd| z
}
n|}
t;j |
<EFBFBD><00> tC||<06><00>n0#tD$r#} t)j#d | <0B><00>d<07>
<EFBFBD><00>Yd } ~ nd } ~ wwxYw<01><>) u:初始化趋势策略,并以 30 秒间隔持续执行。uB[启动] 趋势策略已启动,账户=%s信号=%d持仓=%d<><00>trend)<02> max_workers<72>thread_name_prefix) <09>client<6E>
global_cfgr,<00>state<74>orders<72>
open_watch<EFBFBD> add_watch<63>profit_tracker<65>executor<6F>T<><u4[Trend] 本 tick 执行失败,下一 tick 继续: )<01>exc_infoN)$r r<00> global_config<69> qmt_base_url<72> qmt_token<65> HTTP_TIMEOUTr*r+r<00>refreshr<00> for_strategy<67> qmt_data_dirr<00>strategyr<00> reconcile<6C>datar <00> signal_allowrrr"rrr <00> grid_step_pctrr/<00>time<6D> localtime<6D>tm_sec<65>sleep<65>RunOnce<63> Exception<6F>error) r6r*<00>_r+<00>
2026-08-30 15:29:21 +08:00
order_book<EFBFBD>
2026-09-01 14:28:49 +08:00
storeState<EFBFBD>signals<6C>run<75>DEFAULT_TICK_INTERVAL<41> current_sec<65> wait_seconds<64>es r.<00>
StartTrendr]/sm<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-09-01 14:28:49 +08:00
<0F><18><18><19>J<EFBFBD>O<EFBFBD>4<>4<>4<><1B><0E><1C><0E><1D>*<2A><06><06>G<EFBFBD><08>H<EFBFBD> Q<>SY<53>Sh<53>Ss<53>ux<75>zA<02>vB<02>vB<02>DG<02>HQ<02>DR<02>DR<02>S<02>S<02>S<02>
<11><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<>
2026-08-31 15:33:39 +08:00
<06>
<06>
2026-09-01 14:28:49 +08:00
<06>C<EFBFBD> <0A>V<EFBFBD>Y<EFBFBD><06> 5<>6<>6<>6<><1E><19>a<01><1A>n<EFBFBD>&<26>&<26>-<2D> <0B> <17>.<2E> .<2E> .<2E>0<>;<3B>><3E>L<EFBFBD>L<EFBFBD> <18>2<EFBFBD> <1D> <1D><1D> <0B>+<2B>L<EFBFBD>L<EFBFBD>0<>L<EFBFBD> <0A>
<EFBFBD><<3C> <20> <20> <20> a<01> <13>C<EFBFBD><17> !<21> !<21> !<21> !<21><><18> a<01> a<01> a<01> <0F>I<EFBFBD>P<>Q<EFBFBD>P<>P<>[_<> `<60> `<60> `<60> `<60> `<60> `<60> `<60> `<60> `<60><><EFBFBD><EFBFBD><EFBFBD> a<01><><EFBFBD><EFBFBD>#as<00>#H4<00>4
I!<03>>I<03>I!rXrrW<00>list[SignalItem]c <01>n<00>ttj<00><00><00><00>stjd<01><00>dSt ddtj<00><00><00>d<05><00><00>d<06>zdz<00><00>tj<00><00>} |j <00>
|j <00><00>n%#t$rtj d<07><00>YdSwxYw |j <00><00><00>}n%#t$rtj d<08><00>YdSwxYw|j|j|jjzk}|s tjd |j|j<00><00>t'<00><00>} |j <00><00><00>\}}n%#t$rtj d
<EFBFBD><00>YdSwxYwg}g} |D]:}
|
j|vr/|<08>|
<EFBFBD><00>| <09>|
j<00><00><00>;|r$|s"tjd t/|<08><00><00><00>t1t2<00>|| z<00><00><00><00>} |j <00>| <0B><00>} n3#t$r&tj d t/| <0B><00><00><00>YdSwxYw |j<00>||j j<00><00>n%#t$rtj d <0A><00>YdSwxYwtjdt/|<07><00>t/|<08><00>||<04><00>d|j<00> tB|| |||j<00><00>fg} |r;|r9|r7| <0A>d|j<00> tD|| |<08><00>f<02><00>| D]\}}tG||<0F><00><00>tjdtItj<00><00>|z
2026-09-01 15:49:09 +08:00
dz<00><00><00><00>dS)u9按固定步骤执行一轮趋势策略, ``RunOnce``。u'[运行] 非交易时间跳过本轮Nz(========================================z Ticker z%Y-%m-%d %H:%M:%S<> u[Order] 刷新订单失败u[资金] 获取资产失败uI[Status] 禁止开仓:可用资金不足,可用=%.2f,总资产=%.2fu[Position] 获取持仓失败u9[开仓] 禁止开仓:大盘信号不允许,候选=%du-[行情] 获取行情失败,代码数量=%du![状态] 订单状态对账失败uR[RunOnce] 本轮就绪,持仓=%d候选=%d大盘允许=%s资金允许=%su 持仓计算u 开仓计算u([RunOnce] 本轮完成,耗时=%d毫秒i<E7A792>)%rr<00>nowrr<00>print<6E>strftimerM<00> monotonicr9rEr6rR<00> exceptionr*r rr,<00>min_cash_ratiorr+<00>code<64>appendr"<00>list<73>dict<63>fromkeys<79> full_tickr8rIrJr=<00>submitrr<00> _wait_worker<65>int)rXrW<00>
2026-09-01 14:28:49 +08:00
started_atr*<00>allow_open_by_cash<73> market_ok<6F>position_codesr+<00>
2026-09-01 15:49:09 +08:00
allow_open<EFBFBD> allow_codes<65>signal<61> all_codes<65>ticks<6B>futures<65>name<6D>futures r.rQrQls2<00><00> <17><08> <0C><0E><0E> '<27> '<27><0F> <0B><08>:<3A>;<3B>;<3B>;<3B><0E><06> <09>(<28>O<><08> <0C><0E><0E> 7<> 7<>8K<38> L<> L<>O<>O<>O<>
O<EFBFBD>QY<EFBFBD>
Y<EFBFBD>Z<>Z<>Z<><15><1E>!<21>!<21>J<EFBFBD><0F> <0B>
<EFBFBD><1A><1A>3<EFBFBD>:<3A>&<26>&<26>&<26>&<26><> <14><0F><0F><0F> <0B> <0A>2<>3<>3<>3<><0E><06><06><0F><><EFBFBD><EFBFBD> <0F><14><1A>"<22>"<22>$<24>$<24><06><06><> <14><0F><0F><0F> <0B> <0A>3<>4<>4<>4<><0E><06><06><0F><><EFBFBD><EFBFBD> <20>)<29>V<EFBFBD>\<5C>C<EFBFBD>O<EFBFBD><Z<>-Z<>Z<><16> <1D>~<01> <0B><08>\<5C>^d<>^n<>pv<70>p|<7C>}<7D>}<7D>}<7D>"<22>#<23>#<23>I<EFBFBD><0F>$'<27>J<EFBFBD>$8<>$8<>$:<3A>$:<3A>!<21><0E> <09> <09><> <14><0F><0F><0F> <0B> <0A>5<>6<>6<>6<><0E><06><06><0F><><EFBFBD><EFBFBD>
2026-09-01 14:28:49 +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><><11>_<01>)<29>_<01> <0B><08>L<>c<EFBFBD>R\<5C>o<EFBFBD>o<EFBFBD>^<5E>^<5E>^<5E><15>T<EFBFBD>]<5D>]<5D>><3E>K<EFBFBD>#?<3F>@<40>@<40>A<>A<>I<EFBFBD><0F><13>
<EFBFBD>$<24>$<24>Y<EFBFBD>/<2F>/<2F><05><05><> <14><0F><0F><0F> <0B> <0A>E<>s<EFBFBD>9<EFBFBD>~<7E>~<7E>V<>V<>V<><0E><06><06><0F><><EFBFBD><EFBFBD>
<0F> <0B> <09><1B><1B>I<EFBFBD>s<EFBFBD>z<EFBFBD><EFBFBD>7<>7<>7<>7<><37> <14><0F><0F><0F> <0B> <0A>9<>:<3A>:<3A>:<3A><0E><06><06><0F><><EFBFBD><EFBFBD><08>H<EFBFBD> a<>cf<63>gp<67>cq<63>cq<63>sv<73>xB<02>tC<02>tC<02>EN<02>Pb<02>c<02>c<02>c<02> <1B> <0F>L<EFBFBD> <1F> <1F> <20><13><15><19><19><16> <20>  <0E> <0E>
2026-08-31 15:33:39 +08:00
2026-09-01 14:28:49 +08:00
<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><07>H<EFBFBD> 7<><13>d<EFBFBD>n<EFBFBD>>N<>>N<>Q[<5B>>[<5B>_c<5F>=c<>9d<39>9d<39>e<>e<>e<>e<>esZ<00>B(<00>(C
<03> C
<03>C(<00>(D
<03> D
<03>E8<00>8F<03>F<03>/I
<00>
,I:<03>9I:<03>>%J$<00>$K<03>Krz<00>strr{rc<01>|<00> |<01><00><00>dS#t$rtjd|<00><00>YdSwxYw)uE保留单轮继续运行的语义分别记录工作线程异常。u[运行] %s线程失败N)<04>resultrRrre)rzr{s r.rnrn<00>sO<00><00>7<><0E> <0A> <0A><0F><0F><0F><0F><0F><> <14>7<>7<>7<> <0B> <0A>/<2F><14>6<>6<>6<>6<>6<>6<>7<><37><EFBFBD>s <00><00>;<03>;)N)rr)rXrrWr^rr)rzr|r{rrr)&<26>__doc__<5F>
__future__rrM<00>loggingr<00>concurrent.futuresrrrr<00> libs.calcr<00> libs.marketr<00> libs.signalr r
<00>sdkr <00>libs.grid_take_profitr r8r<00>orderr<00>watchr<00>runtimer<00>openrr+rr/r]rQrn<00>r0r.<00><module>r<>s<><00><01><04><04>
#<23>"<22>"<22>"<22>"<22>"<22> <0B> <0B> <0B> <0B><15><15><15><15>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>A<04>A<04>A<04>A<04>A<04>(:a<01>:a<01>:a<01>:a<01>zYf<01>Yf<01>Yf<01>Yf<01>x7<>7<>7<>7<>7<>7r0