
    9i@a                       	 ddl mZ ddlmZ ddlZddlZddlZddlZddlZddl	Z	ddl
Z
ddlZddlZddlZddlZddlZddlZddlZddlZddlmZ ddlZddlZddlZ	  ej        d            ej        dd            ej        d           d	\  ZZZ Z!Z"Z#Z$d
\  Z%Z& ej'                     ej'                     ej'                    cZ(Z)Z* G d d          Z+dS )       )Onedb)OnedataN)create_engine88f6e67ec8a48922bbb531b95687625d99ee263940a07561ae95f4648zmode.chained_assignmentignore)gMbP?g      ?r   r   r   r   r   )z	300027.SSz60.204.129.214c                        e Zd ZdZd fd	Zd Z	 d Zd Zd Zd Z	d	 Z
d
 Zd Zd Zd Zd Zd Zd Zd Zd Zd Zd Zd Zd Zd Zd Zd Z xZS )Oneqsu    K线类 技术分析评分机制Nc                     t                                                       t          j                    | _        |                                  t                      | _        t          d          | _	        d S )Nr   )
super__init__pd	DataFrameallstocklistinit_parameterr   onedbr   onedata)self	stockcodeparent	__class__s      "E:\tools\ai\k\oneclass\oneqsnew.pyr   zOneqs.__init__   sW    ,..77
QZZ    c                 f   d| _         d| _        d| _        d| _        g d| _        g d| _        ddddd	d
d| _        g d| _        ddddddd| _        ddddddd| _	        ddddddd| _
        ddddddd| _        dddddddddddddddd| _        t          j                    | _        t          j                    | _        t          j                    | _        t          j                    | _        t          j                    | _        t          j                    | _        i | _        i | _        i | _        i | _        i | _        i | _        i | _        i | _        i | _        i | _        i | _        i | _         i | _!        i | _"        t          j                    | _#        t          j                    | _$        t          j                    | _%        d| _&        tN          | _'        d| _(        t          j                    | _)        t          j                    | _*        t          j                    | _+        dS )u   定义参数        r   )monthweekdaym30m5m1)mwdtfor"   r#   r$   r%   r&   r'   )d   2      
         g{Gz?g{Gz?g{Gz?g{Gz?g{Gzt?g{Gzd?r   g? )QSNDGNKLDDKaiGGLuoCHL1DDCGorGGCD1CHL
DDCGorGGCDDDCGorGGCD1ma30DDCGorGGCDma30GGdayDDdayi'  N),hpttlupttldownmstatusperiodperiodabp2abQSKJdiffbypspacer/   JGkeypointr   r   kdata_mkdata_wkdata_dkdata_tkdata_fkdata_oQS_mQS_wQS_dQS_tQS_fQS_oJG_mJG_wJG_dJG_tJG_fJG_oall_YLZCPnSpnspnsttl	newpnsttlrefreshK_timeinterr   sighavelistxgresultqsresult)r   s    r   r   zOneqs.init_parameter   s    
BBB777c#3CPP	...	#TdSXagii !4dRVWW
!"222NN!"222NNAA11!!STcdklz{  OP  bc  lm  vw  x  x|~~|~~|~~|~~|~~|~~												LNN|~~ %"lnnlnnlnnr   c                 |    t                      }|                    d          }|                    ddd           d S )Nzselect * from divdataz./csv/divdata.csv	utf_8_sigFencodingindex)r   
From_tableto_csv)r   r   mydivs      r   get_div_fromdbzOneqs.get_div_fromdbY   s@     gg  !899*KeLLLLLr   c                    t          j                     }t          j                    | _        t          j                    | _        dg}	 t          j                    }|                    ddd          }t          j        |t          j        dddg          gd	
          }t          j        |t          j        dddg          gd	
          }t          j        |t          j        dddg          gd	
          }|	                    ddd	           n#  t          j
        d          }Y nxY w|| _        | j        j        d         }d}t          j        ||z            }t          d|          D ]}|                    |dz             t#          d|           d}	t%          j        |	          }
t          j        ||	z            }t#          d|           |
                    | j        |          }t-          | \  }}t          t/          |                    D ]R}t          j        | j        ||         gd	
          | _        t          j        | j        ||         gd	
          | _        S| j                            t2          j        t2          j         gd          | _        | j                            t2          j        t2          j         gd          | _        t7                      }|                    d           |                    d           |                    | j        ddd           |                    | j        ddd           t#          dt          j                     |z
             d S )Nr   stock_basicr.   L)exchangelist_statusz	000001.SHu   上证综指)ts_codenameTignore_indexz	399006.SZu   创业板指z	399001.SZu   深圳成指z./csv/tusharestocklist.csvrg   rh   r(   r   zXXXX corelist   qtyperthreadxgallnewqsallnewr   	   	TTL time:)timer   r   rd   re   tspro_apiqueryconcatrl   read_csvr   shapemathceilrangeappendprintmpPoolmapxg_all_for_mpziplenreplacenpinfr   	del_table
into_table)r   	starttimecorelistpro	stockliststockqty	qtyperjobcoreqtyi	threadqtypoolry   resultabr   s                   r   	xg_all_mpzOneqs.xg_all_mpd   sL   )++	lnnlnn	C*,,C		-"#	NNI	9bl]k<l<l;m.n.n"o  C  D  D  DI	9bl]k<l<l;m.n.n"o  C  D  D  DI	9bl]k<l<l;m.n.n"o  C  D  D  DI;[W[\\\\	C$ABBIII $ "(+		(9,--q!! 	# 	#AOOAcE""""oh'''	WYYx	122n\***xx*844L!s1vv 	N 	NA)T]AaD$9MMMDM)T]AaD$9MMMDMM--rvw.?CC--rvw.?CCgg
###
###z+a@@@z+a@@@k49;;y011111s   CD D.c           
         t          j                    }t          j                    }| j        }|||dz            }t          d|j        d                    d}|                                D ]\  }}|d         | _        t          || j                   | j        dd          dk    rt          d          | _        nt          d          | _        	 | j        	                    | j        d          \  | _
        | _        | _        | _        | _        | _        n#  Y xY w| j        d	                                         }| j        d
                                         }	| j        j        d         }
| j        d         |
dz
           }	 ||	z
  ||	z
  dz  z  | _        | j                            d          | _        n#  t          d           Y nxY w|                                  |                     | j        | j        d          \  | _        | _        | _        |                     | j        | j        d          \  | _        | _        | _        |                     | j        | j        d          \  | _        | _        | _        |                     | j        | j        d          \  | _        | _        | _        |                     | j        | j        d          \  | _        | _        | _        |                     | j
        | j        d          \  | _
        | _         | _!        | j        d         "                    d          #                                                    d          | j        d<   | j        $                    d          | _        d}d}	 | j        d         d         | j        d         d         k    rd}nd}| j        d         d         }n#  d}d}Y nxY w	 | j        d         d         | j        d         d         z
  | j        d         d         z  dz  }|                    d          }n	#  d}Y nxY w	 | j        d         d         | j        d         d         z
  | j        d         d         z  dz  }|                    d          }n	#  d}Y nxY w	 | j        dd          }tK          ||d         |d         k                        }n	#  d}Y nxY w	 | j        dd          }tK          ||d         |d         k                        }n	#  d}Y nxY wt          | j&        d         | j&        d         | j&        d         | j&        d         | j&        d         | j&        d                    	 i d | j        dd!         d"| j        d#|d$         d%| j        d&         d'| j        d(         d)| j&        d         d*| j&        d         d+| j&        d         d,| j&        d         d-| j&        d         d.| j&        d         d/| j        d         d0| j        d         d1| j        d         d2| j        d         d3| j        d         d4| j         d         i d5| j        d6         d7| j        d6         d8| j        d6         d9| j        d6         d:| j        d6         d;| j         d6         d<| j        d=         d>| j        d?         d@| j        dA         dB| j        dC         dD| j        dE         dF| j        dG         dH| j        dI         dJ| j        dK         dL| j        dM         dN| j        dO         dP| j        dQ         i dR| j        dS         dT| j        dU         dV| j        d=         dW| j        d?         dX| j        dA         dY| j        dC         dZ| j        dE         d[| j        dG         d\| j        dI         d]| j        dK         d^| j        dM         d_| j        dO         d`| j        dQ         da| j        dS         db| j        dU         dc| j        d=         dd| j        d?         i de| j        dA         df| j        dC         dg| j        dE         dh| j        dG         di| j        dI         dj| j        dK         dk| j        dM         dl| j        dO         dm| j        dQ         dn| j        dS         do| j        dU         dp| j        d=         dq| j        d?         dr| j        dA         ds| j        dC         dt| j        dE         du| j        dG         i dv| j        dI         dw| j        dK         dx| j        dM         dy| j        dO         dz| j        dQ         d{| j        dS         d|| j        dU         d}| j        d=         d~| j        d?         d| j        dA         d| j        dC         d| j        dE         d| j        dG         d| j        dI         d| j        dK         d| j        dM         d| j        dO         i d| j        dQ         d| j        dS         d| j        dU         d| j         d=         d| j         d?         d| j         dA         d| j         dC         d| j         dE         d| j         dG         d| j         dI         d| j         dK         d| j         dM         d| j         dO         d| j         dQ         d| j         dS         d| j         dU         d| j        d         i d| j        d         d| j        d         d| j        d         d| j        d         d| j        d         d| j        d         d| j        d         d| j        d         d| j        d         d| j        d         d| j        d         d| j        d         d| j        d         d| j        d         d| j        d         d| j        d         d| j        d         i d| j        d         d| j        d         d| j        d         d| j        d         d| j        d         d| j        d         d| j        d         d| j!        d         d| j!        d         d| j!        d         d| j!        d         d| j!        d         d| j        d| j'        d| j(        d| j)        d||||||d}|*                                D ]'\  }}	 |dk    rt'          |          }|||<   !#  Y %xY wt          j+        |t          j        |g          gd¦          }t          j+        |t          j        | j        g          gd¦          }t          j+        |t          j        | j        g          gd¦          }t          j+        |t          j        | j        g          gd¦          }t          j+        |t          j        | j        g          gd¦          }t          j+        |t          j        | j        g          gd¦          }t          j+        |t          j        | j         g          gd¦          }|dz  }| ,                                 ||fS )Nr(   stock qty =r   r   rt   .BJallhighlowclosecalculate self.hp errorr   r   r   r   r    r!         ma250bfillmethod  r-   ma30scode   r   	stocknameru   r~   
reviseTimecCQSmQSwQSdQStQSfQSoma30mma30wma30dma30tma30fma30oma10mma10ma10wma10dma10tma10fma10ospacePmspacePprofitPmprofitPriskPmriskPNDGmr0   NKLmr1   DDmr2   Kaimr3   GGmr4   Luomr5   CHL1mr6   DDCGorGGCD1mr7   CHLmr8   DDCGorGGCDmr9   spacePwprofitPwriskPwNDGwNKLwDDwKaiwGGwLuowCHL1wDDCGorGGCD1wCHLwDDCGorGGCDwspacePdprofitPdriskPdNDGdNKLdDDdKaidGGdLuodCHL1dDDCGorGGCD1dCHLdDDCGorGGCDdspacePtprofitPtriskPtNDGtNKLtDDtKaitGGtLuotCHL1tDDCGorGGCD1tCHLtDDCGorGGCDtspacePfprofitPfriskPfNDGfNKLfDDfKaifGGfLuofCHL1fDDCGorGGCD1fCHLfDDCGorGGCDfspacePoprofitPoriskPoNDGoNKLoDDoKaioGGoLuooCHL1oDDCGorGGCD1oCHLoDDCGorGGCDoConfirmedJGmConfirmedJG
CurrentJGm	CurrentJGJGdonemJGdoneQXmQXJGQRmJGQRConfirmedJGw
CurrentJGwJGdonewQXwJGQRwConfirmedJGd
CurrentJGdJGdonedQXdJGQRdConfirmedJGt
CurrentJGtJGdonetQXtJGQRtConfirmedJGf
CurrentJGfJGdonefQXfJGQRfConfirmedJGo
CurrentJGoJGdoneoQXoJGQRor>   r?   r@   rA   yearup	yearvalue
yearvaluep	yearvs30p	yearupqtyd30upqty  Trv   )-r   r   r   r   r   iterrowsr   r   r   krO   rN   rM   rL   rK   rJ   maxminr>   round
cal_ma_allcal_qsrP   rV   rQ   rW   rR   rX   rS   rY   rT   rZ   rU   r[   rollingmeanfillnar   r/   r?   r@   rA   itemsr   r   )r   nrd   re   r   r   rj   rowhhhlllttlkcprF  rH  rI  rJ  tmpkdatarL  rK  tmpkeyvalues                         r   r   zOneqs.xg_all_for_mp   s   %	AaeG$	mY_Q/000
"++-- {	" {	"IE#y>DN!DN###~bcc"E))$QZZ$QZZ^b^j^l^lmqm{  }B  _C  _C]T\$,t|DLQUQ]Q] V$((**CU#''))C#A&D|G$T!V,B1C3s7C-0a((1/00000 OO/3{{4<Y`/a/a,DL49/3{{4<Y_/`/`,DL49/3{{4<Y^/_/_,DL49/3{{4<Y^/_/_,DL49/3{{4<Y]/^/^,DL49/3{{4<Y]/^/^,DL49$(L$9$A$A#$F$F$K$K$M$M$S$STU$V$VDL!,--W-==DLFI <(,dl7.CB.GGGFFF"l73B7I 			  L1"5W8Mb8QQSWS_`gShikSllorr
%++A..

 


</3dl76KB6OOQUQ]^dQefhQiiloo	#//!,,					cdd+x(9HW<M(MNOOdee,'):Xg=N)N OPP					$''"476?475>$'%.QUQXY]Q^_c_fgk_lmmm'WWT^AaC0 T^ KX[\bXc djkokt  vB  lC   DG  HL  HQ  RU  HV 477+,1$'&/BGPUW\]a]dej]klqrvryz~r AF  GK  GN  OS  GTTYv./6ty7HIPQUQZ[aQbcjkoktu{k| ~E  FJ  FO  PV  FW X_  `d  `i  jp  `q  TYv. 07ty7H JQQUQZ[aQb dkkoktu{k| ~E  FJ  FO  PV  FW X_  `d  `i  jp  `q ty2	 4>di	>R	 T\\`\efm\n	
 DIe,
 .4DIe4D
 FK49UY?
 \bbfbklqbr
 tyy}  zC  DH  zI
 JP  QU  QZ  [`  Qa TYv. 0>di>V   Y__c_hin_o q~  C  H  IU  V ty2 4>di	>R T\\`\efm\n DIe, .4DIe4D FK49UY? \bbfbklqbr tyy}  zC  DH  zI JP  QU  QZ  [`  Qa TYv. 0>di>V Y__c_hin_o q~  C  H  IU  V ty2 4>di	>R   T\\`\efm\n DIe, .4DIe4D FK49UY? \bbfbklqbr tyy}  zC  DH  zI JP  QU  QZ  [`  Qa TYv. 0>di>V Y__c_hin_o q~  C  H  IU  V ty2 4>di	>R T\\`\efm\n DIe, .4DIe4D FK49UY?   \bbfbklqbr tyy}  zC  DH  zI JP  QU  QZ  [`  Qa TYv. 0>di>V Y__c_hin_o q~  C  H  IU  V  ty2!  4>di	>R!  T\\`\efm\n!" DIe,#" .4DIe4D#" FK49UY?#" \bbfbklqbr#" tyy}  zC  DH  zI#" JP  QU  QZ  [`  Qa#$ TYv.%  $ 0>di>V%$ Y__c_hin_o%$ q~  C  H  IU  V%& ty2'& 4>di	>R'& T\\`\efm\n'( DIe,)( .4DIe4D)( FK49UY?)( \bbfbklqbr)( tyy}  zC  DH  zI)( JP  QU  QZ  [`  Qa)* TYv.+* 0>di>V+* Y__c_hin_o+* q~  C  H  IU  V+, $DIm$<-  , >J$)T_J`-, bkkoktu}k~-, @E  FJ  FO  PT  FU-, V]  ^b  ^g  hn  ^o-. $DIm$</. >J$)T_J`/. bkkoktu}k~/. @E  FJ  FO  PT  FU/. V]  ^b  ^g  hn  ^o/0 $DIm$<10 >J$)T_J`10 bkkoktu}k~10 @E  FJ  FO  PT  FU10 V]  ^b  ^g  hn  ^o12 $DIm$<32 >J$)T_J`32 bkkoktu}k~3  2 @E  FJ  FO  PT  FU32 V]  ^b  ^g  hn  ^o34 $DIm$<54 >J$)T_J`54 bkkoktu}k~54 @E  FJ  FO  PT  FU54 V]  ^b  ^g  hn  ^o56 $DIm$<76 >J$)T_J`76 bkkoktu}k~76 @E  FJ  FO  PT  FU76 V]  ^b  ^g  hn  ^o78 $'98 #*$*98 6?t|98 MVVZVb98 dllr9 : "+
yen  {C;  > "%  IC ::"',,E%*CHHblC5.A.A#BQUVVV Y",	{*C*CDSWXXXHY",	{*C*CDSWXXXHY",	{*C*CDSWXXXHY",	{*C*CDSWXXXHY",	{*C*CDSWXXXHY",	{*C*CDSWXXXHqDA!!!!  sd   ADD2F88GA OOAP--P37ARR4S

S4T		Ts::s>c                    t          j                     }t          j                    | _        t          j                    | _        t          j        d          }|                    dg          }t          d|j        d                     |j        d         }d}t          j
        |          }t          j        ||z            }t          d|           g d}t          |           |                    | j        |          }t          | \  }	}
t!          t#          |	                    D ]}t%          |	|         t&                    r<t          j        | j        t          j        |	|         g          gd	          | _        n(t          j        | j        |	|         gd	          | _        t%          |
|         t&                    r<t          j        | j        t          j        |
|         g          gd	          | _        t          j        | j        |
|         gd	          | _        | j                            t,          j        t,          j         gd          | _        | j                            t,          j        t,          j         gd          | _        t1                      }|                    d
           |                    d           |                    | j        d
dd           |                    | j        ddd           |                    d           |                    | j        ddd           t          dt          j                     |z
             d S )N./csv/2022.csvr   zformer qty = r   r   ry   )r      <   Z   x      Trv   	xg2022new	qs2022newr|   zbdelete `xgallnew` from `xgallnew`,`xg2022new` where `xgallnew`.`stockcode`=`xg2022new`.`stockcode`rz   r}   )r~   r   r   rd   re   r   drop_duplicatesr   r   r   r   r   r   r   xg_2022_for_mpr   r   r   
isinstancedictr   r   r   r   r   r   r   execute_sql)r   r   r   r   r   r   ry   r   r   r   r   r   r   s                r   
xg_2022_mpzOneqs.xg_2022_mp  s   )++	lnnlnnK 122	++[M::	2ioa022333#	WYYx	122n\***%%%hxx+H55L!s1vv 
	R 
	RA!A$%% R iadV8L8L(M\`aaa i!(=DQQQ!A$%% R iadV8L8L(M\`aaa i!(=DQQQ--rvw.?CC--rvw.?CCgg$$$$$${;qAAA{;qAAA~z+a@@@ 	k49;;y011111r   c           
         t          j                    }t          j                    }t          j        d          }|                    dg          }|||dz            }t	          d|j        d                    |                                D ]\  }}t          |d                   dk     r|d         dd         d	k    s|d         dd         d
k    r|d         dd         dz   |d<   ]|d         dd         dk    r|d         dd         dz   |d<   |d         dd         dk    s|d         dd         dk    r|d         dd         dz   |d<   |d         dd         |d<   d}|                                D ]\  }}|d         | _        t	          || j                   | j        dd          dk    rt          d          | _
        nt          d          | _
        	 | j
                            | j        d          \  | _        | _        | _        | _        | _        | _        n#  Y xY w| j        d                                         }	| j        d                                         }
| j        j        d         }| j        d         |dz
           }	 ||
z
  |	|
z
  dz  z  | _        | j                            d          | _        n#  t	          d           Y nxY w|                                  |                     | j        | j        d          \  | _        | _        | _        |                     | j        | j        d          \  | _        | _        | _        |                     | j        | j        d          \  | _        | _        | _        |                     | j        | j        d          \  | _        | _        | _        |                     | j        | j        d          \  | _        | _         | _!        |                     | j        | j        d          \  | _        | _"        | _#        | j        d         $                    d           %                                                    d!          | j        d"<   | j        &                    d#$          | _        	 d}d}	 | j        d"         d%         | j        d"         d&         k    rd}nd}| j        d"         d&         }n#  d}d'}Y nxY w	 | j        d         d&         | j        d"         d&         z
  | j        d         d&         z  dz  }|                    d          }n	#  d(}Y nxY w	 | j        d)         d&         | j        d"         d&         z
  | j        d)         d&         z  dz  }|                    d          }n	#  d(}Y nxY w	 | j        d*d          }t          ||d"         |d         k                        }n	#  d}Y nxY w	 | j        d+d          }t          ||d"         |d         k                        }n	#  d}Y nxY wt	          | j'        d         | j'        d         | j'        d         | j'        d         | j'        d         | j'        d                    	 i d,| j        dd-         d| j        d.|d/         d0| j        d1         d2| j        d3         d4| j'        d         d5| j'        d         d6| j'        d         d7| j'        d         d8| j'        d         d9| j'        d         d:| j        d)         d;| j        d)         d<| j        d)         d=| j        d)         d>| j         d)         d?| j"        d)         i d@| j        dA         dB| j        dA         dC| j        dA         dD| j        dA         dE| j         dA         dF| j"        dA         dG| j        dH         dI| j        dJ         dK| j        dL         dM| j        dN         dO| j        dP         dQ| j        dR         dS| j        dT         dU| j        dV         dW| j        dX         dY| j        dZ         d[| j        d\         i d]| j        d^         d_| j        d`         da| j        dH         db| j        dJ         dc| j        dL         dd| j        dN         de| j        dP         df| j        dR         dg| j        dT         dh| j        dV         di| j        dX         dj| j        dZ         dk| j        d\         dl| j        d^         dm| j        d`         dn| j        dH         do| j        dJ         i dp| j        dL         dq| j        dN         dr| j        dP         ds| j        dR         dt| j        dT         du| j        dV         dv| j        dX         dw| j        dZ         dx| j        d\         dy| j        d^         dz| j        d`         d{| j        dH         d|| j        dJ         d}| j        dL         d~| j        dN         d| j        dP         d| j        dR         i d| j        dT         d| j        dV         d| j        dX         d| j        dZ         d| j        d\         d| j        d^         d| j        d`         d| j         dH         d| j         dJ         d| j         dL         d| j         dN         d| j         dP         d| j         dR         d| j         dT         d| j         dV         d| j         dX         d| j         dZ         i d| j         d\         d| j         d^         d| j         d`         d| j"        dH         d| j"        dJ         d| j"        dL         d| j"        dN         d| j"        dP         d| j"        dR         d| j"        dT         d| j"        dV         d| j"        dX         d| j"        dZ         d| j"        d\         d| j"        d^         d| j"        d`         d| j        d         i d| j        d         d| j        d         d| j        d         d| j        d         d| j        d         d| j        d         d| j        d         d| j        d         d| j        d         d| j        d         d| j        d         d| j        d         d| j        d         d| j        d         d| j        d         d| j        d         d| j        d         i d| j        d         d| j        d         d| j!        d         d| j!        d         d| j!        d         d| j!        d         d| j!        d         d| j#        d         d| j#        d         d| j#        d         d| j#        d         d| j#        d         d| j        d| j(        d| j)        d| j*        d||||||dʜ}|+                                D ]'\  }}	 |dk    rt+          |          }|||<   !#  Y %xY wt          j,        ||gd̬ͦ          }n#  Y nxY wt          j,        |t          j        | j        g          gd̬ͦ          }t          j,        |t          j        | j        g          gd̬ͦ          }t          j,        |t          j        | j        g          gd̬ͦ          }t          j,        |t          j        | j        g          gd̬ͦ          }t          j,        |t          j        | j         g          gd̬ͦ          }t          j,        |t          j        | j"        g          gd̬ͦ          }|dz  }| -                                 ||fS )Nrd  r   re  r   r   r|   r   r-   30   z.SZ6z.SH84r   r+   r   r   r   r   r   r(   r   r   r   r   r   r    r!   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   ru   r~   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r0   r   r1   r   r2   r   r3   r   r4   r   r5   r   r6   r   r7   r   r8   r   r9   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r  r  r  r  r  r  r  r  r	  r
  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r   r!  r"  r#  r$  r%  r&  r'  r(  r)  r*  r+  r,  r-  r.  r/  r0  r1  r2  r3  r4  r5  r6  r7  r8  r9  r:  r;  r<  r=  r>  r?  r@  rA  rB  rC  rD  rE  r>   r?   r@   rA   rF  rG  rM  Trv   ).r   r   r   rl  r   r   rN  r   r   r   r   rO  rO   rN   rM   rL   rK   rJ   rP  rQ  r>   rR  rS  rT  rP   rV   rQ   rW   rR   rX   rS   rY   rT   rZ   rU   r[   rU  rV  rW  r/   r?   r@   rA   rX  r   r   )r   rY  rd   re   r   rj   stockr   rZ  r[  r\  r]  r^  rF  rH  rI  rJ  r_  rL  rK  r`  ra  rb  s                          r   rm  zOneqs.xg_2022_for_mpI  s   K 122	++[M::	AadF#	mY_Q/000$--// 		< 		<KE%5%&&q((%ac*C//53Eac3JC3O3O',['9!A#'>u'DE+&&;'!,c11',['9!A#'>u'DE+&&;'!,c11U;5G!5Lc5Q5Q',['9!A#'>u'DE+&#(#5ad#;k""
"++-- D	" D	"IE#{+DN!DN###~bcc"E))$QZZ$QZZ^b^j^l^lmqm{  }B  _C  _C]T\$,t|DLQUQ]Q]
 V$((**CU#''))C#A&D|G$T!V,B1C3s7C-0a((1/00000OO/3{{4<Y`/a/a,DL49/3{{4<Y_/`/`,DL49/3{{4<Y^/_/_,DL49/3{{4<Y^/_/_,DL49/3{{4<Y]/^/^,DL49/3{{4<Y]/^/^,DL49$(L$9$A$A#$F$F$K$K$M$M$S$STU$V$VDL!,--W-==DL FI <(,dl7.CB.GGGFFF"l73B7I 			  L1"5W8Mb8QQSWS_`gShikSllorr
%++A..

 


</3dl76KB6OOQUQ]^dQefhQiiloo	#//!,,					cdd+x(9HW<M(MNOOdee,'):Xg=N)N OPP					$''"476?475>$'%.QUQXY]Q^_c_fgk_lmmm+WT^AaC0 T^ KX[\bXc djkokt  vB  lC   DG  HL  HQ  RU  HV 477+,1$'&/BGPUW\]a]dej]klqrvryz~r AF  GK  GN  OS  GTTYv./6ty7HIPQUQZ[aQbcjkoktu{k| ~E  FJ  FO  PV  FW X_  `d  `i  jp  `q  TYv. 07ty7H JQQUQZ[aQb dkkoktu{k| ~E  FJ  FO  PV  FW X_  `d  `i  jp  `q ty2	 4>di	>R	 T\\`\efm\n	
 DIe,
 .4DIe4D
 FK49UY?
 \bbfbklqbr
 tyy}  zC  DH  zI
 JP  QU  QZ  [`  Qa TYv. 0>di>V   Y__c_hin_o q~  C  H  IU  V ty2 4>di	>R T\\`\efm\n DIe, .4DIe4D FK49UY? \bbfbklqbr tyy}  zC  DH  zI JP  QU  QZ  [`  Qa TYv. 0>di>V Y__c_hin_o q~  C  H  IU  V ty2 4>di	>R   T\\`\efm\n DIe, .4DIe4D FK49UY? \bbfbklqbr tyy}  zC  DH  zI JP  QU  QZ  [`  Qa TYv. 0>di>V Y__c_hin_o q~  C  H  IU  V ty2 4>di	>R T\\`\efm\n DIe, .4DIe4D FK49UY?   \bbfbklqbr tyy}  zC  DH  zI JP  QU  QZ  [`  Qa TYv. 0>di>V Y__c_hin_o q~  C  H  IU  V  ty2!  4>di	>R!  T\\`\efm\n!" DIe,#" .4DIe4D#" FK49UY?#" \bbfbklqbr#" tyy}  zC  DH  zI#" JP  QU  QZ  [`  Qa#$ TYv.%  $ 0>di>V%$ Y__c_hin_o%$ q~  C  H  IU  V%& ty2'& 4>di	>R'& T\\`\efm\n'( DIe,)( .4DIe4D)( FK49UY?)( \bbfbklqbr)( tyy}  zC  DH  zI)( JP  QU  QZ  [`  Qa)* TYv.+* 0>di>V+* Y__c_hin_o+* q~  C  H  IU  V+, $DIm$<-  , >J$)T_J`-, bkkoktu}k~-, @E  FJ  FO  PT  FU-, V]  ^b  ^g  hn  ^o-. $DIm$</. >J$)T_J`/. bkkoktu}k~/. @E  FJ  FO  PT  FU/. V]  ^b  ^g  hn  ^o/0 $DIm$<10 >J$)T_J`10 bkkoktu}k~10 @E  FJ  FO  PT  FU10 V]  ^b  ^g  hn  ^o12 $DIm$<32 >J$)T_J`32 bkkoktu}k~3  2 @E  FJ  FO  PT  FU32 V]  ^b  ^g  hn  ^o34 $DIm$<54 >J$)T_J`54 bkkoktu}k~54 @E  FJ  FO  PT  FU54 V]  ^b  ^g  hn  ^o56 $DIm$<76 >J$)T_J`76 bkkoktu}k~76 @E  FJ  FO  PT  FU76 V]  ^b  ^g  hn  ^o78 $'98 #*$*98 6?t|98 MVVZVb98 dllr9 : "+
yen  {C;  > "%  IC ::"',,E%*CHHc?FFFY",	{*C*CDSWXXXHY",	{*C*CDSWXXXHY",	{*C*CDSWXXXHY",	{*C*CDSWXXXHY",	{*C*CDSWXXXHY",	{*C*CDSWXXXHqDA!!!!  s}   #AH))H-2K

KA S  S(,AU  U
AVV$(4WW#'4XX"<]5x-2xx-xx--x1c                    t          j                    }t          j                    }| j                                        D ]\  }}d|j        v s	d|j        v r+t          j        |t          j        |g          gd          }d|j        v s	d|j        v r+t          j        |t          j        |g          gd          }t          d           t          |           t          d           t          |           d S )Nz-1abcTrv   z-1a-2zday -1abc and m30 -1abczm30 -1a or m30 -2:)r   r   rd   rN  r   r   r   r   )r   newlistnewlisttra  ry  s        r   xg_2022_after_mpzOneqs.xg_2022_after_mp  s    //11 	Y 	YIC%)##w%)';';	7BL%,A,A"BQUVVV	!!TUY%6%6HblE7.C.C#DSWXXX'(((g"###hr   c                 p   |                      | j                  | _        |                      | j                  | _        |                      | j                  | _        |                      | j                  | _        |                      | j                  | _        |                      | j                  | _        | j        j        d         }|dk    r| j        }t          ||d         |d         k             j        d         |z  dz            | _	        t          ||d         |d         z   dz  |d         k              j        d         |z  dz            | _
        |d         |dz
           |d         |dz
           k    s$|d         |d	z
           |d         |d	z
           k    r	d	| _        d S d| _        d S d S )
Nr   rf  r   r   r(   r   r-   r,   r   )cal_ma_KrJ   rK   rL   rM   rN   rO   r   intr?   r@   rA   )r   ttlkmdfs      r   rS  zOneqs.cal_ma_all  s   }}T\22}}T\22}}T\22}}T\22}}T\22}}T\22l #88|BR5	BvJ 67=a@FsJKKDJRFBuI!5q 8F CDJ1MeSTWWXXDL&z%'"RZa%888BvJuQw<ORTU[R\]bcd]dRe<e<e  8r   c                    |d                              d                                                              d          |d<   |d                              d                                                              d          |d<   |d                              d                                                              d          |d<   |                    d	
          }|S )Nr   r,   r   ma5r+   r   re  r   r   r   )rU  rV  rR  rW  )r   kdatas     r   r  zOneqs.cal_ma_K	  s    g..q116688>>qAAeg..r227799??BBfg..r227799??BBf,,g,66r   c                     i ||}|S N )r   dict1dict2ress       r   __MergezOneqs.__Merge  s      % 
r   c                    d|d<   d|d<   d|d<   d|d<   t          d|dz
            D ]}d}|d	         |         |d	         |d
z
           k    r|d	         |         |d	         |d
z            k     rt          d          D ]g}|d         ||z            |d         ||z            z   dz  |d	         ||z            k    r,|d	         ||z            |d	         ||z   d
z            k     r|d
z   }h|dk    rd|d         |<   ||dz   |dz            }||d         |d	         k             j        d         dk    rd|d         |<   |d	         |         |d	         |d
z
           k    r|d	         |         |d	         |d
z            k    rt          d          D ]g}|d         ||z            |d         ||z            z   dz  |d	         ||z            k     r,|d	         ||z            |d	         ||z   d
z            k    r|d
z   }h|dk    rd
|d         |<   ||dz   |dz            }||d         |d	         k              j        d         dk    rd
|d         |<   !t          dd          D ]}||z
  }|d	         |         |d	         |d
z
           k    rR|d	         |         |d	         |d
z            k     r1|d         |d
z            |d	         |d
z            k    rd|d         |<    nt|d	         |         |d	         |d
z
           k    rR|d	         |         |d	         |d
z            k    r1|d         |d
z            |d	         |d
z            k     rd
|d         |<    nt          d|          D ]}|d         |         d
k    ryt          |d
z   |          D ]d}|d         |         dk    r|d
z
  } nJ|d         |         d
k    r7|d         |         |d         |         k    rd|d         |<   |}Yd|d         |<   e|d         |         dk    rxt          |d
z   |          D ]d}|d         |         d
k    r|d
z
  } nJ|d         |         dk    r7|d         |         |d         |         k     rd|d         |<   |}Yd|d         |<   e|S )Nr   kkllkkllxr   kkllvkkllxvre  r+   r   r   r|   r   r   r-   r   r         )r   r   )r   r  r]  r   	bcheckttlrO  tmpkjs           r   cal_qs_KaiLuozOneqs.cal_qs_KaiLuo  s    fgghr4"9%% 	' 	'AIV}Q5=Q#777E&M!<LuU[}]^ab]bOc<c<cq 2 2Afa!e,uU|AE/BBaG%PV-XY\]X]J^^^ %fa!e 4uV}QUQY7O O O$-M	>>b5=#31Q3qs7^eT&\139!<a??%'E&M!$vq!U6]1q5%999eFmA>NQVW]Q^_`cd_dQe>e>eq 2 2Afa!e,uU|AE/BBaG%PV-XY\]X]J^^^ %fa!e 4uV}QUQY7O O O$-M	>>a5=#31Q3qs7^fd6l24:1=q@@%&E&M!$ q" 	 	AqAfa E&M!a%$888U6]1=MPUV\P]^_bc^cPd=d=dinouivwx{|w|i}  @E  FL  @M  NO  RS  NS  @T  jT  jT#%fa -"eFmAE&:::uV}Q?ORWX^R_`ade`eRf?f?fkpqvkwxy|}x}k~  AF  GM  AN  OP  ST  OT  AU  lU  lU#$fa 
 r4 	1 	1AV}Q1$$q1ud++ 	1 	1AV}Q'2--EV}Q'1,, =+eFmA.>>>/0E&M!, !AA/0E&M!,vq!R''q1ud++ 	1 	1AV}Q'1,,EV}Q'2-- <?U5\!_<</0E&M!, !AA/0E&M!,r   c                    t          |dz
  dd          D ]Y}|d         |         dk    r|d         |         }d}t          |dz
  dd          D ]t}|d         |         dk    s|dk    rZt          |dz
  |d          D ]'}|d         |         |k    r||z
  }|d         |         }(d|d         ||z
  <   ||d	         ||z
  <    nu|d         |         dk    r|d
         |         }d}	t          |dz
  dd          D ]t}|d         |         dk    s|dk    rZt          |dz
  |d          D ]'}|d
         |         |k    r||z
  }	|d
         |         }(d|d         ||	z
  <   ||d	         ||	z
  <    nu[|S )Nr   re  r   r  r   r   r   r  r  r   r-   )r   )
r   r  r]  r   LLdisLLr  rO  HHdisHHs
             r   cal_qs_GGDDzOneqs.cal_qs_GGDDZ  s    taxR(( 	 	AV}Q2%%5\!_q1ub"-- 	 	AV}Q'1,,Q!&q1ua!4!4 5 5A$U|A"44()A%*5\!_46gq5y157hE	2 17 V}Q1$$6]1%q1ub"--  AV}Q'2--a!&q1ua!4!4 6 6A$V}Q/255()A%*6]1%545gq5y157hE	2 28 r   c                 `   t          |          D ]#}|d         |         dk    r~d}d}t          ||          D ]i}||d         |         |d         |         z  z   }||d         |         z   }|d         |         dk    r$|}|dk    rd|d         |<   n||z  |d         |<    nj|d         |         d	k    r~d}d}t          ||          D ]i}||d         |         |d         |         z  z   }||d         |         z   }|d         |         d
k    r$|}|dk    rd|d         |<   n||z  |d         |<    nj%|d                             d          |d<   |d                             d          |d<   |d                             d          |d<   |d                             d          |d<   	 |S )Nr  r-   r   r   volr  r   r  r   r   r   r  )r   rR  )r   r  r]  r   TTLaTTLvr  s          r   cal_qs_kkllvzOneqs.cal_qs_kkllvz  s    t 	 	AW~a A%%q$  A%."3eEl1o"EED%,q/1DV}Q'1,,19901E'N1--04tE'N1- - W~a B&&q$  A%."3eEl1o"EED%,q/1DV}Q'2--19901E'N1--04tE'N1- . f++A..fw--a00gw--a00g///22h	 r   c                 P   dx}}dx}}t          |dz
  dd          D ]}|d         |         dk    r]|}t          |dz
  dd          D ]D}|d         |         dk    r|d         |         }|d         |         dk    r|d         |         } nE np|d         |         d	k    r]|}t          |dz
  dd          D ]D}|d         |         dk    r|d         |         }|d         |         d	k    r|d         |         } nE n|| j        d
<   || j        d<   || j        d<   || j        d<   |S )Nr   r   r   r  r   r  r  r  r-   r0   r1   r<   r=   )r   rI   )	r   r  r]  r0   r1   r=   r<   r   r  s	            r   cal_qs_QSmodule_NDGNKLzOneqs.cal_qs_QSmodule_NDGNKL  s   	CetaxR(( 	 	AW~a B&&q1ub"--  AV}Q'2--#GnQ/W~a(B..#Hoa0 / w"a''E"1q5"b11 " " =+q00"'."3C >!,11"'/!"4C!E 2 E ( !e e$g$gr   c                    dx}x}x}x}x}}t          |dz
  dd          D ]5}	|d         |	         dk    r!|d         |	         |d<   |d         |	         } n6|j        d         }
|
dk    rd|d<   t          |dz
  dd          D ]5}	|d	         |	         dk    r!|d
         |	         |d<   |d
         |	         } n6||	z
  }|j        d         }
|
dk    rd|d<   t          |dz
  dd          D ]5}	|d         |	         dk    r!|d         |	         |d<   |d         |	         } n6|j        d         }
|
dk    rd|d<   t          |dz
  dd          D ]5}	|d	         |	         dk    r!|d
         |	         |d<   |d
         |	         } n6||	z
  }|j        d         }
|
dk    rd|d<   ||k    rd}nd}|| j        d<   || j        d<   || j        d<   || j        d<   || j        d<   |S )Nr   r   r   r  r   r  r2      r  r  r3      r-   r4      r5      r/   )r   r   rI   )r   r  r]  r2   r3   r4   r5   KaidayLuodayr   addedr/   s               r   cal_qs_QSmodule_QSDDKaiGGLuoz"Oneqs.cal_qs_QSmodule_QSDDKaiGGLuo  sz   $%%%3%r%#%fVtaxR(( 	 	AW~a B&&!(OA.d8_Q'	 '
 AB;;E$KtaxR(( 	 	AV}Q2%%"7^A.eGnQ'	 &
 AB;;E%LtaxR(( 	 	AW~a A%%!(OA.d8_Q'	 &
 AB;;E$KtaxR(( 	 	AV}Q1$$"7^A.eGnQ'	 %
 AB;;E%LVBBBdd ed er   c                    | j         d         }| j         d         }| j         d         }| j         d         }| j         d         }	| j         d         }
| j         d         }d}d	}d	}d	}d
}d	}d
}d
}|d         d         }d	}d	}d	}d	}d	}d	}d	}t          |dz
  dd          D ]}||dz
  k    r |d         |         }|d         |         }|}|}|d         |         |k    r|d         |         }|}|d         |         |k     r|d         |         }|}|d         |         dk    r|}|}|} |d	k    r||z  dz  dz
                      d          }nd	}t          |dz
  | d          D ]}!|d         |!         |d         |!         k    r|d         |!         }|!}t          |!| d          D ]$}"|d         |"         |k     r|d         |"         }|"}%|d         |         }t          ||d          D ]2}"|d         |"         |k    r|d         |"         }|d         |"         }|"}3 nt          |dz
  |d          D ]U}!|!|dz
  k    r|d         |!         }|d         |!         }|d         |!         |k    r|d         |!         }|d         |!         }V|d	k    r"|d         |dz
           }|d         |dz
           } n|d         |         dk    r|}|}|}#|
|z  dz  dz
                      d          }t          |dz
  |#d          D ]}!|d         |!         |d         |!         k     r|d         |!         }|!}t          |!|#d          D ]$}"|d         |"         |k    r|d         |"         }|"}%|d         |         }t          ||d          D ]2}"|d         |"         |k     r|d         |"         }|d         |"         }|"}3 nt          |dz
  |d          D ]U}!|!|dz
  k    r|d         |!         }|d         |!         }|d         |!         |k     r|d         |!         }|d         |!         }V|d	k    r"|d         |dz
           }|d         |dz
           } n|
|z  dz  dz
                      d          }|d	k    r||z  dz  dz
                      d          }nd}|dz   |dz   z  dz  dz
                      d          }||	dz  k    s	||dz  k     rd}$nd	}$|	d	k    s|d	k    s|d	k    s|
d	k    rd}%nd	}%|d	k    r|
|z  dz  dz
                      d          }&nd	}&t          j                            t          j                                        d          }'	 |                    d          }|                    d          }n#  Y nxY wi d||z   d|d|d|d|d|d|d|	d|
d|d|d|d|d |d!|&d"|$d#||d$         d                             d%          |d&         d                             d%          |d         d                             d%          ||d$         d         z  dz  dz
                      d          ||d&         d         z  dz  dz
                      d          ||d         d         z  dz  dz
                      d          |||'||||d'}(||z   |||'d(})|| j         d)<   || j         d*<   || j         d<   || j         d+<   || j         d,<   || j         d-<   ||(fS ).Nr0   r1   r2   r3   r4   r5   r/    r   r   r   r   r   r   r   r  r(   r   g     8@g)\(?gGz?z%m-%d %H:%Mr-   coder   rB   r   r   r   PLPr8   CHLPr   
outofrange
QSabnormalr  r   r   r  r   r   ma5Pma10Pma30P
periodSuggr9   r   r0   r1   r6   r7   )r  r   rB   r   r6   r7   r9   r:   r;   )rI   r   rR  datetimestrftimenow)*r   r   r  r]  rB   r0   r1   r2   r3   r4   r5   r/   periodsuggestionr   r   r  r8   r  r9   r;   
closepricer6   r7   r:   DDCGorGGCD1locationCHL1locationHHHlocationLLLlocationr   HHHLLLCHLlocationLuolocationrO  r"   Kailocationr  r  r   
revisetimeperiodQSperiodQStimes*                                             r   cal_qs_QSmodule_CHL1andCHLz Oneqs.cal_qs_QSmodule_CHL1andCHL  s   M% M% =M% =M% = 
7^B'
 taxR(( [	 [	AD1H}}FmA&El1oV}Q#%%FmA&U|A$$El1oV}Q1$$'!88#IOc188;;DD D {1}[<<  AV}Q'fa(888"5\!_%&!&qR!8!8 / /A$U|At33%*5\!_-.$)&M,$?!&|K!B!B 6 6A$V}Q/;;,1&M!,<05fa0@45 3 9 taxb99 : :AD1H}}%*6]1%5
).vq)9V}Q'*44%*6]1%5
).vq)9??!&vtax!8J%*6]4!8%<NV}Q2%%'c	C#-44Q77 {1}[<<  AU|AuV}Q'777"6]1-%&!&qR!8!8 / /A$V}Q/44%*6]1%5-.$)%L$>!&|K!B!B 6 6A$U|A{::,1%LO05fa0@45 3 8 taxb99 : :AD1H}}%*5\!_
).vq)9U|A33%*5\!_
).vq)9??!&udQh!7J%*6]4!8%<NM &P #c)C/66q99!88#%+c188;;EEE#%#+.4s:AA!DDT	!!Z"t)%;%;JJJ77bAggSAXXJJJ!88Ci#o+22155FFF&//0A0E0E0G0GWW
			!CADD	DFI$6 IF J B	
 B C B C G E C C D F !J  !N!" %*%L$4$:$:1$=$=$)&M"$5$;$;A$>$>$)&M"$5$;$;A$>$>%/%,r2B%BS%H3%N$U$UVW$X$X%/%-2C%Cc%IC%O$V$VWX$Y$Y%/%-2C%Cc%IC%O$V$VWX$Y$Y$4$.$."%"%$($/;  B &/v%5%.%+ #-  #f%0m$ e$.l#)8'((6&'X~s   *U8 8U<c                 
   | j         d         }| j         d         }| j         d         }| j         d         }| j         d         }| j         d         }	| j         d         }
| j         d         }| j         d	         }| j         d
         }| j         d         }| j         d         }| j         d         }|d         |dz
           }d}d}d| j        |<   |dk    rJ|	|z  d| j        |         z   k    rd}t          ||          }t	          ||          }|dk    s|dk    r|}||d| j        |         z
  z  k    rK||d| j        |         z   z  k     r4d}|
dk    r| j        |xx         dz  cc<   n| j        |xx         dz  cc<   n|
dk    r| j        |xx         dz  cc<   n| j        |xx         dz  cc<   no||d| j        |         z   z  k    r| j        |xx         dz  cc<   nB||d| j        |         z
  z  k     r| j        |xx         dz  cc<   n| j        |xx         dz  cc<   |
dk    r,t          ||          |d| j        |         z   z  k     r| j        |xx         dz  cc<   d}d}||k    r||z  dk    rd}||k    r||z  dk    rd}|s|r| j        |xx         dz  cc<   |dk    r2||k     r,||d| j        |         z   z  k     r| j        |xx         dz  cc<   |dd          }|d                                         |d         |dz
           z   }t          |d z  d!          }	 ||d"         d#         k    r| j        |xx         d$z  cc<   n'#  Y n"xY w|
dk    rt          ||          |	d| j        |         z
  z  k    r| j        |xx         dz  cc<   d}d}||k     rd}||k     rd}|s|r| j        |xx         dz  cc<   |dk    r2||k    r,||	d| j        |         z
  z  k    r| j        |xx         dz  cc<   |dd          }|d                                         |d         |dz
           z   }t          |d z  d!          }	 ||d"         d#         k    r| j        |xx         d$z  cc<   n#  Y nxY w| j        d%d          }	 t          d&d d          D ]`}|j
        |         |j
        |dz
           z  d'k    r<|j
        |dz
           |j
        |d&z
           z  d'k    r| j        |xx         d(z  cc<    nat          d&d d          D ]a}|j
        |         |j
        |dz
           z  d)k     r=|j
        |dz
           |j
        |d&z
           z  d)k     r| j        |xx         d*z  cc<    d S bd S #  Y d S xY w)+Nr0   r1   r2   r3   r4   r5   r/   r6   r8   r7   r:   r9   r;   r   r   Fr.   r   Tr   -1+1r{  +2z+0z-0z=0r   r   r   ire  r  r      r$   r   r-   gHzG?z+egq=
ףp?z-e)rI   r/   rG   rQ  rP  rF   sumrR  rL   r   r   )r   r  r]  rB   r0   r1   r2   r3   r4   r5   r/   r6   r8   r7   r:   r9   r;   r  	goodspaceinsidespaceminchlmaxchlDoGfinishJGDoG1finishJGr  newma30r  r   s                               r   cal_qs_QSmessagezOneqs.cal_qs_QSmessage  su   M% M% =M% =M% =]6"M% M-0&78=.
}%56>$q&)
	
 663w$*V,,--	 3t}}3t}}66T1WWVf "aV 44555&Qt|TZG[E[A\:\:\ $K2vv--2vv-- b!DL$8"8999GFOOOT)OOOO!"aV(<&<"===--r66 3t}}S!DL$8"8999$ KL.((Z-F-I-I ?**{?/JA/M/M! %l %$ Avv#d((tC4<3G1G,H'H'H$sttDM%%''gtAv(>>G'"*Q''GDL,,,GFOOOS(OOOUU
 3t}}S!DL$8"8999$ KL.(( ?**! %l %$ Avv#d((tC4<3G1G,H'H'H$sttDM%%''gtAv(>>G'"*Q''GDL,,,GFOOOS(OOO<
	1R]]  8A;rx!},T11bhqsmBHQqSM6QRV6V6VGFOOOT)OOOE1R]]  8A;rx!},T11bhqsmBHQqSM6QRV6V6VGFOOOT)OOOEE 	DDs+   'M M
='Q% %Q)<C"U#  U# #U(c                 &&   |d         }|d         }|d         }|d         }| j         d         }	| j         d         }
|d         }	 d|d	<   d|d
<   d|d<   d|d<   d}d}d}d}d}d}d}d}d}d}d}t          |dz
  dd          D ]}|d         |         dk    	r2|d         |         |d         |         z  }|}t          ||dz
  d          D ])}|d         |         |d         |         z  }||k     r|}|}*d|d	         |<   d|d         |<   |d         |         |d         |<   ||dz
  k    r nt          |dz   |dz
  d          D ]}|d         |         |d         |dz
           k     rm|d         |         }|d         |         }t          |dz   |dz
  d          D ]9}||d         |         k    r|} n"||d         |         k     rd|d	         |<   |} n:t          ||dz
  d          D ]}|d	         |         dk    rx|d         |         }|}d}t          |dz   |dz
  d          D ]:}|d         |         |k    r|d         |         }|}|d	         |         dk    r|} n;||dz
  k    rd|d
         |<   t          ||dz
  d          D ]c}|d
         |         dk    rMt          |d         |         |d         |         z
            }t          |d         |         |d         |         z
            } |d         |         |d         |         k     r| dz  |k     rd|d
         |<   d}!t          ||dz
  d          D ]}|d	         |         dk    r	|}"|!dz   }! nt          |dd          D ]}|d	         |         dk    r	|}#|!dz   }! n|!dk    r^|d         |"         |d         |#         k    r5|d	         |#         dk    r	 d|d         |#<   C#  Y HxY wd|d	         |"<   Xd|d	         |"<   et          |dz   |dz
  d          D ]}|d
         |         dk    rt          |d         |         |d         |         z
            }$t          |d         |         |d         |         z
            }t          |d         |         |d         |         z
            } |d         |         |d         |         k    s	|$|dz  k     r~d|d         |<   d}||dz  k     rd}|d         |         |d         |<   t          ||dz
  d          D ]8}|d	         |         dk    r$d|d         |<   |d         |         |d         |<    n99|d         |         |d         |         k    s	|| dz  k     rod|d         |<   |d         |         |d         |<   t          ||dz
  d          D ]8}|d	         |         dk    r$d|d         |<   |d         |         |d         |<    n9t          ||dz
  d          D ]}|d	         |         dk    rt          |dz   |dz
  d          D ]{}|d
         |         dk    r nf|d	         |         dk    rS|d         |         dk    r6|d         |         |d         |         k     rd|d	         |<   dd|d	         |<   pd|d	         |<   |t          |dz
  |dz
  d          D ]}|d         |         }%|%dk    rt          j        d| d|%            |%dk    rH|d         |dz
           |d         |         k    rd}|d         |dz
           }nd}|d         |dz
           }|%dk    rH|d         |dz
           |d         |         k     rd}|d         |dz
           }nd}|d         |dz
           }|%dk    rH|d         |dz
           |d         |         k    rd}|d         |dz
           }nd}|d         |dz
           }|%dk    rH|d         |dz
           |d         |         k     rd}|d         |dz
           }nd}|d         |dz
           }|%dk    rH|d         |dz
           |d         |         k    rd }|d         |dz
           }nd}|d         |dz
           }||d         |dz
  <   ||d         |dz
  <   |%} nt          |	|dz
  d          D ]e}|d         |         dk    rQ|j        |	|d!f                                         }&|j        ||dz
  d!f                                         }'|'|&k     rd}ft          |dz
  |dz
  d          D ]}|d         |         dk    s$|d         |         dk    s|d         |         dk    rxt          |dz
  |dz
  d          D ]^}|d         |         dk    s$|d         |         dk    s|d         |         dk    r&|d         |         |d         |         k    rd} nd} n_ n 	n=|d         |         d"k    	r(|d         |         |d         |         z  }|}t          ||dz
  d          D ])}|d         |         |d         |         z  }(|(|k    r|}|(}*d|d
         |<   d#|d         |<   |d         |         |d         |<   ||dz
  k    r nt          |dz   |dz
  d          D ]}|d         |         |d         |dz
           k    rm|d         |         })|d         |         }*t          |dz   |dz
  d          D ]9}|*|d         |         k     r|} n"|)|d         |         k    rd|d
         |<   |} n:d}t          ||dz
  d          D ]}|d
         |         dk    rv|d         |         }+|},t          |dz   |dz
  d          D ]:}|d         |         |+k     r|d         |         }+|},|d
         |         dk    r|} n;||dz
  k    rd|d	         |,<   t          ||dz
  d          D ]t}|d	         |         dk    r^t          |d         |         |d         |         z
            }-t          |d         |         |d         |         z
            }.|d         |         |d         |         k    r|.dz  |-k    rd|d	         |<   d}!t          ||dz
  d          D ]}|d
         |         dk    r	|}/|!dz   }! nt          |dd          D ]}|d
         |         dk    r	|}0|!dz   }! n|!dk    rot          j        d$|0 d%|/            |d         |/         |d         |0         k    r,|d         |0         d#k    rd|d
         |0<   \d|d
         |/<   id|d
         |/<   vt          |dz   |dz
  d          D ]}|d	         |         dk    rt          |d         |         |d         |         z
            }1t          |d         |         |d         |         z
            }-t          |d         |         |d         |         z
            }.|d         |         |d         |         k     s	|1|-dz  k     r~d&|d         |<   d}||dz  k    rd}2|d         |         |d         |<   t          ||dz
  d          D ]8}|d
         |         dk    r$d'|d         |<   |d         |         |d         |<    n99|d         |         |d         |         k     s	|-|.dz  k     rod(|d         |<   |d         |         |d         |<   t          ||dz
  d          D ]8}|d
         |         dk    r$d)|d         |<   |d         |         |d         |<    n9t          ||dz
  d          D ]}|d
         |         dk    rt          |dz   |dz
  d          D ]{}|d	         |         dk    r nf|d
         |         dk    rS|d         |         d#k    r6|d         |         |d         |         k    rd|d
         |<   dd|d
         |<   pd|d
         |<   |t          |dz
  |dz
  d          D ]}|d         |         }%|%dk    r|%d#k    rH|d         |dz
           |d         |         k     rd(}|d         |dz
           }nd#}|d         |dz
           }|%d(k    rH|d         |dz
           |d         |         k    rd)}|d         |dz
           }nd(}|d         |dz
           }|%d)k    rH|d         |dz
           |d         |         k     rd&}|d         |dz
           }nd)}|d         |dz
           }|%d&k    rH|d         |dz
           |d         |         k    rd'}|d         |dz
           }nd&}|d         |dz
           }|%d'k    rH|d         |dz
           |d         |         k     rd*}|d         |dz
           }nd'}|d         |dz
           }||d         |dz
  <   ||d         |dz
  <   |%} nt          |
|dz
  d          D ]e}|d         |         d&k    rQ|j        |
|df                                         }3|j        ||dz
  df                                         }4|4|3k    rd}ft          |dz
  |dz
  d          D ]}|d         |         d#k    s$|d         |         d)k    s|d         |         d'k    rxt          |dz
  |dz
  d          D ]^}|d         |         d#k    s$|d         |         d)k    s|d         |         d'k    r&|d         |         |d         |         k     rd} nd} n_ n n|||||d+}5||5fS ),u  
        DD -2
        Kai -1
        GG 2
        Luo 1
        从后向前找，如果第一个找到-2，即当前在上涨趋势中
        1，下跌趋势中找底分型，
        2，两个底分型之间找最高点（或碰MA10或MA30的点）
        r8   r3   r5   r/   r<   r=   r   r   JGVFXJGAFXr  rH   JGVr   r   r   r  r-   r   r   rv  r   r   r  zJGVFX 9g?rt  7rw  z-i am here 01r   r   1zlastAFX is z ||| nextAFX is rx  52rs  06r$  r&  r(  r*  r,  )rI   r   abslogginginfoilocrQ  rP  )6r   r  r]  rB   r  r8   r3   r5   r/   r<   r=   r  r(  KJdoner,  r*  r$  r&  
CurrentJGVminlpercentminllocationmaxhpercentmaxhlocationr   r  minlpercentnewlowhighlowlowrO  currentHighcurrentHighLocation	high2ma10high2ma5comp_OKnextVFXlastVFX	high2ma30lastFXis	lowbeforelowaftermaxhpercentnewhighlowhighhigh
currentLowcurrentLowLocationlow2ma10low2ma5nextAFXlastAFXlow2ma30XDKJ
highbefore	highafterperiodJGs6                                                         r   cal_jg_JGmodulezOneqs.cal_jg_JGmoduleX  s=    uououod^mG$mG$l+
	 ggde	
taxR(( T	 T	AW~a A%%#El1ouV}Q/?? q$'1-- 4 4A$)%LOU6]15E$EN%{22'(%3/1g|-,/dL)-25\,-Ge\*4!8++UU |Qa;; & &AU|AeQT(:::!&vq!1 %eQ!&q!tT1Wa!8!8 & &A%uU|A66"# %&uV}Q'77746gq 1"# %  8 |DF155 B BAgq)2--$)&M!$4,-+!&qs46!!4!4 & &A$V}Q/;;,1&M!,<45 3$W~a0"44"# %  5 d1f99@AE'N+>? |DF155 !> !>AW~a(!++#&uV}Q'7fa8H'H#I#I	!$U5\!_U6^Q5G%G!H!H =+U6]1-===$,QJy$8$801E'N1- %&G&+Ad1fQ&7&7 * *#('?1#5r#9#9,-G,3AIG$)E $:
 &+1R^^ * *#(>!#4b#8#8,-G,3AIG$)E $9
  'zz#(<#8%,w:O#O#O',W~g'>'C'C)1EFE(OG,D,D)1,0DABgw(?(?<=E'N7$; |A~d1fQ77 . .AW~a(!++$'vq(9E&M!<L(L$M$M	$'fa(85=;K(K$L$L	#&uU|Avq9I'I#J#J =+E&M!,<<<	)TU+@U@U+.E$KN#$F"3s7{{'(.3FmA.>E%LO%*1T!VA%6%6 * *#(>!#4b#8#836E$KN6;El1oE%LO$)E $9
  %V}Q/fa0@@@IhWXjDXDX/2dA38=3Cea 0).qa):): !. !.A',W~a'82'='=9<dA:?,q/eQ(- (>
 |TAXq99 : :AW~a(",,!&qsDF1!5!5 
: 
:A$W~a0!33 %$W~a0"44#(;q>3#6#6',U|AuU|A'F'F:;gq(9(9:;gq(9(989E'N1$5 tAv|A~r:: * *A"4[^H}}%F6%F%FH%F%FGGG#s??$V}T!V4U6]15EEE,/	-26]4!8-D

+.	+0<Q+?
#s??$U|DF3E%LOCC,/	-25\$(-C

+.	+0=a+@
#s??$V}T!V4U6]15EEE,/	-26]4!8-D

+.	+0<Q+?
#s??$U|DF3E%LOCC,/	-25\$(-C

+.	+0=a+@
#s??$V}T!V4U6]15EEE+/	-26]4!8-D

+.	+0<Q+?
,5dDF+/9eT!V,$,Q %V uT!VA.. 4 4AT{1~s**%*Za
%;%?%?%A%A	&+j461&=&A&A&C&C#I--!r tAvl1nR88 
 
AT{1~,,dA#0E0EPTVW\_I_I_!&qs\!^b!B!B * *A$T{1~44dA8K8KuUY{[\~_bObOb#(<?5%=3C#C#C)*D$)E)+D$)E Pc  J` W~a B&& $FmA.fa0@@ q$'1-- 4 4A$)&M!$4eFmA6F$FN%33'(%3/0g|-,/dL)-26]<-He\*4!8++UU |Qa;; & &AV}Q'vq!t)<<<!&ua"'-"2!&q!tT1Wa!8!8 & &A'vq)999"# %&uU|A6645gq 1"# %  7 |DF155 B BAgq)1,,#(<?
+,*!&qs46!!4!4 & &A$U|Az99+0<?
34 2$W~a0!33"# %  4 d1f99?AE'N+=> |DF155  >  >AW~a(",,"%eFmA&6uU|A&F"G"G #E%LOE%M14E$E F F <?E&M!,<<<$+AIh$6$601E'N1- %&G&+Ad1fQ&7&7 * *#('?1#5q#8#8,-G,3AIG$)E $9
 &+1R^^ * *#(>!#4a#7#7,-G,3AIG$)E $8
  'zz '-]7-]-]T[-]-] ^ ^ ^#(=#95=;Q#Q#Q',T{7';S'@'@@Agw(?(?ABgw(?(?<=E'N7$; |A~d1fQ77 . .AW~a(!++#&uf~a'85<?'J#K#K#&uV}Q'7%,q/'I#J#J"%eEl1oeQ&G"H"H <?5=+;;;xQR
?R?R+.E$KN#$F"3s7{{%&.3El1oE%LO%*1T!VA%6%6 * *#(>!#4a#7#736E$KN6;FmA6FE%LO$)E $8
  %U|AuV}Q/???8GTUICUCU/2dA27,q/eQ).qa):): !. !.A',W~a'81'<'<9<dA:?-:JeQ(- (=
 |TAXq99 : :AW~a(!++!&qsDF1!5!5 
: 
:A$W~a0"44 %$W~a0!33#(;q>3#6#6',V}Q'7fa8H'H'H:;gq(9(9:;gq(9(989E'N1$5
 tAv|A~r:: * *A"4[^H}}#s??$U|DF3E%LOCC,/	-25\$(-C

+.	+0=a+@
#s??$V}T!V4U6]15EEE,/	-26]4!8-D

+.	+0<Q+?
#s??$U|DF3E%LOCC,/	-25\$(-C

+.	+0=a+@
#s??$V}T!V4U6]15EEE,/	-25\$(-C

+.	+0<Q+?
#s??$U|DF3E%LOCC,0	-25\$(-C

+.	+0=a+@
,5dDF+/9eT!V,$,Q %V uT!VA.. 6 6AT{1~s**&+jq!&<&@&@&B&B
',z!DF(A+'>'B'B'D'D	$Z//A tAvl1nR88  AT{1~,,dA#0E0EPTVW\_I_I_!&qs\!^b!B!B 	* 	*A$T{1~44dA8K8KuUY{[\~_bObOb#(=#3E6N14E#E#E)+D$)E)*D$)E Pc  J` _ 'j !, ) &  $
 
  hs   OOc                     ||||d|d}t          j        | j        t          j        |g          gd          | _        d S )Nr   )moduler^   reasonpriceperrB   Trv   )r   r   r^   r   )r   r  r^   r  r  rB   tmppnss          r   topnszOneqs.topns*  sE    c6%aY_``DHblF8&<&<=DQQQr   c                    |                      ddd|d         | j        |                    |                      ddd|d         | j        |                    |                      ddd|d         | j        |                    |                      ddd|d         | j        |                    | j        |         }d|v sd	|v sd
|v r|dk    r|                      ddd|d         | j        |                    t          |d                   dk    rB|d         d
k    r6|dk    r0|dk    r*|                      ddd|d         | j        |                    d|v sd|v r|dk    r{|                      ddd|d         | j        |                    t          |d                   dk    r<|dk    r8|dk    r4|                      ddd|d         | j        |                    d S d S d S d S d S d S )Nr/   Pr4   r5   Sr3   r2   r  r{  rt  r!   rH   r   r&  ru  r    r   r  r  r-   )r  rD   r/   r  )r   r  r  rB   tmpqss        r   cal_qsjg_pnszOneqs.cal_qsjg_pns-  s   

4D$	&0ABBB

4E(5/$)F2CDDD

4E(5/$)F2CDDD

4D$	&0ABBBgfoEMMTU]]cUllJJtCx'7	&8IJJJ8K())1,,+1F1K1KPVX\P\P\agimamam

4F8F+;DIf<MNNNEMMTU]]JJtCx'7	&8IJJJ8K())1,,&$,,

4F8F+;DIf<MNNNNN 1=]],,,,r   c                     | j         D ]}d S r  )rC   )r   r   s     r   cal_qs_pnsbyperiodzOneqs.cal_qs_pnsbyperiod=  s      	 	Ar   c                    	 |d         d         }n#  Y nxY wi d||z   d|d|ddddd	dd
ddddddddddddddddddddddddddddddddddd}dddddd}|j         d         }|dk     r|||fS |                     ||          }|                     ||          }|                     ||          }|                     ||          }|                     ||          }|                     ||||          \  }}|                     |||           |                     ||||          \  }}| 	                    |||           |||fS )Nr   r   r  r   rB   r   c   r/   r2   r3   r4   r5   r   r   r  r8   r  r   r  r  r  r  r   r)   )
r   r  r  r  r  r  r  r  r  r  )r   r  r   rB   r  r  r  r]  s           r   rT  zOneqs.cal_qsF  sN   	W~b)JJ	DFI$6 IF B B	
 B B B B B B B B B B !B  !B!" %'$&$&$&$&$&$&$&$& $&$&$&;  @ "$!#!#!#!#  {1~775(22  t,,uT**d++))%55//d;;66ytFSSheD000++E$vhGGh(8F333h((s    r  )__name__
__module____qualname____doc__r   r   rn   r   r   rq  rm  r~  rS  r  _Oneqs__Merger  r  r  r  r  r  r  r  r  r  r  rT  __classcell__)r   s   @r   r
   r
      s       **     1% 1% 1%dM M M+2 +2 +2XC! C! C!J32 32 32hW! W! W!r    2    E E EL  @- - -\  :8 8 8rV V VnB B BFQ Q QdR R RO O O   9) 9) 9) 9) 9) 9) 9)r   r
   ),oneclass.onedbr   oneclass.onedatar   osr   sysr~   rejsonr  requestswarningsr  xlrd	tracebacknumpyr   pandasr   tusharer   
sqlalchemyr   pymysqlmultiprocessingr   	set_token
set_optionfilterwarningsdurtimedurting1FocusPerioduihandleplockshowtypehavelistseqr   	mysqlhostr   rd   re   r   r
   r  r   r   <module>r?     s  
!((((((******UUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUU******NNN    PBLKLLLBM+T222HH%%%EXDGH[%4Ii#/2<>>,",.."HXlk) k) k) k) k) k) k) k) k) k)r   