admin
2025-04-08 70b51a2636858fb8cfbf39d3764d88d07286d8ad
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
B
ɨ„gÕã@sòdZddlZddlZddlZddlZddlmZddlmZddl    m
Z
iZ dZ dd„Z d    e fd
d „Zejd œd d„Zdd„Zdd„Ze
 ¡fdd„Zdd„ZgZiZdd„Zdd„Zdd„Zdd„Zdd „Zed!krîejed    d" ¡eƒdS)#u
华鑫增值服务API
éN)Ú l1_api_client)Ú logger_debug)ÚtoolécCs |t|<dS)N)Ú__response_data)Ú
request_idÚ response_data©r    õ8D:\量化低吸\low_suction_hx\utils\hx_qc_value_util.pyÚ__set_response_datasr TcCs\|rXt ¡}zHxBt d¡|tkr0t |¡}|St ¡||krtd|›ƒ‚qWWdXdS)Ng{®Gázt?u读取内容超时: request_id=)ÚtimeÚsleeprÚpopÚ    Exception)rÚblockingÚtimeoutÚ
start_timeÚresultr    r    r
Ú__read_responses
 
r)Úresponse_queuecCs<x6y$| ¡}|d}|d}|t|<WqYqXqWdS)uD
    è¯»å–结果队列
    @param response_queue:
    @return:
    rÚdataN)Úgetr)rÚvalrrr    r    r
Ú__set_response's rc    Cs*d|›dtt ¡dƒ›dt dd¡›S)NZr_Ú_i'ri †)Úroundr ÚrandomÚrandint)Útyper    r    r
Ú__get_request_id7srcCst|ƒ}t |||dœ¡|S)N)rrr)rÚ request_queueÚ
put_nowait)rrrr    r    r
Ú__base_request;sr"cCsštƒd}d}xptttƒdddƒD]X}|dkrbt| dd¡ƒtt| dd¡ƒkrrd}t|}n|d7}t|}||kr$Pq$Wtd|||dœƒ}t|ƒS)u_
    èŽ·å–åŽ†å²K线
    @param code:
    @param count:
    @param end_date:
    @return:
    éÿÿÿÿNéú-ÚÚget_history_k_bars)Ú
start_dateÚend_dateÚcode)Úload_latest_trade_calendarÚrangeÚlenÚ__trade_calendar_listÚintÚreplacer"r)r*Úcountr)Ú_countr(Úirr    r    r
r'As$
r'cCs&td||dœƒ}t|ƒ}dd„|DƒS)NÚget_trade_calendar)r(r)c    Ss8g|]0}|dd…›d|dd…›d|dd…›‘qS)Nér%éér    )Ú.0Úxr    r    r
ú
<listcomp>^sz&get_trade_calendar.<locals>.<listcomp>)r"r)r(r)rÚresultsr    r    r
r4[sr4cCsÜtstr dSt ¡}t |d¡}tt |d¡|ƒ}x’tdt|ƒƒD]€}d|krbt|ƒdkrˆnn"||d||dft||<qB|dkrªd||dft||<qB||ddft||<qBWt ¡t     |¡dS)u2
    åŠ è½½æœ€è¿‘çš„äº¤æ˜“æ—¥åŽ†
    @return:
    Niâÿÿÿimrr$)
r.Ú__trade_calendar_dictrÚget_now_date_strÚdate_subr4r,r-ÚclearÚextend)r)Údaysr3r    r    r
r+fs  "r+cCs tƒ|tkrt |¡dSdS)u?
    èŽ·å–ä¸Šä¸€ä¸ªäº¤æ˜“æ—¥
    @param day:
    @return:
    rN)r+r<r)Údayr    r    r
Úget_previous_trading_date{srCcCs tƒ|tkrt |¡dSdS)u?
    èŽ·å–ä¸‹ä¸€ä¸ªäº¤æ˜“æ—¥
    @param day:
    @return:
    r$N)r+r<r)rBr    r    r
Úget_next_trading_date‡srDcCs<t ¡t ¡a}tjtjt|fdd}| ¡t|ƒdS)NT)ÚtargetÚargsÚdaemon)ÚmultiprocessingÚQueuer ÚProcessrÚrunÚstartr)rÚprocessr    r    r
rK“srKcCs6t d¡ttdddƒttdƒƒttdƒƒdS)NéÚ000333é–)r1z
2024-12-31z
2024-12-30)r r Úprintr'rCrDr    r    r    r
Ú__testœs
 rRÚ__main__)rErG) Ú__doc__rHrÚ    threadingr Ú huaxin_clientrÚlog_module.logrÚutilsrrZTIMEOUTr rrIrrr"r=r'r4r.r<r+rCrDrKrRÚ__name__ÚThreadrLr    r    r    r
Ú<module>s4