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

21 lines
4.1 KiB
Plaintext
Raw Normal View History

2026-08-28 18:52:27 +08:00
<EFBFBD>
2026-09-06 11:34:23 +08:00
<01><>j<EFBFBD> <00><00><><00>dZddlmZddlmZddlZddlZGd<05>dee<04><00>Zed<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-09-06 11:34:23 +08:00
__module__<EFBFBD> __qualname__<5F>__doc__<5F>ARMED<45>RAISED<45>RETREAT<41>STEADY<44><00><00>8D:\work\quant\big-qmt\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)<01>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>D<00>eZdZdZd defd<04>Zdededefd<08>Zdedd fd
<EFBFBD>Z d S) <0C>GridTrailingTrackeru<按持仓键隔离、线程安全的峰值网格跟踪器。<E599A8><00>?<3F>stepc<00>|<00>|dkrtd<02><00><00>||_i|_tj<00><00>|_dS)uk
2026-08-28 18:52:27 +08:00
Args:
step: 单个网格的盈亏率跨度(百分点),必须大于 0。
rzgrid step must be positiveN)<06>
2026-09-06 11:34:23 +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-09-06 11:34:23 +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>5)r )
r r r r<00>floatr*<00>strrr2r5rrrrr 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<>0<>0rr) r<00> dataclassesr<00>enumrr/r&r7rrrrrr<00><module>r:s<><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><14><16><16><16><13><13><13><13><13><13><13><17><16><13>*0<>*0<>*0<>*0<>*0<>*0<>*0<>*0<>*0<>*0r