
    ol.j                    f    d dl mZ d dlmZ d dlmZ d dlmZmZ d dl	m
Z
 dd
ZddZddZddZdS )    )annotations)Decimal)Any)PositionCopySignalSignalDecision)evaluate_copy_signal	overridesr   returnr   c                    t          dddt          d          t          d          t          d          t          d          dt          d          t          d	          d
d          }|                    |            t          di |S )Nzleader-aBTClong12z0.2z0.02T20z0.005F)	leader_idcoinsideposition_age_hoursleader_profit_rdistance_to_leader_entry_pct
spread_pctdepth_okleader_liquidation_distance_pctfunding_rate_hourly_pctduplicate_exposureis_position_level )dictr   updater   )r	   datas     $tests/test_ctb_copy_pretrade_gate.py_signalr!   
   s    "4==%,U^^6??(/ ' 0 0   D 	KK	%%%%%    Nonec                     t          t                                } | j        t          j        k    sJ | j        dk    sJ d S )N)ok_for_shadow_only)r   r!   decisionr   ALLOW_SHADOWreasonsr&   s    r    7test_allows_clean_position_level_signal_for_shadow_onlyr*      sE    #GII..H ;;;;;6666666r"   c                     t          t          dt          d                              } | j        t          j        k    sJ d| j        v sJ d| j        v sJ d S )NF1)r   r   fill_level_copying_disabledposition_age_below_6hr   r!   r   r&   r   BLOCKr(   r)   s    r    )test_blocks_fill_level_and_young_positionr1   #   sk    #GeX_`cXdXd$e$e$effH 44444(H,<<<<<"h&6666666r"   c            	        t          t          t          d          t          d          t          d          d                    } | j        t          j        k    sJ d| j        v sJ d| j        v sJ d| j        v sJ d	| j        v sJ d S )
Nz0.8z1.2z0.05T)r   r   r   r    leader_already_above_0_5r_profit"distance_to_leader_entry_too_largefunding_extreme"duplicate_exposure_already_presentr/   r)   s    r    6test_blocks_chasing_bad_funding_and_duplicate_exposurer7   *   s    ##ENN)0$+FOO#		
 	
 	
 H  44444-1AAAAA/83CCCCC 00000/83CCCCCCCr"   N)r	   r   r
   r   )r
   r#   )
__future__r   decimalr   typingr   src.ctb_copy.modelsr   r   $src.ctb_copy.risk.copy_pretrade_gater   r!   r*   r1   r7   r   r"   r    <module>r=      s    " " " " " "             B B B B B B B B E E E E E E& & & &&7 7 7 77 7 7 7D D D D D Dr"   