§
    GCjù  ã                   óJ   — d dl mZ d dlmZmZ d
d„Zd
d„Zd
d„Zd
d„Zd
d	„Z	dS )é    )Úeffective_required_drop_pct)Úload_strategy_presetsÚpreset_to_configÚreturnNc                  óº   — t          ¦   «         } | d         }|j        d         dk    sJ ‚|j        d         dk    sJ ‚|j        d         dk    sJ ‚d|j        v sJ ‚d S )	NÚcandidate_v63_loose_fast_decayÚflash_crash_trigger_pctg      @Údead_fish_time_limit_minsé   Úv_shape_trail_dist_pctç      à?zsweep-winner)r   Ú
parametersÚtags)ÚpresetsÚpresets     ú*tests/test_strategy_registry_candidates.pyÚ-test_candidate_v63_sweep_winner_is_registeredr      s   € Ý#Ñ%Ô%€GØÐ5Ô6€FàÔÐ6Ô7¸3Ò>Ð>Ð>Ð>ØÔÐ8Ô9¸RÒ?Ð?Ð?Ð?ØÔÐ5Ô6¸#Ò=Ð=Ð=Ð=Ø˜Vœ[Ð(Ð(Ð(Ð(Ð(Ð(ó    c                  óž  — t          ¦   «         } | d         }| d         }||fD ]m}d|j        v sJ ‚d|j        v sJ ‚|j        d         dk    sJ ‚|j        d         dk    sJ ‚d	|j        d
         cxk    rdk    sn J ‚|j        d         dk    sJ ‚Œn|j        d         |j        d         k    sJ ‚|j        d         |j        d         k    sJ ‚d S )NÚ%candidate_v64_squeeze_survival_strictÚ#candidate_v64_squeeze_survival_widezpre-handover-lessonsú
paper-onlyr
   é   Úmax_hard_stop_pctç      @gš™™™™™Ù?Úbreak_even_activation_pctç      è?Útrade_size_usdg      I@r	   r   ©r   r   r   )r   ÚstrictÚwider   s       r   Ú5test_candidate_v64_uses_pre_handover_survival_lessonsr"      s%  € Ý#Ñ%Ô%€GàÐ<Ô=€FØÐ8Ô9€Dà˜4.ð ;ð ;ˆØ%¨¬Ð4Ð4Ð4Ð4Ø˜vœ{Ð*Ð*Ð*Ð*ØÔ Ð!<Ô=ÀÒCÐCÐCÐCØÔ Ð!4Ô5¸Ò<Ð<Ð<Ð<ØfÔ'Ð(CÔDÐLÐLÒLÐLÈÒLÐLÐLÐLÐLÐLØÔ Ð!1Ô2°dÒ:Ð:Ð:Ð:Ð:àÔÐ6Ô7¸4¼?ÐKdÔ;eÒeÐeÐeÐeØÔÐ5Ô6¸$¼/ÐJbÔ:cÒcÐcÐcÐcÐcÐcr   c                  ó–  — t          ¦   «         } | d         }| d         }||fD ]á}d|j        v sJ ‚d|j        v sJ ‚d|j        v sJ ‚|j        d         dk    sJ ‚|j        d         d	k    sJ ‚|j        d
         dk    sJ ‚|j        d         dk    sJ ‚|j        d         dk    sJ ‚|j        d         dk    sJ ‚|j        d         dk    sJ ‚|j        d         dk    sJ ‚|j        d         dk    sJ ‚|j        d         dk    sJ ‚Œâ|j        d         dk    sJ ‚|j        d         dk    sJ ‚|j        d         |j        d         k     sJ ‚d S )NÚ)candidate_v65_signal_sampler_conservativeÚ'candidate_v65_signal_sampler_aggressiver   úresearch-samplerúnot-championr   ç      4@Úposition_sizing_modeÚriskÚwallet_equity_usdcç     @@Úrisk_per_trade_pctr   Úmax_position_margin_pctg      $@Úmax_total_tradesé   r
   é
   r   ç       @r   gffffffÖ?Úcooldown_minutesé-   r	   r   ç      @r   )r   ÚconservativeÚ
aggressiver   s       r   Ú4test_candidate_v65_signal_samplers_are_research_onlyr8   !   sÔ  € Ý#Ñ%Ô%€GØÐFÔG€LØÐBÔC€Jà Ð,ð ;ð ;ˆØ˜vœ{Ð*Ð*Ð*Ð*Ø! V¤[Ð0Ð0Ð0Ð0Ø ¤Ð,Ð,Ð,Ð,ØÔ Ð!1Ô2°dÒ:Ð:Ð:Ð:ØÔ Ð!7Ô8¸FÒBÐBÐBÐBØÔ Ð!5Ô6¸%Ò?Ð?Ð?Ð?ØÔ Ð!5Ô6¸#Ò=Ð=Ð=Ð=ØÔ Ð!:Ô;¸tÒCÐCÐCÐCØÔ Ð!3Ô4¸Ò9Ð9Ð9Ð9ØÔ Ð!<Ô=ÀÒCÐCÐCÐCØÔ Ð!4Ô5¸Ò<Ð<Ð<Ð<ØÔ Ð!<Ô=ÀÒEÐEÐEÐEØÔ Ð!3Ô4¸Ò:Ð:Ð:Ð:Ð:àÔ"Ð#<Ô=ÀÒDÐDÐDÐDØÔ Ð!:Ô;¸sÒBÐBÐBÐBØÔ Ð!1Ô2°\Ô5LÐM]Ô5^Ò^Ð^Ð^Ð^Ð^Ð^r   c                  ó&  — t          ¦   «         } t          | d         ¦  «        }t          | d         ¦  «        }t          |d¦  «        dk    sJ ‚t          |d¦  «        dk    sJ ‚t          |d¦  «        dk    sJ ‚t          |d¦  «        dk    sJ ‚d S )Nr$   r%   ÚWLDr   ÚHYPEr5   )r   r   r   )r   r6   r7   s      r   ÚItest_candidate_v65_sampler_roe_normalization_preserves_sampler_thresholdsr<   :   s¥   € Ý#Ñ%Ô%€GÝ# GÐ,WÔ$XÑYÔY€LÝ! 'Ð*SÔ"TÑUÔU€Jå& |°UÑ;Ô;¸sÒBÐBÐBÐBÝ& |°VÑ<Ô<ÀÒCÐCÐCÐCÝ& z°5Ñ9Ô9¸SÒ@Ð@Ð@Ð@Ý& z°6Ñ:Ô:¸cÒAÐAÐAÐAÐAÐAr   c                  óÆ  — t          ¦   «         } | d         }t          |¦  «        }d|j        v sJ ‚d|j        v sJ ‚d|j        v sJ ‚d|j        v sJ ‚|j        dk    sJ ‚|j        dk    sJ ‚|j        dk    sJ ‚|j        d	k    sJ ‚|j        d
k    sJ ‚|j        dk    sJ ‚|j	        dk    sJ ‚|j
        dk    sJ ‚|j        dk    sJ ‚|j        dk    sJ ‚|j        dk    sJ ‚d S )NÚ&candidate_v66_squeeze_breakout_samplerr   r&   r'   zsqueeze-breakoutÚvolatility_squeeze_breakoutr*   r,   r   r(   g      .@r0   r5   g333333ó?é   r2   )r   r   r   Ústrategy_familyr)   r+   r-   r.   r   r/   Úsqueeze_max_band_width_pctÚsqueeze_breakout_pctr
   r   )r   r   Úcfgs      r   Ú<test_candidate_v66_squeeze_breakout_sampler_is_research_onlyrE   E   sT  € Ý#Ñ%Ô%€GØÐ=Ô>€FÝ
˜6Ñ
"Ô
"€Cà˜6œ;Ð&Ð&Ð&Ð&Ø ¤Ð,Ð,Ð,Ð,Ø˜Vœ[Ð(Ð(Ð(Ð(Ø ¤Ð,Ð,Ð,Ð,ØÔÐ"?Ò?Ð?Ð?Ð?ØÔ# vÒ-Ð-Ð-Ð-ØÔ! UÒ*Ð*Ð*Ð*ØÔ! TÒ)Ð)Ð)Ð)ØÔ&¨$Ò.Ð.Ð.Ð.ØÔ Ò%Ð%Ð%Ð%ØÔ 1Ò$Ð$Ð$Ð$ØÔ)¨SÒ0Ð0Ð0Ð0ØÔ# sÒ*Ð*Ð*Ð*ØÔ(¨BÒ.Ð.Ð.Ð.ØÔ  CÒ'Ð'Ð'Ð'Ð'Ð'r   )r   N)
Ú	near_missr   Ústrategy_registryr   r   r   r"   r8   r<   rE   © r   r   ú<module>rI      s©   ðØ 1Ð 1Ð 1Ð 1Ð 1Ð 1Ø EÐ EÐ EÐ EÐ EÐ EÐ EÐ Eð)ð )ð )ð )ðdð dð dð dð$_ð _ð _ð _ð2Bð Bð Bð Bð(ð (ð (ð (ð (ð (r   