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

26 lines
7.1 KiB
Plaintext
Raw Normal View History

2026-08-28 18:52:27 +08:00
<EFBFBD>
2026-09-07 14:04:26 +08:00
/<2F><>j<EFBFBD><00><01>|<00>dZddlmZddlmZddlmZddlmZddlm Z ddl
m Z ddl Z dd <0A>Zdd<15>Zd d!d<1A>Zd"d<1D>ZdS)#u趋势策略开仓逻辑。<E8BE91>)<01> annotations)<01>datetime)<01>calc_buy_volume)<01>OP_BUY)<01>Runtime)<01>PlaceOrderRequestN<74>runr<00>return<72>Nonec <01>:<00>|D<00>]}|j|jjvr!tjd|j|j<00><00><00>7|jj<00>|j<00><00>}|<04>!tj d|j|j<00><00><00>~t|j <00><00>s'tjd|j|j|j <00><00><00><>|j <00> |jd<05><00>r!tjd|j|j<00><00><00><>|<01>|j<00><00>}|<05>|jnd}|dkr"tjd|j|j<00><00><00><01>Gt||jj<00><00>}|dkr"tjd |j|j<00><00><00><01><>|jr<>|jdkr<>||jkr<> t'||j||j|<06><00>tjd
2026-09-06 11:34:23 +08:00
|j|j|<07><00>ne#t($r,}tjd |j|j||<08><00>Yd}~n4d}~wt*$r$tjd |j|j|<07><00>YnwxYw<01><02>M|j<00>d |j|<06><00>s<02><02>p t'||j||j|<06><00>tjd|j|j|<07><00><00><02><>#t($r-}tj d |j|j||<08><00>Yd}~<08><02><>d}~wt*$r%tjd |j|j|<07><00>Y<00><03>wxYwdS)u0逐个验证开仓信号并提交买入委托。u7[Open] %s 信号=%s跳过已配置为排除股票Nu4[Open] %s 信号=%s跳过未找到信号配置u8[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>code<64> account_cfg<66>excluded_codes<65>log<6F>info<66>
signal_key<EFBFBD>
global_cfg<EFBFBD>signals<6C>get<65>warning<6E>check_timezone<6E>timezone<6E>orders<72>busy<73>
last_pricer<00> 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-07 14:04:26 +08:00
open_watch<EFBFBD> triggered) 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_signalr/s<><00><00><1C>b<0E>b<0E><04> <0F>9<EFBFBD><03><0F>6<> 6<> 6<> <0F>H<EFBFBD>I<>4<EFBFBD>9<EFBFBD>VZ<56>Ve<56> <0E> <0E> <0E> <15><1B><0E>.<2E>2<>2<>4<EFBFBD>?<3F>C<>C<> <0A> <18> <20> <0F>K<EFBFBD>F<><14> <09><14><0F> <0E> <0E> <0E>
<15><1D>m<EFBFBD>4<>5<>5<> <15> <0F>H<EFBFBD>J<><14> <09><14><0F><1D>&<26>  <0E> <0E> <0E> <15> <0F>:<3A>?<3F>?<3F>4<EFBFBD>9<EFBFBD>e<EFBFBD> ,<2C> ,<2C> <15> <0F>H<EFBFBD>F<><04> <09>SW<53>Sb<53> <0E> <0E> <0E> <15><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> <1A> /<2F> <15><14><0F>!<21>#<23>#<23><15><04><0F>'<27>'<27> <12><17><03>T<EFBFBD>Y<EFBFBD><06><04><0F><15>G<>G<>G<><13><08>T<><18>I<EFBFBD><18>O<EFBFBD><1A> <12><12><12><12><>  <20> <12> <12> <12><13><08>C<><18>I<EFBFBD><18>O<EFBFBD><1A><17> <12><12><12><12><12><12><12><12><><EFBFBD><EFBFBD><EFBFBD><1D> <12> <12> <12><13> <0A>><3E><18>I<EFBFBD><18>O<EFBFBD><1A> <12><12><12><12><12> <12><><EFBFBD><EFBFBD> <15><13>~<7E>'<27>'<27><08>$<24>)<29>U<EFBFBD>C<>C<> <15> <14> <0E> <13>C<EFBFBD><14><19>F<EFBFBD>D<EFBFBD>O<EFBFBD>U<EFBFBD> C<> C<> C<> <0F>H<EFBFBD>M<><14> <09><14><0F><16>  <0E> <0E> <0E> <0E><> <1C> <0E> <0E> <0E> <0F>K<EFBFBD>?<3F><14> <09><14><0F><16><13>  <0E> <0E> <0E> <0E> <0E> <0E> <0E> <0E><><EFBFBD><EFBFBD><EFBFBD><19> <0E> <0E> <0E> <0F>M<EFBFBD>:<3A>D<EFBFBD>I<EFBFBD>t<EFBFBD><EFBFBD>X^<5E> <0E> <0E> <0E> <0E> <0E> <0E><><EFBFBD><EFBFBD>b<0E>bs<<00>*>G)<02>)
2026-09-06 11:34:23 +08:00
I <05>3"H<05>.I <05>
I <05>4>J4<02>4
2026-09-07 14:04:26 +08:00
L<05>>"K&<05>&.L<05>Lr<00>strr,<00>intrr+<00>floatc<01><00>|j<00>d<01><00>}tt||||d<02><03><00>}|j<00>|j|<06><00>st d<04><00><00>|j<00>|<01><00>dS)u9生成本地订单号并按最新价提交开仓委托。r <00>base)<01>kindu订单提交失败N) r<00> new_order_idrr<00>place<63>clientr!r$<00>forget)r rr,rr+<00>order_id<69>requests r.r r us<><00><00><13>z<EFBFBD>&<26>&<26>u<EFBFBD>-<2D>-<2D>H<EFBFBD><1F><0E> <0C><0E><10><12> <13> <06><06><06>G<EFBFBD> <0F>:<3A> <1B> <1B>C<EFBFBD>J<EFBFBD><07> 0<> 0<>1<><1A>/<2F>0<>0<>0<><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-07 14:04:26 +08:00
<20><00>*T<><<00>,<2C>-<2D>r<00>NF) r0<00>striprr=<00>hour<75>minute<74>split<69>len<65>_parse_minutes)rr=<00>current<6E>current_minutes<65>section<6F>bounds<64>start<72>ends r.rr<00>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>5r<<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>;rC)rHrKr1<00> TypeError<6F>
ValueError)rT<00> hour_text<78> minute_textrIrJs r.rMrM<00>s<><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 rrr0r,r1rr0r+r2r
r )N)rr0r=r>r
r?)rTr0r
rU)<12>__doc__<5F>
__future__rr<00>libsr<00>sdkr<00> libs.runtimer<00>
libs.orderr<00>loggingrr/r rrM<00>r<r.<00><module>rfs<><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> <20> <20> <20> <20> <20> <20>(<28>(<28>(<28>(<28>(<28>(<28><15><15><15><15>d<0E>d<0E>d<0E>d<0E>N <20> <20> <20> <20>(<11><11><11><11><11>< <1E> <1E> <1E> <1E> <1E> r<