def generate_exits(self, exit_choice_func_nb, *args, wait=1, wrap_kwargs=None): """See `vectorbt.signals.nb.generate_ex_nb`. ## Example Fill all space after signals in `sig`: ```python-repl >>> @njit ... def exit_choice_func_nb(from_i, to_i, col, temp_range): ... return temp_range[from_i:to_i] >>> temp_range = np.arange(sig.shape[0]) # reuse memory >>> sig.vbt.signals.generate_exits(exit_choice_func_nb, temp_range) a b c 2020-01-01 False False False 2020-01-02 True True False 2020-01-03 True False False 2020-01-04 True True True 2020-01-05 True False True ``` """ checks.assert_numba_func(exit_choice_func_nb) exits = nb.generate_ex_nb(self.to_2d_array(), wait, exit_choice_func_nb, *args) return self.wrapper.wrap(exits, **merge_dicts({}, wrap_kwargs))
def apply_nb(i, entries, exit_wait, exit_input_list, exit_in_output_tuples, exit_param_tuples, exit_args): return generate_ex_nb( entries, exit_wait, exit_choice_func, *exit_input_list, *exit_in_output_tuples[i], *exit_param_tuples[i], *exit_args )
def generate_exits(self, exit_choice_func_nb, *args): """See `vectorbt.signals.nb.generate_ex_nb`. Example: Fill all space between signals in `sig`: ```python-repl >>> @njit ... def exit_choice_func_nb(col, from_i, to_i): ... return np.arange(from_i, to_i) >>> sig.vbt.signals.generate_exits(exit_choice_func_nb) a b c 2020-01-01 False False False 2020-01-02 True True False 2020-01-03 True False False 2020-01-04 True True True 2020-01-05 True False True ```""" checks.assert_numba_func(exit_choice_func_nb) return self.wrap(nb.generate_ex_nb(self.to_2d_array(), exit_choice_func_nb, *args))