
    "j                    l    d dl mZ d dlZd dlmc mZ d dlm	Z	 d dl
Z
d dlmZmZ d dlmZ dd
ZddZdS )    )annotationsN)Path)build_strategy_envbuild_strategy_command_plan)StrategyPresettmp_pathr   returnNonec                r   t          ddddddddd	d
dddd
          }t          ||           }|d         }d}| |z  }d}||z  }t          |          }||k    }	|	st          j        d|	fd||f          t          j        |          dt          j                    v st          j        t                    rt          j        t                    nddt          j                    v st          j        |           rt          j        |           ndt          j        |          t          j        |          t          j        |          dz  }
dd|
iz  }t          t          j
        |                    d x}x}	x}x}x}x}}|d         }d}||k    }	|	slt          j        d|	fd||f          t          j        |          t          j        |          dz  }dd|iz  }t          t          j
        |                    d x}x}	}|d         }d }||k    }	|	slt          j        d|	fd||f          t          j        |          t          j        |          dz  }dd|iz  }t          t          j
        |                    d x}x}	}|d!         }d"}||k    }	|	slt          j        d|	fd||f          t          j        |          t          j        |          dz  }dd|iz  }t          t          j
        |                    d x}x}	}|d#         }d$}||k    }	|	slt          j        d|	fd||f          t          j        |          t          j        |          dz  }dd|iz  }t          t          j
        |                    d x}x}	}|d%         }d&}||k    }	|	slt          j        d|	fd||f          t          j        |          t          j        |          dz  }dd|iz  }t          t          j
        |                    d x}x}	}|d'         }d(}||k    }	|	slt          j        d|	fd||f          t          j        |          t          j        |          dz  }dd|iz  }t          t          j
        |                    d x}x}	}|d)         }d}||k    }	|	slt          j        d|	fd||f          t          j        |          t          j        |          dz  }dd|iz  }t          t          j
        |                    d x}x}	}|d*         }d+}||k    }	|	slt          j        d|	fd||f          t          j        |          t          j        |          dz  }dd|iz  }t          t          j
        |                    d x}x}	}|d,         }d
}||k    }	|	slt          j        d|	fd||f          t          j        |          t          j        |          dz  }dd|iz  }t          t          j
        |                    d x}x}	}|d-         }d.}||k    }	|	slt          j        d|	fd||f          t          j        |          t          j        |          dz  }dd|iz  }t          t          j
        |                    d x}x}	}|d/         }d0}||k    }	|	slt          j        d|	fd||f          t          j        |          t          j        |          dz  }dd|iz  }t          t          j
        |                    d x}x}	}|d1         }d2}||k    }	|	slt          j        d|	fd||f          t          j        |          t          j        |          dz  }dd|iz  }t          t          j
        |                    d x}x}	}|d3         }d4}||k    }	|	slt          j        d|	fd||f          t          j        |          t          j        |          dz  }dd|iz  }t          t          j
        |                    d x}x}	}d S )5NdemoDemounitg      @   g      )@g      "@volatility_squeeze_breakoutg333333?riskg     @@g      ?)WLDSUI)
flash_crash_trigger_pctdead_fish_time_limit_minstrade_size_usdcrash_roe_trigger_pctstrategy_familysqueeze_breakout_pctposition_sizing_modewallet_equity_usdcrisk_per_trade_pctallowed_coinsstrategy_idlabelsource
parametersCTB_RUNTIME_DIRexperiments==)zJ%(py1)s == %(py12)s
{%(py12)s = %(py3)s(((%(py4)s / %(py6)s) / %(py9)s))
}strr   )py1py3py4py6py9py12zassert %(py14)spy14CTB_PAPER_TRADINGtruez%(py1)s == %(py4)sr(   r*   assert %(py6)sr+   CTB_DRY_RUNfalseCTB_FLASH_CRASH_TRIGGER_PCTz5.5CTB_DEAD_FISH_TIME_LIMIT_MINS22CTB_TRADE_SIZE_USDz12.5CTB_CRASH_ROE_TRIGGER_PCTz9.0CTB_STRATEGY_FAMILYCTB_SQUEEZE_BREAKOUT_PCTz1.2CTB_POSITION_SIZING_MODECTB_WALLET_EQUITY_USDCz500.0CTB_RISK_PER_TRADE_PCTz0.75CTB_ALLOWED_COINSzWLD,SUIPYTHONUNBUFFERED1)r   r   r'   
@pytest_ar_call_reprcompare	_saferepr@py_builtinslocals_should_repr_global_nameAssertionError_format_explanation)r   presetenv@py_assert0@py_assert5@py_assert7@py_assert8@py_assert10@py_assert11@py_assert2@py_format13@py_format15@py_assert3@py_format5@py_format7s                  X/home/agent/projects/CryptoTradingBot/Crypto_Agent/tests/test_multi_strategy_launcher.py8test_build_strategy_env_maps_parameters_to_ctb_variablesrZ   
   s
   /2QSgk  GJ  _|  VY  sy  QV  nr  ES  T  T	  F VX
.
.C !KMKM)AKFK)AF)JKS)J%K%KK!%KKKKKKKKKKK!%KKKKKK!KKKKKKKKKKKSKKKKKSKKKKKKKKKKKKKKKKKKKKKKKKMKKKKFKKKK%KKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKK"#-v-#v----------#v-----#----v---------------------------}((((((((((((((((((((((((((((((((((((((((((((((((,-66-6666666666-66666-6666666666666666666666666666666./747/47777777777/477777/77774777777777777777777777777777#$..$..........$.....$...............................*+4u4+u4444444444+u44444+4444u444444444444444444444444444$%F)FF%)FFFFFFFFFFF%)FFFFFF%FFFF)FFFFFFFFFFFFFFFFFFFFFFFFFFFF)*3e3*e3333333333*e33333*3333e333333333333333333333333333)*4f4*f4444444444*f44444*4444f444444444444444444444444444'(3G3(G3333333333(G33333(3333G333333333333333333333333333'(2F2(F2222222222(F22222(2222F222222222222222222222222222"#0y0#y0000000000#y00000#0000y000000000000000000000000000!")c)"c))))))))))"c)))))"))))c)))))))))))))))))))))))))))))    c                   t          dddi           t          dddi           t          dddi           g}t          || d	
          }d |D             }ddg}||k    }|slt          j        d|fd||f          t          j        |          t          j        |          dz  }dd|iz  }t          t          j        |                    d x}x}}d |D             }t          |          }|sddt          j	                    v st          j
        t                    rt          j        t                    ndt          j        |          t          j        |          dz  }t          t          j        |                    d x}}d |D             }t          |          }|sddt          j	                    v st          j
        t                    rt          j        t                    ndt          j        |          t          j        |          dz  }t          t          j        |                    d x}}d S )NaAr   r   bBcC   )max_parallelc                    g | ]	}|j         
S  )r   .0items     rY   
<listcomp>zNtest_build_strategy_command_plan_limits_parallel_processes.<locals>.<listcomp>-   s    ...D...r[   r%   r1   r2   r3   r+   c              3  D   K   | ]}|j         t          j        d gk    V  dS )zAutoTrader.pyN)commandsys
executablerg   s     rY   	<genexpr>zMtest_build_strategy_command_plan_limits_parallel_processes.<locals>.<genexpr>.   s0      RRTt|@@RRRRRRr[   z,assert %(py4)s
{%(py4)s = %(py0)s(%(py2)s)
}all)py0py2r*   c              3  8   K   | ]}|j         d          dk    V  dS )r/   r0   N)rL   rg   s     rY   ro   zMtest_build_strategy_command_plan_limits_parallel_processes.<locals>.<genexpr>/   s/      HH4tx+,6HHHHHHr[   )r   r   rC   rD   rE   rI   rJ   rp   rF   rG   rH   )	r   presetsplanrM   rV   rS   rW   rX   @py_assert1s	            rY   :test_build_strategy_command_plan_limits_parallel_processesrw   $   s   3c&RPPP3c&RPPP3c&RPPPG 'wqIIID.....<3*<.*<<<<<<<<<<.*<<<<<.<<<<*<<<<<<<<<<<<<<<<<<<<<<<<<<<RRTRRRR3RRRRRRRRRRRRRRRR3RRRRR3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HH4HHHH3HHHHHHHHHHHHHHHH3HHHHH3HHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHr[   )r   r   r	   r
   )
__future__r   builtinsrF   _pytest.assertion.rewrite	assertionrewriterC   pathlibr   rm   multi_strategy_launcherr   r   strategy_registryr   rZ   rw   rf   r[   rY   <module>r      s    " " " " " "                     



 S S S S S S S S , , , , , ,* * * *4I I I I I Ir[   