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

28 lines
7.2 KiB
Plaintext
Raw Normal View History

2026-08-28 18:52:27 +08:00
<EFBFBD>
2026-09-04 19:48:47 +08:00
!<21>j<EFBFBD><00><01><><00>dZddlmZddlmZddlmZddlmZddlm Z ddl
2026-09-01 14:28:49 +08:00
m Z dd l m Z mZdd
2026-09-04 19:48:47 +08:00
lZd d<0F>Zd!d<17>Zd"d#d<1C>Zd$d<1F>Zd
S)%u趋势策略开仓逻辑。<E8BE91>)<01> annotations)<01>datetime)<01>calc_buy_volume)<01>OP_BUY<55>)<01>Runtime)<01>PlaceOrderRequest)<02>
STATUS_ING<EFBFBD> StateItemN<6D>runr<00>return<72>Nonec <01><><00>tjdt|<02><00><00><00>|D<00>]<5D>}|jj<00>|j<00><00>}|<04>t|j<00><00>s'tjd|j |j|j<00><00><00>d|j
<00> |j d<04><00>r!tjd|j |j<00><00><00><>|<01>|j <00><00>}|<05>|j nd}|dkr!tjd|j |j<00><00><00><>t||jj<00><00>}|dkr"tjd|j |j<00><00><00><01>3|jr<>|jdkr<>||jkr<> t%||j ||j|<06><00>tjd |j |j|<07><00>ne#t&$r,}tjd
|j |j||<08><00>Yd}~n4d}~wt($r$tjd |j |j|<07><00>YnwxYw<01><01><>|j<00>d |j |<06><00>s<02><02> t%||j ||j|<06><00>tjd |j |j|<07><00><00><02>[#t&$r-}tjd
|j |j||<08><00>Yd}~<08><02><>d}~wt($r%tjd |j |j|<07><00>Y<00><02><>wxYwdS)u0逐个验证开仓信号并提交买入委托。u[Open] 信号总数:%dNu8[Open] %s 信号=%s跳过不在信号时间段(%s)<29>BUYu4[Open] %s 信号=%s跳过买入委托处理中ru+[Open] %s 信号=%s跳过价格无效u+[Open] %s 信号=%s跳过数量无效u>[Open] %s 信号=%s买入=%d股原因=现价高于昨收u-[Open] %s 信号=%s买入=%d股失败%su([Open] %s 信号=%s买入=%d股异常u开仓u;[Open] %s 信号=%s买入=%d股原因=反弹已确认)<19>log<6F>info<66>len<65>
2026-08-28 18:52:27 +08:00
global_cfg<EFBFBD>signals<6C>get<65>
2026-09-01 14:28:49 +08:00
signal_key<EFBFBD>check_timezone<6E>timezone<6E>code<64>orders<72>busy<73>
2026-08-31 13:00:22 +08:00
last_pricer<00> account_cfg<66> buy_value<75>gt_last_price_is_open<65>
2026-09-01 14:28:49 +08:00
last_close<EFBFBD>do_open<65> RuntimeError<6F> Exception<6F> exception<6F>
2026-09-04 19:48:47 +08:00
open_watch<EFBFBD> triggered<65>warning) r <00>ticks<6B> open_signals<6C>item<65> signal_config<69>tick<63>price<63>volume<6D>excs <20>6D:\work\quant\big-qmt\py-client\strategy\trend\open.py<70> open_signalr2sF<00><00><07>H<EFBFBD> '<27><13>\<5C>):<3A>):<3A>;<3B>;<3B>;<3B><1C>.j<01>.j<01><04><1B><0E>.<2E>2<>2<>4<EFBFBD>?<3F>C<>C<> <0A> <18> <20><0E>}<7D>7M<37>(N<>(N<> <20> <0F>H<EFBFBD>O<>QU<51>QZ<51>\`<60>\k<>ly<6C>mC<02> D<02> D<02> D<02> <14> <0F>:<3A>?<3F>?<3F>4<EFBFBD>9<EFBFBD>U<EFBFBD> +<2B> +<2B> <15> <0F>H<EFBFBD>K<>T<EFBFBD>Y<EFBFBD>X\<5C>Xg<58> h<> h<> h<> <14><15>y<EFBFBD>y<EFBFBD><14><19>#<23>#<23><04>#'<27>#3<><04><0F><0F><11><05> <10>A<EFBFBD>:<3A>:<3A> <0F>H<EFBFBD>B<>D<EFBFBD>I<EFBFBD>t<EFBFBD><EFBFBD> _<> _<> _<> <14>!<21><15><03><0F>(A<>B<>B<><06> <11>Q<EFBFBD>;<3B>;<3B> <0F>H<EFBFBD>B<>D<EFBFBD>I<EFBFBD>t<EFBFBD><EFBFBD> _<> _<> _<> <14> <19> .<2E> <15>4<EFBFBD>?<3F>1<EFBFBD>3D<33>3D<33><15>t<EFBFBD><EFBFBD>I^<5E>I^<5E> n<01><17><03>T<EFBFBD>Y<EFBFBD><06><04><0F><15>G<>G<>G<><13><08>Y<>[_<>[d<>fj<66>fu<66>w}<7D>~<7E>~<7E>~<7E>~<7E><><1F> s<01> s<01> s<01><13><08>H<>$<24>)<29>UY<55>Ud<55>fl<66>nq<6E>r<>r<>r<>r<>r<>r<>r<>r<><72><EFBFBD><EFBFBD><EFBFBD><1C> n<01> n<01> n<01><13> <0A>H<>$<24>)<29>UY<55>Ud<55>fl<66>m<>m<>m<>m<>m<> n<01><><EFBFBD><EFBFBD> <14><13>~<7E>'<27>'<27><08>$<24>)<29>U<EFBFBD>C<>C<> <15> <14> j<01> <13>C<EFBFBD><14><19>F<EFBFBD>D<EFBFBD>O<EFBFBD>U<EFBFBD> C<> C<> C<> <0F>H<EFBFBD>R<>TX<54>T]<5D>_c<5F>_n<5F>pv<70> w<> w<> w<> w<><77><1B> r<01> r<01> r<01> <0F>K<EFBFBD>G<><14><19>TX<54>Tc<54>ek<65>mp<6D> q<> q<> q<> q<> q<> q<> q<> q<><71><EFBFBD><EFBFBD><EFBFBD><18> j<01> j<01> j<01> <0F>M<EFBFBD>D<>d<EFBFBD>i<EFBFBD>QU<51>Q`<60>bh<62> i<> i<> i<> i<> i<> j<01><><EFBFBD><EFBFBD>[.j<01>.js<<00>6>F5<02>5
H<05>?"G&<05>&.H<05>H<05>>J<02>
K$<05>
"J2<05>2.K$<05>#K$r<00>strr/<00>intrr.<00>floatc <01><><00>|j<00>d<01><00>}t|jt||||<03><00>}|j<00>|<06><00>st d<02><00><00>|j<00>t|||t|d<03><00>t<00><04><00><00><00>|j<00> <00><00>|j <00>|<01><00>dS)u9生成本地订单号并按最新价提交开仓委托。<E68998>baseu订单提交失败<E5A4B1>)r<00> base_order_id<69>base_qty<74> base_cost<73> base_statusN)r<00> new_order_idr <00>clientr<00>placer#<00>state<74>setr <00>roundr
<00>saver&<00>forget)r rr/rr.<00>order_id<69>requests r1r"r"Cs<><00><00><12>z<EFBFBD>&<26>&<26>v<EFBFBD>.<2E>.<2E>H<EFBFBD><1F> <0B>
<EFBFBD><0E> <0C><0E><10><12> <06><06>G<EFBFBD> <0F>:<3A> <1B> <1B>G<EFBFBD> $<24> $<24>1<><1A>/<2F>0<>0<>0<><07>I<EFBFBD>M<EFBFBD>M<EFBFBD>)<29> <11><1E><17><17><05>q<EFBFBD>/<2F>/<2F><1E> <06><06><06><07><07><07><08>I<EFBFBD>N<EFBFBD>N<EFBFBD><14><14><14><07>N<EFBFBD><19><19>$<24><1F><1F><1F><1F><1F>r<00>now<6F>datetime | None<6E>boolc<01>
2026-08-28 18:52:27 +08:00
<00>t|pd<01><00><00><00><00>}|dkrdS|ptj<00><00>}|jdz|jz}|<00>d<05><00>D]<5D>}|<04><00><00><00>d<06><00>}t|<05><00>dkr<01>=t|d<00><00>}t|d <00><00>}|<06>|<07><01>l||kr||cxkr|krnndS||kr||ks||krdS<00><>d S) u<>验证当前时间是否处于配置区间。
``*`` 表示全天允许;多个区间用逗号分隔,例如
``9:30-10:30,13:30-14:30``。同时支持跨午夜区间。
2026-09-04 19:48:47 +08:00
<20><00>*T<><<00>,<2C>-r8rrNF) r3<00>striprrH<00>hour<75>minute<74>splitr<00>_parse_minutes)rrH<00>current<6E>current_minutes<65>section<6F>bounds<64>start<72>ends r1rr\s%<00><00> <13>8<EFBFBD>><3E>r<EFBFBD>"<22>"<22>(<28>(<28>*<2A>*<2A>H<EFBFBD><0F>3<EFBFBD><EFBFBD><EFBFBD><13>t<EFBFBD><11>#<23>X<EFBFBD>\<5C>^<5E>^<5E>G<EFBFBD><1D>l<EFBFBD>R<EFBFBD>'<27>'<27>.<2E>8<>O<EFBFBD><1B>><3E>><3E>#<23>&<26>&<26> <18> <18><07><18><1D><1D><1F><1F>&<26>&<26>s<EFBFBD>+<2B>+<2B><06> <0E>v<EFBFBD>;<3B>;<3B>!<21> <1B> <1B> <14><1E>v<EFBFBD>a<EFBFBD>y<EFBFBD>)<29>)<29><05><1C>V<EFBFBD>A<EFBFBD>Y<EFBFBD>'<27>'<27><03> <10>=<3D>C<EFBFBD>K<EFBFBD> <14> <10>C<EFBFBD><<3C><<3C>E<EFBFBD>_<EFBFBD>;<3B>;<3B>;<3B>;<3B><03>;<3B>;<3B>;<3B>;<3B>;<3B><17>4<EFBFBD>4<EFBFBD> <10>3<EFBFBD>;<3B>;<3B>O<EFBFBD>u<EFBFBD>4<>4<><0F>3<EFBFBD>8N<38>8N<38><17>4<EFBFBD>4<EFBFBD><34> <10>5rG<00>value<75>
int | Nonec<01><00> |<00><00><00><00>d<01><00>\}}t|<01><00>t|<02><00>}}n#ttf$rYdSwxYwd|cxkrdkrnnd|cxkrdksndS|dz|zS)uB把 ``时:分`` 转换为当天分钟数,无效值返回 None。<65>:Nr<00><00>;rN)rQrTr4<00> TypeError<6F>
ValueError)r\<00> hour_text<78> minute_textrRrSs r1rUrUzs<><00><00><14>!&<26><1B><1B><1D><1D>!4<>!4<>S<EFBFBD>!9<>!9<><1E> <09>;<3B><1A>9<EFBFBD>~<7E>~<7E>s<EFBFBD>;<3B>'7<>'7<>f<EFBFBD><04><04><> <15>z<EFBFBD> "<22><14><14><14><13>t<EFBFBD>t<EFBFBD><14><><EFBFBD><EFBFBD> <0C><04>?<3F>?<3F>?<3F>?<3F><02>?<3F>?<3F>?<3F>?<3F>?<3F>!<21>v<EFBFBD>"3<>"3<>"3<>"3<><12>"3<>"3<>"3<>"3<><13>t<EFBFBD> <0F>"<22>9<EFBFBD>v<EFBFBD> <1D>s<00>AA <00> A <03>A )r rr r) r rrr3r/r4rr3r.r5r r)N)rr3rHrIr rJ)r\r3r r])<15>__doc__<5F>
__future__rr<00>libsr<00>sdkr<00>runtimer<00>orderr r@r
r <00>loggingrr2r"rrU<00>rGr1<00><module>rns<><00><01>!<21>!<21>"<22>"<22>"<22>"<22>"<22>"<22><1D><1D><1D><1D><1D><1D> <20> <20> <20> <20> <20> <20><16><16><16><16><16><16><1C><1C><1C><1C><1C><1C>$<24>$<24>$<24>$<24>$<24>$<24>(<28>(<28>(<28>(<28>(<28>(<28>(<28>(<28><15><15><15><15>1j<01>1j<01>1j<01>1j<01>h <20> <20> <20> <20>2<11><11><11><11><11>< <1E> <1E> <1E> <1E> <1E> rG