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

88 lines
8.3 KiB
Plaintext
Raw Normal View History

2026-08-28 18:52:27 +08:00
<EFBFBD>
2026-08-31 13:00:22 +08:00
<00><><EFBFBD>j!<00><01><><00>dZddlmZddlZddlZddlmZddlZddlmZddl m
2026-08-28 18:52:27 +08:00
Z
2026-08-31 13:00:22 +08:00
ddl m Z m Z ddlmZdd lmZd
d lmZd
d lmZd
d lmZd
dlmZd
dlmZd
dlmZddd<13>Zdd<14>Zdd<19>Z dS)uy趋势策略启动器。
2026-08-28 18:52:27 +08:00
该模块负责组合 SDK、配置、状态存储和趋势策略组件供 main.py 调用。
2026-08-31 13:00:22 +08:00
<EFBFBD>)<01> annotationsN)<01>datetime)<01> trading_time)<01>market_allow_open)<02> init_signals<6C>
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
<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>
2026-08-31 13:00:22 +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>Overviewr3sC<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-30 15:29:21 +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><00><01><00>}t1||tj <00><00> t3j<00><00>} t7||<06><00>n$#t8$rt;jd<03><00>YnwxYwt3j<00><00>|z
} t3jtAdd| z
<00><00><00><00><00><>)u:初始化趋势策略,并以 30 秒间隔持续执行。)<08>client<6E>
2026-08-31 13:00:22 +08:00
global_cfgr0<00>state<74>orders<72>
open_watch<EFBFBD> add_watch<63>profit_trackerTu趋势策略本轮执行失败gg>@)!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
<00> grid_step_pctr3<00>time<6D> monotonic<69>RunOnce<63> Exception<6F>logging<6E> exception<6F>sleep<65>max)
r6r.<00>_r/<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 13:00:22 +08:00
r2<00>
StartTrendrXEs<><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>
<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<> <06> <06> <06>C<EFBFBD> <0A>V<EFBFBD>Y<EFBFBD><06> 5<>6<>6<>6<> -<2D><19>^<5E>%<25>%<25>
2026-08-28 18:52:27 +08:00
<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>
2026-08-31 13:00:22 +08:00
<EFBFBD>3<EFBFBD>s<EFBFBD>D<EFBFBD>7<EFBFBD>N<EFBFBD>+<2B>+<2B>,<2C>,<2C>,<2C> -s<00>F/<00>/G<03>GrUrrT<00>list[SignalItem]c<01>x<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>YdSwxYw |j<00>||jj<00><00>n%#t $rtjd<06><00>YdSwxYwg}g}|D]:} | j|vr/|<07>| <09><00>|<08>| j<00><00><00>;||z}
|j<00>|
<EFBFBD><00>} n%#t $rtjd<07><00>YdSwxYw|r|r|rt3|| |<07><00>t5|| |||j
<00><00>dS)u9按固定步骤执行一轮趋势策略, ``RunOnce``。Nu取消过期订单失败u获取资产失败u3资金总闸可用金额太少禁止开新仓u获取持仓失败u3订单状态对账失败本轮禁止自动交易u获取行情失败)rrrr9rAr6rLrMrNr.r rr0<00>min_cash_ratio<69>inforr7<00>api_hostr/r8rErF<00>code<64>append<6E> full_tickrr) rUrTr.<00>allow_open_by_cash<73> market_ok<6F>position_codesr/<00>
allow_open<EFBFBD> allow_codes<65>signal<61> all_codes<65>tickss r2rKrKvs<><00><00> <17><08> <0C><0E><0E> '<27> '<27><0F><0E><06><0F> <0B>
<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>
<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>
$&<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><><1C>n<EFBFBD>,<2C>I<EFBFBD><0F><13>
<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-28 22:56:35 +08:00
<12>,<2C>i<EFBFBD>,<2C>$6<>,<2C><13>C<EFBFBD><15>
2026-08-31 13:00:22 +08:00
<EFBFBD>+<2B>+<2B>+<2B><15>S<EFBFBD>%<25><19>I<EFBFBD>f<EFBFBD>6F<36>G<>G<>G<>G<>GsY<00>A<00>A&<03>%A&<03>*B<00>B&<03>%B&<03>6D<00>D5<03>4D5<03>9%E<00>F<03>F<03> G&<00>&H<03>H)N)rr)rUrrTrYrr)!<21>__doc__<5F>
__future__rrMrIrr<00> libs.calcr<00> libs.marketr<00> libs.signalrr<00>sdkr <00>libs.grid_take_profitr
r8r <00>orderr <00>watchr<00>runtimer<00>openrr/rr3rXrK<00>r4r2<00><module>ruso<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>"<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>'
2026-08-28 18:52:27 +08:00
<EFBFBD>'
<EFBFBD>'
<EFBFBD>'
<EFBFBD>'
2026-08-31 13:00:22 +08:00
<EFBFBD>V.-<2D>.-<2D>.-<2D>.-<2D>b=H<01>=H<01>=H<01>=H<01>=H<01>=Hr4