Files
big-qmt/py-client/strategy/zt/__pycache__/positions.cpython-311.pyc

46 lines
6.3 KiB
Plaintext
Raw Normal View History

2026-08-31 13:00:22 +08:00
<EFBFBD>
2026-09-07 14:04:26 +08:00
<00>Z<EFBFBD>j<EFBFBD><00><01><><00>dZddlmZddlZddlZddlmZddlm Z m
Z
m Z ddl m Z ddlmZdd lmZmZmZ d d!d<18>Zd"d<1D>Zd#d<1F>ZdS)$uK日内先卖后买的做 T 规则不包含趋势补仓或整仓止盈。<E79B88>)<01> annotationsN)<01> GridState)<03>OP_BUY<55>OP_SELL<4C> PositionItem)<01>PlaceOrderRequest)<01>Runtime<6D>)<03>READY<44>SOLD<4C>TStateF<65>runr <00> state_storer <00> positions<6E>list[PositionItem]<5D> available<6C>float<61>today<61>str<74>force_buy_back<63>bool<6F>returnc<01>*<00>d<01>|D<00><00>}t|j<00><00><00><00><00>D<00>]^\}} ||jjvr<01>|j<00>|d<02><00>s|j<00>|d<03><00>r<01>M|<02>|<08><00>}
|
r|
jnd} tj | <0B><00>r| dkr<01><>|<07>|<08><00>} | r| j
nd} | j | j z
| j z}| |krtjd||| <0A><00><00><>| jt"krt%|| | ||<06><00>}n7| jt&kr'| r%|s#| |jjkrt+|| | | |<05><00><00><01>:#t,$rtjd|<08><00>Y<00><01>\wxYw|S)u]遍历本地底仓记录全部卖出后即使持仓快照为空也必须处理买回。c<01><00>i|]
}|j|<01><02> S<00>)<01>
stock_code)<02>.0<EFBFBD>positions <20>8D:\work\quant\big-qmt\py-client\strategy\zt\positions.py<70>
<dictcomp>z$manage_positions.<locals>.<dictcomp>s<00><00>G<>G<>G<><18>x<EFBFBD>"<22>H<EFBFBD>G<>G<>G<><00>BUY<55>SELLgruB[ZT 持仓] %s 数量不符,记录=%d实际=%d暂停交易u0[ZT 持仓] %s 处理异常,继续后续证券)<18>list<73>items<6D> account_cfg<66>excluded_codes<65>orders<72>busy<73>get<65>
last_price<EFBFBD>math<74>isfinite<74>volume<6D>base_qty<74>sell_qty<74>buy_qty<74>log<6F>warning<6E>phaser <00> _try_buy_backr <00> zt_max_price<63> _try_sell<6C> Exception<6F> exception)rr<00>ticksrrrr<00>by_code<64>code<64>state<74>tick<63>pricer<00>
actual_qty<EFBFBD> expected_qtys r<00>manage_positionsrBs<><00><00>H<01>G<>Y<EFBFBD>G<>G<>G<>G<EFBFBD><1B>K<EFBFBD>-<2D>3<>3<>5<>5<>6<>6<>T<01>T<01> <0B><04>e<EFBFBD> T<01><13>s<EFBFBD><EFBFBD>5<>5<>5<><18><12>z<EFBFBD><EFBFBD><EFBFBD>t<EFBFBD>U<EFBFBD>+<2B>+<2B> <19>s<EFBFBD>z<EFBFBD><EFBFBD><EFBFBD>t<EFBFBD>V<EFBFBD>/L<>/L<> <19><18><18>9<EFBFBD>9<EFBFBD>T<EFBFBD>?<3F>?<3F>D<EFBFBD>'+<2B>4<>D<EFBFBD>O<EFBFBD>O<EFBFBD><13>E<EFBFBD><17>=<3D><15>'<27>'<27> <19>5<EFBFBD>A<EFBFBD>:<3A>:<3A><18><1E>{<7B>{<7B>4<EFBFBD>(<28>(<28>H<EFBFBD>,4<>;<3B><18><1F><1F>!<21>J<EFBFBD> <20>><3E>E<EFBFBD>N<EFBFBD>:<3A>U<EFBFBD>]<5D>J<>L<EFBFBD><19>\<5C>)<29>)<29><13> <0B>X<><18> <20><1E> <12><12><12> <19><14>{<7B>d<EFBFBD>"<22>"<22>)<29><17><15><05>y<EFBFBD>.<2E><12><12> <09> <09><17><1B><05>%<25>%<25>(<28>%<25>><3E>%<25><18>C<EFBFBD>O<EFBFBD>8<>8<>8<><1D>c<EFBFBD>5<EFBFBD>(<28>E<EFBFBD>5<EFBFBD>A<>A<>A<><41><EFBFBD><18> T<01> T<01> T<01> <0F>M<EFBFBD>L<>d<EFBFBD> S<> S<> S<> S<> S<> T<01><><EFBFBD><EFBFBD> <14>s+<00>E-<02> 6E-<02>:E-<02>;AE-<02>AE-<02>-F<05>Frrr?<00>Nonec<01>T<00>|jdkrdS||jz
|jz dz}|jj<00>d|j<00>d|<04><00>}|j<00>||<05><00>}|jtjkrdSt|j
t|j |jj z<00><00><00><00>}|dzdz}|dkrdS|j<00>d<05><00>} t!t"|j|| dd<07><08><00>}
|j<00>|j|
<EFBFBD><00>rt)jd |j|<08><00>dSdS)
uT基于独立保存的底仓成本,用跨轮最高盈利网格判断做 T 卖出。rN<>d<00>:zt-sell<6C>zt<7A>sell<6C><01>kinduB[ZT 卖出] %s %d 股,等待成交后确定买回数量和价格)<16> base_costr&<00>
account_idr<<00>profit_tracker<65>observer=r<00>RETREAT<41>min<69>can_use_volume<6D>intr/<00> zt_sell_ratior(<00> new_order_idrr<00>place<63>clientr2<00>info) rr=rr?r<00>pnl_rate<74>key<65> observationr.<00>order_id<69>requests rr7r7<sJ<00><00> <0A><EFBFBD>!<21><1B><1B><0E><06><15><05><0F>'<27>5<EFBFBD>?<3F>:<3A>S<EFBFBD>@<40>H<EFBFBD> <10>_<EFBFBD> '<27>
><3E>
><3E>%<25>*<2A>
><3E>
><3E>u<EFBFBD>
><3E>
><3E>C<EFBFBD><15>$<24>,<2C>,<2C>S<EFBFBD>(<28>;<3B>;<3B>K<EFBFBD><12><18>I<EFBFBD>-<2D>-<2D>-<2D><0E><06> <10><10><1F><13>U<EFBFBD>^<5E>c<EFBFBD>o<EFBFBD>6S<36>%S<>!T<>!T<><06><06>F<EFBFBD><14>s<EFBFBD>]<5D>S<EFBFBD> <20>F<EFBFBD> <0A><11>{<7B>{<7B><0E><06><12>z<EFBFBD>&<26>&<26>x<EFBFBD>0<>0<>H<EFBFBD><1F><0F><15><1A>V<EFBFBD>X<EFBFBD>t<EFBFBD>&<26><06><06><06>G<EFBFBD> <0B>z<EFBFBD><17><17><03>
<EFBFBD>G<EFBFBD>,<2C>,<2C>k<01> <0B><08>U<>W\<5C>Wa<57>ci<63>j<>j<>j<>j<>j<>k<01>kr!<00>forcec<01>p<00>|jd|jjdz z
z}|s||ks||jjkr|S|j|jz
}||zdz}|dks||krt jd|j<00><00>|S|s#|j <00>
d|j|<02><00>s|S|j <00> d<07><00>}tt|j||dd <09>
<EFBFBD><00>} ||z}|j <00>|j| <09><00>r?|j <00>|j<00><00>t jd |j||rd nd <0A><00>|S)ui按实际卖出均价下跌后反弹买回尾盘不再受下跌幅度、反弹及价格上限限制。r
rEg)\<5C><><EFBFBD>(<28>?ruH[ZT 买回] %s 买回资金不足或数量无效保留未完成轮次u ZT 买回zt-buyrG<00>buyrIu[ZT 买回] %s %d 股,%su尾盘强制买回u下跌后反弹)<13>
sell_pricer&<00>zt_buy_fall_pctr6r0r1r2r3r<<00> add_watch<63> triggeredr(rTrrrUrV<00>forgetrW)
rr=r?rr]<00>targetr.<00>amountr[r\s
rr5r5Ysb<00><00><13> <1D><11>S<EFBFBD>_<EFBFBD>%D<>s<EFBFBD>%J<>!J<> K<>F<EFBFBD> <10><19>e<EFBFBD>f<EFBFBD>n<EFBFBD>n<EFBFBD><05><03><0F>0L<30>(L<>(L<><18><18> <12>^<5E>e<EFBFBD>m<EFBFBD> +<2B>F<EFBFBD> <12>V<EFBFBD>^<5E>d<EFBFBD> "<22>F<EFBFBD> <0A><11>{<7B>{<7B>f<EFBFBD>y<EFBFBD>(<28>(<28> <0B> <0B>^<5E>`e<>`j<>k<>k<>k<><18><18> <10><19><13><1D>0<>0<><1B>e<EFBFBD>j<EFBFBD>%<25>P<>P<><19><18><18><12>z<EFBFBD>&<26>&<26>w<EFBFBD>/<2F>/<2F>H<EFBFBD><1F><06><05>
<EFBFBD>F<EFBFBD>H<EFBFBD>d<EFBFBD>QV<EFBFBD>W<>W<>W<>G<EFBFBD> <0A><16><17>I<EFBFBD>
<EFBFBD>z<EFBFBD><17><17><03>
<EFBFBD>G<EFBFBD>,<2C>,<2C>
<EFBFBD> <0B> <0A><1C><1C>U<EFBFBD>Z<EFBFBD>(<28>(<28>(<28> <0B><08> (<28> <11>J<EFBFBD> <12>$)<29> @<40> <20> <20>/@<40> 
<EFBFBD>
<EFBFBD>
<EFBFBD> <15>r!)F)rr rr rrrrrrrrrr)
rr rrr?rrrrrC)
rr r?rrrr]rrr)<17>__doc__<5F>
__future__r<00>loggingr2r,<00>libs.grid_take_profitr<00>sdkrrr<00>
libs.orderr<00> libs.runtimer r=r r r rBr7r5rr!r<00><module>rns<><00><01>Q<>Q<>"<22>"<22>"<22>"<22>"<22>"<22><15><15><15><15> <0B> <0B> <0B> <0B>+<2B>+<2B>+<2B>+<2B>+<2B>+<2B>-<2D>-<2D>-<2D>-<2D>-<2D>-<2D>-<2D>-<2D>-<2D>-<2D>(<28>(<28>(<28>(<28>(<28>(<28> <20> <20> <20> <20> <20> <20>&<26>&<26>&<26>&<26>&<26>&<26>&<26>&<26>&<26>&<26>!<21>*<15>*<15>*<15>*<15>*<15>Zk<01>k<01>k<01>k<01>:<15><15><15><15><15>r!