Files
big-qmt/py-client/libs/__pycache__/grid_take_profit.cpython-311.pyc

23 lines
5.0 KiB
Plaintext
Raw Normal View History

2026-08-28 18:52:27 +08:00
<EFBFBD>
2026-08-28 22:56:35 +08:00
<00><><EFBFBD>j<EFBFBD> <00><00><><00>dZddlmZddlmZddlZddlZGd<05>dee<04><00>Zedd<07><08><00>Gd <09>d
2026-08-28 18:52:27 +08:00
<EFBFBD><00><00><00>Z Gd <0B>d <0C><00>Z
dS) u<>网格回撤止盈状态机。
该模块只负责记录每个持仓的最高盈利网格,并判断当前盈亏率是否从
峰值网格回撤。它不包含下单逻辑,由主策略和 Upmax 根据返回的状态决定是否卖出。
<EFBFBD>)<01> dataclass)<01>EnumNc<00>"<00>eZdZdZdZdZdZdZdS)<07> GridStateu*单次盈亏率观察后的网格状态。<E68081>armed<65>raised<65>retreat<61>steadyN)<08>__name__<5F>
2026-08-28 22:56:35 +08:00
__module__<EFBFBD> __qualname__<5F>__doc__<5F>ARMED<45>RAISED<45>RETREAT<41>STEADY<44><00><00>"py-client\libs\grid_take_profit.pyrrs(<00><00><00><00><00><00>4<>4<> <13>E<EFBFBD> <15>F<EFBFBD><17>G<EFBFBD> <15>F<EFBFBD>F<EFBFBD>FrrT)<02>frozen<65>slotsc<00>2<00>eZdZUdZeed<eed<eed<dS)<06>GridObservationu'一次网格观察的不可变结果。<E69E9C>state<74> current_grid<69> peak_gridN)r r r rr<00>__annotations__<5F>intrrrrrs7<00><00><00><00><00><00><00>1<>1<> <14><14><14><14><15><15><15><15><12>N<EFBFBD>N<EFBFBD>N<EFBFBD>N<EFBFBD>Nrrc<00>L<00>eZdZdZd defd<04>Zdededefd<08>Zdedd fd
2026-08-28 18:52:27 +08:00
<EFBFBD>Z d d <0B>Z
d S)<0E>GridTrailingTrackeru<按持仓键隔离、线程安全的峰值网格跟踪器。<E599A8><00>?<3F>stepc<00>|<00>|dkrtd<02><00><00>||_i|_tj<00><00>|_dS)uk
Args:
step: 单个网格的盈亏率跨度(百分点),必须大于 0。
rzgrid step must be positiveN)<06>
2026-08-28 22:56:35 +08:00
ValueError<EFBFBD>_step<65>_peaks<6B> threading<6E>Lock<63>_lock)<02>selfr"s r<00>__init__zGridTrailingTracker.__init__#s=<00><00>
2026-08-28 18:52:27 +08:00
<10>1<EFBFBD>9<EFBFBD>9<EFBFBD><1C>9<>:<3A>:<3A> :<3A><19><04>
<EFBFBD>&(<28><04> <0B><1E>^<5E>%<25>%<25><04>
<EFBFBD>
<EFBFBD>
r<00> position_key<65>pnl_rate<74>returnc<00><00>tj||jz <00><00>}|j5|j<00>|<01><00>}|<04>1||j|<t tj||<03><00>cddd<01><00>S||kr1||j|<t tj ||<03><00>cddd<01><00>S||kr't tj
2026-08-28 22:56:35 +08:00
||<04><00>cddd<01><00>St tj ||<04><00>cddd<01><00>S#1swxYwYdS)uB记录当前盈亏率并返回相对于历史峰值的状态。N) <0C>math<74>floorr%r)r&<00>getrrrrrr)r*r,r-rrs r<00>observezGridTrailingTracker.observe0s<><00><00><1C>z<EFBFBD>(<28>T<EFBFBD>Z<EFBFBD>"7<>8<>8<> <0C> <11>Z<EFBFBD> N<01> N<01><1C> <0B><0F><0F> <0C>5<>5<>I<EFBFBD><19> <20>,8<><04> <0B>L<EFBFBD>)<29>&<26>y<EFBFBD><EFBFBD> <0C>l<EFBFBD>S<>S<>  N<01> N<01> N<01> N<01> N<01> N<01> N<01> N<01><1C>i<EFBFBD>'<27>'<27>,8<><04> <0B>L<EFBFBD>)<29>&<26>y<EFBFBD>'7<><1C>|<7C>T<>T<> N<01> N<01> N<01> N<01> N<01> N<01> N<01> N<01><1C>i<EFBFBD>'<27>'<27>&<26>y<EFBFBD>'8<>,<2C> <09>R<>R<> N<01> N<01> N<01> N<01> N<01> N<01> N<01> N<01>"#<23>9<EFBFBD>#3<>\<5C>9<EFBFBD>M<>M<># N<01> N<01> N<01> N<01> N<01> N<01> N<01> N<01> N<01> N<01> N<01> N<01><><EFBFBD><EFBFBD> N<01> N<01> N<01> N<01> N<01> Ns$<00>AC=<03>2*C=<03>) C=<03>C=<03>=D<07>DNc<00>|<00>|j5|j<00>|d<01><00>ddd<01><00>dS#1swxYwYdS)uH持仓卖出成功后删除峰值使下次建仓从新状态开始。N)r)r&<00>pop)r*r,s r<00>clearzGridTrailingTracker.clearGs<><00><00> <11>Z<EFBFBD> 0<> 0<> <10>K<EFBFBD>O<EFBFBD>O<EFBFBD>L<EFBFBD>$<24> /<2F> /<2F> /<2F> 0<> 0<> 0<> 0<> 0<> 0<> 0<> 0<> 0<> 0<> 0<> 0<><30><EFBFBD><EFBFBD> 0<> 0<> 0<> 0<> 0<> 0s <00>1<03>5<07>5c<00><><00><02>t|<01><00><00>|j5<00>fd<01>|j<00><00><00>D<00><00>|_ddd<02><00>dS#1swxYwYdS)uW删除已不在券商持仓中的峰值避免同代码重新开仓继承旧状态。c<00>$<00><01>i|] \}}|<01>v<00> ||<02><02> Srr)<04>.0<EFBFBD>key<65>value<75>actives <20>r<00>
<dictcomp>z.GridTrailingTracker.retain.<locals>.<dictcomp>Ps%<00><><00>]<5D>]<5D>]<5D>*<2A>#<23>u<EFBFBD>s<EFBFBD>V\<5C>}<7D>}<7D>3<EFBFBD><05>}<7D>}<7D>}rN)<04>setr)r&<00>items)r*<00> position_keysr<s @r<00>retainzGridTrailingTracker.retainLs<><00><><00><14>]<5D>#<23>#<23><06> <11>Z<EFBFBD> ^<01> ^<01>]<5D>]<5D>]<5D>]<5D><04> <0B>8I<38>8I<38>8K<38>8K<38>]<5D>]<5D>]<5D>D<EFBFBD>K<EFBFBD> ^<01> ^<01> ^<01> ^<01> ^<01> ^<01> ^<01> ^<01> ^<01> ^<01> ^<01> ^<01><><EFBFBD><EFBFBD> ^<01> ^<01> ^<01> ^<01> ^<01> ^s<00>+A<03>A<07>A)r!)r.N) r r r r<00>floatr+<00>strrr3r6rArrrr r s<><00><00><00><00><00><00>F<>F<> &<26> &<26>U<EFBFBD> &<26> &<26> &<26> &<26>N<01>C<EFBFBD>N<01>5<EFBFBD>N<01>_<EFBFBD>N<01>N<01>N<01>N<01>.0<>#<23>0<>$<24>0<>0<>0<>0<>
^<01>^<01>^<01>^<01>^<01>^rr ) r<00> dataclassesr<00>enumrr0r'rCrrr rrr<00><module>rFs<><00><01><04><04> "<22>!<21>!<21>!<21>!<21>!<21><15><15><15><15><15><15> <0B> <0B> <0B> <0B><10><10><10><10><16><16><16><16><16><03>T<EFBFBD><16><16><16> <0B><19>$<24>d<EFBFBD>#<23>#<23>#<23><13><13><13><13><13><13><13>$<24>#<23><13>0^<01>0^<01>0^<01>0^<01>0^<01>0^<01>0^<01>0^<01>0^<01>0^r