Files
big-qmt/py-client/tests/__pycache__/test_trend.cpython-311.pyc

46 lines
12 KiB
Plaintext
Raw Normal View History

2026-08-28 22:56:35 +08:00
<EFBFBD>
<00><><EFBFBD>j<EFBFBD><00><01><00>ddlmZddlZddlmZddlmZddlmZddl m
Z
m Z ddl m Z mZmZddlmZmZdd lmZmZmZdd
lmZdd lmZmZmZGd <0C>d <0A><00>ZGd<0E>dej<00><00>Ze dkrej!<00><00>dSdS)<11>)<01> annotationsN)<01>TemporaryDirectory)<01>SimpleNamespace)<01>patch)<02> GridState<74>GridTrailingTracker)<03>Assets<74>Position<6F>Tick)<02> OrderBook<6F>PlaceOrderRequest)<03>
LOSS_TIERS<EFBFBD> handle_loss<73>manage_positions)<01>RunOnce)<03> STATUS_OK<4F>State<74> StateItemc<01><00>eZdZd<01>Zd<02>ZdS)<04>
FakeClientc<01><00>g|_dS<00>N)<01>orders)<01>selfs <20>3D:\work\quant\big-qmt\py-client\tests\test_trend.py<70>__init__zFakeClient.__init__s <00><00><18><04> <0B> <0B> <0B>c<01>t<00>|j<00>|||||f<05><00>ddt|j<00><00><00><00>d<03>S)N<>successzbroker-)<02>status<75> order_ref)r<00>append<6E>len)r<00>op<6F>code<64>volume<6D> strategy_name<6D>order_ids r<00>passorder_latest_taggedz"FakeClient.passorder_latest_taggedsD<00><00> <0C> <0B><1A><1A>B<EFBFBD><04>f<EFBFBD>m<EFBFBD>X<EFBFBD>F<>G<>G<>G<>#<23>2N<32>C<EFBFBD><04> <0B><L<><L<>2N<32>2N<32>O<>O<>OrN)<05>__name__<5F>
__module__<EFBFBD> __qualname__rr)<00>rrrrs7<00><00><00><00><00><00><19><19><19>P<01>P<01>P<01>P<01>Prrc<01>2<00>eZdZd<01>Zd<02>Zd<03>Zd<04>Zd<05>Zd<06>ZdS)<08>
TrendTestsc<01><><00>td<01><00>}|<00>|<01>dd<03><00>jtj<00><00>|<00>|<01>dd<04><00>jtj<00><00>|<00>|<01>dd<05><00>jtj<00><00>|<00>|<01>dd<05><00>jtj<00><00>|<01>g<00><00>|<00>|<01>dd<05><00>jtj<00><00>dS)N<>zA:codeg<65><67><EFBFBD><EFBFBD><EFBFBD><EFBFBD>@g<><67><EFBFBD><EFBFBD><EFBFBD><EFBFBD>@g333333@zB:code) r<00> assertEqual<61>observe<76>stater<00>ARMED<45>RAISED<45>RETREAT<41>retain)r<00>trackers r<00>&test_grid_states_and_account_isolationz1TrendTests.test_grid_states_and_account_isolations<><00><00>%<25>a<EFBFBD>(<28>(<28><07> <0C><18><18><17><1F><1F><18>3<EFBFBD>7<>7<>=<3D>y<EFBFBD><EFBFBD>O<>O<>O<> <0C><18><18><17><1F><1F><18>3<EFBFBD>7<>7<>=<3D>y<EFBFBD>?O<>P<>P<>P<> <0C><18><18><17><1F><1F><18>3<EFBFBD>7<>7<>=<3D>y<EFBFBD>?P<>Q<>Q<>Q<> <0C><18><18><17><1F><1F><18>3<EFBFBD>7<>7<>=<3D>y<EFBFBD><EFBFBD>O<>O<>O<><0F><0E><0E>r<EFBFBD><1A><1A><1A> <0C><18><18><17><1F><1F><18>3<EFBFBD>7<>7<>=<3D>y<EFBFBD><EFBFBD>O<>O<>O<>O<>Orc<01><00>t<00><00>}t<00><00>}t|ddddd<05><00>}|<00>|<02>|<03><00><00><00>|<00>|<02>dd<06><00><00><00>dS)N<><00> 000001.SZ<53>d<00>local<61>morning<6E>BUY)rr r <00>
assertTrue<EFBFBD>place<63>busy)r<00>client<6E>book<6F>requests r<00>%test_order_book_locks_duplicate_orderz0TrendTests.test_order_book_locks_duplicate_order#so<00><00><1B><1C><1C><06><18>{<7B>{<7B><04>#<23>F<EFBFBD>B<EFBFBD> <0B>S<EFBFBD>'<27>9<EFBFBD>U<>U<><07> <0C><0F><0F><04>
<EFBFBD>
<EFBFBD>7<EFBFBD>+<2B>+<2B>,<2C>,<2C>,<2C> <0C><0F><0F><04> <09> <09>+<2B>u<EFBFBD>5<>5<>6<>6<>6<>6<>6rc<01><><00>t<00><00>5}tj|dd<02><00>}tddddd<06><07><00>}|<02>|g<01><00>t t <00><00>|t<00><00>t d<08><00> <09><00>t d
<EFBFBD>d <0B><00> <0C><00>td <0A><00>t dgd ddd<01><10><00><00><11><00>}t|dtd<12><13><00>i|gdd<0F><00>ddd<00><00>dS#1swxYwYdS)N<>trend<6E>Ar=r><00>
<00><>)<05>
stock_coder&<00>can_use_volume<6D>
open_price<EFBFBD> market_valuec<01><00>dSrr-<00><01>_codes r<00><lambda>zQTrendTests.test_position_dataclasses_execute_without_type_error.<locals>.<lambda>4s<00><00><04>r)<01>forgetc<01><00>dS)NFr-<00><01>_argss rrUzQTrendTests.test_position_dataclasses_execute_without_type_error.<locals>.<lambda>5s<00><00>5<EFBFBD>rc<01><00>dSrr-rSs rrUzQTrendTests.test_position_dataclasses_execute_without_type_error.<locals>.<lambda>5s<00><00>_c<5F>r)<02> triggeredrVr1F<><46>)<06>
account_id<EFBFBD>excluded_codes<65> grid_step_pct<63>enable_loss_add_position<6F> buy_value<75>strategy)rEr4r<00>
open_watch<EFBFBD> add_watch<63>profit_tracker<65> account_cfgg333333$@<40><01>
last_priceT) rr<00> for_strategyr
<00>sync_positionsrrr rrr )r<00> directoryr4<00>position<6F>runtimes r<00>4test_position_dataclasses_execute_without_type_errorz?TrendTests.test_position_dataclasses_execute_without_type_error*ss<00><00> <1F> !<21> !<21> d<01>Y<EFBFBD><19>&<26>y<EFBFBD>'<27>3<EFBFBD>?<3F>?<3F>E<EFBFBD><1F>&<26>s<EFBFBD>3<EFBFBD><1D>D<EFBFBD><0E><0E><0E>H<EFBFBD> <12> <20> <20>(<28><1A> ,<2C> ,<2C> ,<2C>%<25>!<21>|<7C>|<7C>5<EFBFBD><19><1B><1B>*<2A>2D<32>2D<32>E<>E<>E<>)<29>4H<34>4H<34>Qc<51>Qc<51>d<>d<>d<>2<>1<EFBFBD>5<>5<>+<2B>"<22>2<EFBFBD>Q<EFBFBD>-2<>d<EFBFBD>$<24><12><12><12>
<0E>
<0E>
<0E>G<EFBFBD> <1D>W<EFBFBD>{<7B>D<EFBFBD>D<EFBFBD>4I<34>4I<34>4I<34>&J<>X<EFBFBD>J<EFBFBD>X\<5C>^b<> c<> c<> c<>% d<01> d<01> d<01> d<01> d<01> d<01> d<01> d<01> d<01> d<01> d<01> d<01><><EFBFBD><EFBFBD> d<01> d<01> d<01> d<01> d<01> ds<00>CC/<03>/C3<07>6C3c <01><><00>|<00>tt<00><00>d<01><00>t<00><00>5}t j|dd<03><00>}t dddd<06><07><00>}|<02>|g<01><00>|<02>d<03><00>}tt<00><00>|_ |<02>
|<04><00>t|tdd<02> <09><00>td
<EFBFBD><00> <0B><00>t<00><00>t<00><00><00> <0C><00>}t||td <0A><0E><00>dd<08><00>}|<00>|j<00><00>ddd<00><00>dS#1swxYwYdS)N<>rJrKr>rLrM)rNr&rPrQr\)rarbc<01><00>dS)NTr-rXs rrUzFTrendTests.test_loss_tier_boundary_does_not_overflow.<locals>.<lambda>Js<00><00>4<EFBFBD>r)r[)r4rfrdrrE<00>rgi<><69><EFBFBD><EFBFBD>)r2r#rrrrir
rj<00>get<65> added_num<75>setrr rrr <00> assertFalse<73> submitted)rrkr4rl<00>itemrm<00>decisions r<00>)test_loss_tier_boundary_does_not_overflowz4TrendTests.test_loss_tier_boundary_does_not_overflow?sy<00><00> <0C><18><18><13>Z<EFBFBD><1F><1F>!<21>,<2C>,<2C>,<2C> <1F> !<21> !<21> 1<>Y<EFBFBD><19>&<26>y<EFBFBD>'<27>3<EFBFBD>?<3F>?<3F>E<EFBFBD><1F>3<EFBFBD>s<EFBFBD>r<EFBFBD>X\<5C>]<5D>]<5D>]<5D>H<EFBFBD> <11> <20> <20>(<28><1A> ,<2C> ,<2C> ,<2C><18>9<EFBFBD>9<EFBFBD>S<EFBFBD>><3E>><3E>D<EFBFBD> <20><1A>_<EFBFBD>_<EFBFBD>D<EFBFBD>N<EFBFBD> <11>I<EFBFBD>I<EFBFBD>d<EFBFBD>O<EFBFBD>O<EFBFBD>O<EFBFBD>%<25><1B><1F>4<EFBFBD>RY<52>)Z<>)Z<>)Z<>)<29>4G<34>4G<34>H<>H<>H<>QZ<51>Q\<5C>Q\<5C>!<21>|<7C>|<7C><0E><0E><0E>G<EFBFBD>
#<23>7<EFBFBD>H<EFBFBD>d<EFBFBD>a<EFBFBD>6H<36>6H<36>6H<36>#<23>t<EFBFBD>T<>T<>H<EFBFBD> <10> <1C> <1C>X<EFBFBD>/<2F> 0<> 0<> 0<> 1<> 1<> 1<> 1<> 1<> 1<> 1<> 1<> 1<> 1<> 1<> 1<><31><EFBFBD><EFBFBD> 1<> 1<> 1<> 1<> 1<> 1s<00>DE <03> E<07>Ec<01><><00>t<00><00>5}tj|dd<02><00>}tddd<04><05><00>}|<02>t ddd<07><08><00><00><00>|<02>|ggd d
ig<01><00>|<00>|<02>d<02><00>j t<00><00>ddd<00><00>dS#1swxYwYdS) NrJrKr>rL<00>rNr&rPzlocal-1<>ING)<02> base_order_id<69> base_status<75> m_strRemarkzlocal-1|morning) rrrir
rur<00> reconciler2rsrr)rrkr4rls r<00>"test_reconcile_ing_order_from_dealz-TrendTests.test_reconcile_ing_order_from_dealPs<00><00> <1F> !<21> !<21> D<01>Y<EFBFBD><19>&<26>y<EFBFBD>'<27>3<EFBFBD>?<3F>?<3F>E<EFBFBD><1F>3<EFBFBD>s<EFBFBD>r<EFBFBD>J<>J<>J<>H<EFBFBD> <11>I<EFBFBD>I<EFBFBD>i<EFBFBD><03>9<EFBFBD>%<25>P<>P<>P<> Q<> Q<> Q<> <11>O<EFBFBD>O<EFBFBD><19>
<EFBFBD><12><1F>!2<>3<>4<> <0E> <0E> <0E>
<11> <1C> <1C>U<EFBFBD>Y<EFBFBD>Y<EFBFBD>s<EFBFBD>^<5E>^<5E>7<><19> C<> C<> C<> D<01> D<01> D<01> D<01> D<01> D<01> D<01> D<01> D<01> D<01> D<01> D<01><><EFBFBD><EFBFBD> D<01> D<01> D<01> D<01> D<01> Ds<00>BB8<03>8B<<07>?B<c <01>|<00>td<01>d<02>d<03><00><04><00>}t|td<05><06><00>td<07><08><00>td <09><00>
<EFBFBD><00>td g<01> <0C><00><00> <0A><00>}tdd<0F><10><00>5tdd<0F><10><00>5td<12><00>5}td<13><00>5}t|g<00><00>ddd<00><00>n #1swxYwYddd<00><00>n #1swxYwYddd<00><00>n #1swxYwYddd<00><00>n #1swxYwY|<03><00><00>|<04><00><00>dS)Nc<01>$<00>tdd<02><03><00>S)Ni'rL)<02>total<61> available)r r-rrrUzITrendTests.test_low_cash_still_runs_position_management.<locals>.<lambda>^s<00><00>6<EFBFBD><05><12><<3C><<3C><<3C>rc<01>.<00>dgtddd<03><04><00>gfS)NrKr>rLr|)r
r-rrrUzITrendTests.test_low_cash_still_runs_position_management.<locals>.<lambda>_s <00><00><03>u<EFBFBD>x<EFBFBD>3<EFBFBD>s<EFBFBD>WY<57>'Z<>'Z<>'Z<>&[<5B>\<5C>rc<01>&<00>dtd<02><03><00>iS)NrK<00> rg)r )<01>_codess rrUzITrendTests.test_low_cash_still_runs_position_management.<locals>.<lambda>`s<00><00>c<EFBFBD>4<EFBFBD>2<EFBFBD>+><3E>+><3E>+><3E>%?<3F>r)<03>assets<74> positions<6E> full_tickg<6B><67><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>?)<01>min_cash_ratiozhttp://example)<01>api_hostc<01><00>dSrr-)<01>_clients rrUzITrendTests.test_low_cash_still_runs_position_management.<locals>.<lambda>fs<00><00>$<24>r)<01>cancel_expiredrK)<01>codes)rErf<00>
global_cfgrr4z strategy.trend.boot.trading_timeT)<01> return_valuez%strategy.trend.boot.market_allow_openzstrategy.trend.boot.open_signalz$strategy.trend.boot.manage_positions)rrr<00>assert_not_called<65>assert_called_once)rrErm<00> open_mock<63> manage_mocks r<00>,test_low_cash_still_runs_position_managementz7TrendTests.test_low_cash_still_runs_position_management\s\<00><00> <20><<3C><<3C>\<5C>\<5C>?<3F>?<3F>
<EFBFBD>
<EFBFBD>
<EFBFBD><06>
"<22><19>'<27>s<EFBFBD>;<3B>;<3B>;<3B>&<26>0@<40>A<>A<>A<>"<22>2F<32>2F<32>G<>G<>G<>!<21><13><05>.<2E>.<2E>.<2E> 
<EFBFBD>
<EFBFBD>
<EFBFBD><07> <12>4<>4<EFBFBD> H<> H<> H<> !<21> !<21> <11>9<><04> M<> M<> M<> !<21> !<21> <12>3<> 4<> 4<> !<21>9B<01> <11>8<> 9<> 9<>  !<21>>I<01> <13>G<EFBFBD>R<EFBFBD> <20> <20> <20>  !<21> !<21> !<21> !<21> !<21> !<21> !<21> !<21> !<21> !<21> !<21><><EFBFBD><EFBFBD> !<21> !<21> !<21> !<21> !<21> !<21> !<21> !<21> !<21> !<21> !<21> !<21> !<21> !<21> !<21><><EFBFBD><EFBFBD> !<21> !<21> !<21> !<21> !<21> !<21> !<21> !<21> !<21> !<21> !<21> !<21> !<21> !<21> !<21><><EFBFBD><EFBFBD> !<21> !<21> !<21> !<21> !<21> !<21> !<21> !<21> !<21> !<21> !<21> !<21> !<21> !<21> !<21><><EFBFBD><EFBFBD> !<21> !<21> !<21> !<21> <12>#<23>#<23>%<25>%<25>%<25><13>&<26>&<26>(<28>(<28>(<28>(<28>(s~<00>5D <03>C2<05>C<07>'C <09>8 C<07>C <0A>C<07> C <0A> C<07> C2<05>C <0B>C2<05>"C <0B>#C2<05>& D <03>2C6 <09>6D <03>9C6 <09>:D <03> D <07>D N) r*r+r,r:rHrnrzr<>r<>r-rrr/r/sw<00><00><00><00><00><00>P<01>P<01>P<01>7<>7<>7<>d<01>d<01>d<01>*1<>1<>1<>"
D<01>
D<01>
D<01>)<29>)<29>)<29>)<29>)rr/<00>__main__)"<22>
__future__r<00>unittest<73>tempfiler<00>typesr<00> unittest.mockr<00>libs.grid_take_profitrr<00>sdkr r
r <00>strategy.trend.orderr r <00>strategy.trend.positionsrrr<00>strategy.trend.bootr<00>strategy.trend.staterrrr<00>TestCaser/r*<00>mainr-rr<00><module>r<>s~<00><01>"<22>"<22>"<22>"<22>"<22>"<22><0F><0F><0F><0F>'<27>'<27>'<27>'<27>'<27>'<27>!<21>!<21>!<21>!<21>!<21>!<21><1F><1F><1F><1F><1F><1F>@<40>@<40>@<40>@<40>@<40>@<40>@<40>@<40>&<26>&<26>&<26>&<26>&<26>&<26>&<26>&<26>&<26>&<26>=<3D>=<3D>=<3D>=<3D>=<3D>=<3D>=<3D>=<3D>N<>N<>N<>N<>N<>N<>N<>N<>N<>N<>'<27>'<27>'<27>'<27>'<27>'<27><<3C><<3C><<3C><<3C><<3C><<3C><<3C><<3C><<3C><<3C>P<01>P<01>P<01>P<01>P<01>P<01>P<01>P<01>X)<29>X)<29>X)<29>X)<29>X)<29><18>"<22>X)<29>X)<29>X)<29>v <0C>z<EFBFBD><19><19><11>H<EFBFBD>M<EFBFBD>O<EFBFBD>O<EFBFBD>O<EFBFBD>O<EFBFBD>O<EFBFBD><1A>r