SYMBOL INDEX (376 symbols across 30 files) FILE: easytrader/api.py function use (line 17) | def use(broker, debug=False, **kwargs): function follower (line 89) | def follower(platform, **kwargs): FILE: easytrader/clienttrader.py class IClientTrader (line 28) | class IClientTrader(abc.ABC): method app (line 31) | def app(self): method main (line 37) | def main(self): method config (line 43) | def config(self): method wait (line 48) | def wait(self, seconds: float): method refresh (line 53) | def refresh(self): method is_exist_pop_dialog (line 58) | def is_exist_pop_dialog(self): class ClientTrader (line 62) | class ClientTrader(IClientTrader): method enable_type_keys_for_editor (line 69) | def enable_type_keys_for_editor(self): method grid_strategy_instance (line 76) | def grid_strategy_instance(self): method __init__ (line 86) | def __init__(self): method app (line 93) | def app(self): method main (line 97) | def main(self): method config (line 101) | def config(self): method connect (line 104) | def connect(self, exe_path=None, **kwargs): method broker_type (line 122) | def broker_type(self): method balance (line 126) | def balance(self): method _init_toolbar (line 131) | def _init_toolbar(self): method _get_balance_from_statics (line 134) | def _get_balance_from_statics(self): method position (line 145) | def position(self): method today_entrusts (line 151) | def today_entrusts(self): method today_trades (line 157) | def today_trades(self): method cancel_entrusts (line 163) | def cancel_entrusts(self): method cancel_entrust (line 170) | def cancel_entrust(self, entrust_no): method cancel_all_entrusts (line 178) | def cancel_all_entrusts(self): method repo (line 202) | def repo(self, security, price, amount, **kwargs): method reverse_repo (line 208) | def reverse_repo(self, security, price, amount, **kwargs): method buy (line 214) | def buy(self, security, price, amount, **kwargs): method sell (line 220) | def sell(self, security, price, amount, **kwargs): method market_buy (line 226) | def market_buy(self, security, amount, ttype=None, limit_price=None, *... method market_sell (line 243) | def market_sell(self, security, amount, ttype=None, limit_price=None, ... method market_trade (line 258) | def market_trade(self, security, amount, ttype=None, limit_price=None,... method _set_market_trade_type (line 288) | def _set_market_trade_type(self, ttype): method _set_stock_exchange_type (line 305) | def _set_stock_exchange_type(self, ttype): method auto_ipo (line 323) | def auto_ipo(self): method _click_grid_by_row (line 349) | def _click_grid_by_row(self, row): method is_exist_pop_dialog (line 361) | def is_exist_pop_dialog(self): method close_pop_dialog (line 376) | def close_pop_dialog(self): method _run_exe_path (line 390) | def _run_exe_path(self, exe_path): method wait (line 393) | def wait(self, seconds): method exit (line 396) | def exit(self): method _close_prompt_windows (line 399) | def _close_prompt_windows(self): method close_pormpt_window_no_wait (line 409) | def close_pormpt_window_no_wait(self): method trade (line 414) | def trade(self, security, price, amount): method _click (line 423) | def _click(self, control_id): method _submit_trade (line 429) | def _submit_trade(self): method __get_top_window_pop_dialog (line 436) | def __get_top_window_pop_dialog(self): method _get_pop_dialog_title (line 442) | def _get_pop_dialog_title(self): method _set_trade_params (line 449) | def _set_trade_params(self, security, price, amount): method _set_market_trade_params (line 473) | def _set_market_trade_params(self, security, amount, limit_price=None): method _get_grid_data (line 489) | def _get_grid_data(self, control_id): method _type_keys (line 492) | def _type_keys(self, control_id, text): method _type_edit_control_keys (line 497) | def _type_edit_control_keys(self, control_id, text): method type_edit_control_keys (line 507) | def type_edit_control_keys(self, editor, text): method _collapse_left_menus (line 514) | def _collapse_left_menus(self): method _switch_left_menus (line 520) | def _switch_left_menus(self, path, sleep=0.2): method _switch_left_menus_by_shortcut (line 526) | def _switch_left_menus_by_shortcut(self, shortcut, sleep=0.5): method _get_left_menus_handle (line 532) | def _get_left_menus_handle(self): method _cancel_entrust_by_double_click (line 549) | def _cancel_entrust_by_double_click(self, row): method refresh (line 560) | def refresh(self): method _handle_pop_dialogs (line 565) | def _handle_pop_dialogs(self, handler_class=pop_dialog_handler.PopDial... class BaseLoginClientTrader (line 580) | class BaseLoginClientTrader(ClientTrader): method login (line 582) | def login(self, user, password, exe_path, comm_password=None, **kwargs): method prepare (line 586) | def prepare( FILE: easytrader/config/client.py function create (line 2) | def create(broker): class CommonConfig (line 22) | class CommonConfig: class YH (line 84) | class YH(CommonConfig): class HT (line 104) | class HT(CommonConfig): class GJ (line 131) | class GJ(CommonConfig): class GF (line 148) | class GF(CommonConfig): class WK (line 166) | class WK(HT): class HTZQ (line 170) | class HTZQ(CommonConfig): class UNIVERSAL (line 183) | class UNIVERSAL(CommonConfig): FILE: easytrader/exceptions.py class TradeError (line 4) | class TradeError(IOError): class NotLoginError (line 8) | class NotLoginError(Exception): method __init__ (line 9) | def __init__(self, result=None): FILE: easytrader/follower.py class BaseFollower (line 18) | class BaseFollower(metaclass=abc.ABCMeta): method __init__ (line 30) | def __init__(self): method login (line 39) | def login(self, user=None, password=None, **kwargs): method _generate_headers (line 60) | def _generate_headers(self): method check_login_success (line 75) | def check_login_success(self, rep): method create_login_params (line 81) | def create_login_params(self, user, password, **kwargs) -> dict: method follow (line 89) | def follow( method _calculate_price_by_slippage (line 115) | def _calculate_price_by_slippage(self, action: str, price: float) -> f... method load_expired_cmd_cache (line 128) | def load_expired_cmd_cache(self): method start_trader_thread (line 133) | def start_trader_thread( method warp_list (line 153) | def warp_list(value): method extract_strategy_id (line 159) | def extract_strategy_id(strategy_url): method extract_strategy_name (line 167) | def extract_strategy_name(self, strategy_url): method track_strategy_worker (line 175) | def track_strategy_worker(self, strategy, name, interval=10, **kwargs): method generate_expired_cmd_key (line 221) | def generate_expired_cmd_key(cmd): method is_cmd_expired (line 231) | def is_cmd_expired(self, cmd): method add_cmd_to_expired_cmds (line 235) | def add_cmd_to_expired_cmds(self, cmd): method _is_number (line 243) | def _is_number(s): method _execute_trade_cmd (line 250) | def _execute_trade_cmd( method trade_worker (line 345) | def trade_worker( method query_strategy_transaction (line 358) | def query_strategy_transaction(self, strategy, **kwargs): method extract_transactions (line 368) | def extract_transactions(self, history) -> List[str]: method create_query_transaction_params (line 376) | def create_query_transaction_params(self, strategy) -> dict: method re_find (line 385) | def re_find(pattern, string, dtype=str): method re_search (line 389) | def re_search(pattern, string, dtype=str): method project_transactions (line 392) | def project_transactions(self, transactions, **kwargs): method order_transactions_sell_first (line 400) | def order_transactions_sell_first(self, transactions): FILE: easytrader/gf_clienttrader.py class GFClientTrader (line 14) | class GFClientTrader(clienttrader.BaseLoginClientTrader): method broker_type (line 16) | def broker_type(self): method login (line 19) | def login(self, user, password, exe_path, comm_password=None, **kwargs): method _handle_verify_code (line 74) | def _handle_verify_code(self): FILE: easytrader/gj_clienttrader.py class GJClientTrader (line 13) | class GJClientTrader(clienttrader.BaseLoginClientTrader): method broker_type (line 15) | def broker_type(self): method login (line 18) | def login(self, user, password, exe_path, comm_password=None, **kwargs): method _handle_verify_code (line 72) | def _handle_verify_code(self): FILE: easytrader/grid_strategies.py class IGridStrategy (line 22) | class IGridStrategy(abc.ABC): method get (line 24) | def get(self, control_id: int) -> List[Dict]: method set_trader (line 34) | def set_trader(self, trader: "clienttrader.IClientTrader"): class BaseStrategy (line 38) | class BaseStrategy(IGridStrategy): method __init__ (line 39) | def __init__(self): method set_trader (line 42) | def set_trader(self, trader: "clienttrader.IClientTrader"): method get (line 46) | def get(self, control_id: int) -> List[Dict]: method _get_grid (line 53) | def _get_grid(self, control_id: int): method _set_foreground (line 59) | def _set_foreground(self, grid=None): class Copy (line 71) | class Copy(BaseStrategy): method get (line 78) | def get(self, control_id: int) -> List[Dict]: method _format_grid_data (line 85) | def _format_grid_data(self, data: str) -> List[Dict]: method _get_clipboard_data (line 97) | def _get_clipboard_data(self) -> str: class WMCopy (line 153) | class WMCopy(Copy): method get (line 158) | def get(self, control_id: int) -> List[Dict]: class Xls (line 166) | class Xls(BaseStrategy): method __init__ (line 171) | def __init__(self, tmp_folder: Optional[str] = None): method get (line 178) | def get(self, control_id: int) -> List[Dict]: method _format_grid_data (line 206) | def _format_grid_data(self, data: str) -> List[Dict]: FILE: easytrader/ht_clienttrader.py class HTClientTrader (line 10) | class HTClientTrader(clienttrader.BaseLoginClientTrader): method broker_type (line 14) | def broker_type(self): method login (line 17) | def login(self, user, password, exe_path, comm_password=None, **kwargs): method balance (line 61) | def balance(self): method _get_balance_from_statics (line 66) | def _get_balance_from_statics(self): FILE: easytrader/htzq_clienttrader.py class HTZQClientTrader (line 10) | class HTZQClientTrader(clienttrader.BaseLoginClientTrader): method broker_type (line 14) | def broker_type(self): method login (line 17) | def login(self, user, password, exe_path, comm_password=None, **kwargs): FILE: easytrader/joinquant_follower.py class JoinQuantFollower (line 10) | class JoinQuantFollower(BaseFollower): method create_login_params (line 19) | def create_login_params(self, user, password, **kwargs): method check_login_success (line 27) | def check_login_success(self, rep): method follow (line 33) | def follow( method extract_strategy_id (line 91) | def extract_strategy_id(self, strategy_url): method extract_strategy_name (line 95) | def extract_strategy_name(self, strategy_url): method create_query_transaction_params (line 99) | def create_query_transaction_params(self, strategy): method extract_transactions (line 104) | def extract_transactions(self, history): method stock_shuffle_to_prefix (line 109) | def stock_shuffle_to_prefix(stock): method project_transactions (line 121) | def project_transactions(self, transactions, **kwargs): FILE: easytrader/miniqmt/miniqmt_trader.py class DefaultXtQuantTraderCallback (line 119) | class DefaultXtQuantTraderCallback(XtQuantTraderCallback): method on_disconnected (line 124) | def on_disconnected(self): method on_account_status (line 131) | def on_account_status(self, status): method on_stock_order (line 141) | def on_stock_order(self, order): method on_stock_trade (line 151) | def on_stock_trade(self, trade): method on_order_error (line 161) | def on_order_error(self, order_error): method on_cancel_error (line 171) | def on_cancel_error(self, cancel_error): method on_order_stock_async_response (line 181) | def on_order_stock_async_response(self, response): method on_smt_appointment_async_response (line 189) | def on_smt_appointment_async_response(self, response): class MiniqmtTrader (line 199) | class MiniqmtTrader: method __init__ (line 202) | def __init__(self): method prepare (line 206) | def prepare(self, **json_data): method connect (line 212) | def connect( method trader (line 239) | def trader(self) -> XtQuantTrader: method account (line 247) | def account(self) -> StockAccount: method balance (line 255) | def balance(self): method position (line 282) | def position(self): method today_entrusts (line 326) | def today_entrusts(self): method today_trades (line 395) | def today_trades(self): method buy (line 450) | def buy(self, security: str, price: float, amount: int, **kwargs): method sell (line 467) | def sell(self, security, price, amount, **kwargs): method trade (line 484) | def trade(self, security: str, price: float, amount: int, *, is_buy: b... method market_buy (line 519) | def market_buy(self, security, amount, ttype=None): method market_sell (line 548) | def market_sell(self, security, amount, ttype=None): method market_trade (line 576) | def market_trade(self, security: str, amount: int, ttype: str = None, ... method cancel_entrust (line 631) | def cancel_entrust(self, entrust_no: int): method _get_stock_code (line 647) | def _get_stock_code(self, security: str) -> str: FILE: easytrader/pop_dialog_handler.py class PopDialogHandler (line 11) | class PopDialogHandler: method __init__ (line 12) | def __init__(self, app): method _set_foreground (line 16) | def _set_foreground(window): method handle (line 23) | def handle(self, title): method _extract_content (line 37) | def _extract_content(self): method _extract_entrust_id (line 41) | def _extract_entrust_id(content): method _submit_by_click (line 44) | def _submit_by_click(self): method _submit_by_shortcut (line 52) | def _submit_by_shortcut(self): method _close (line 56) | def _close(self): class TradePopDialogHandler (line 60) | class TradePopDialogHandler(PopDialogHandler): method handle (line 62) | def handle(self, title) -> Optional[dict]: FILE: easytrader/refresh_strategies.py class IRefreshStrategy (line 22) | class IRefreshStrategy(abc.ABC): method refresh (line 26) | def refresh(self): method set_trader (line 32) | def set_trader(self, trader: "clienttrader.ClientTrader"): class Switch (line 37) | class Switch(IRefreshStrategy): method __init__ (line 40) | def __init__(self, sleep: float = 0.1): method refresh (line 43) | def refresh(self): class Toolbar (line 48) | class Toolbar(IRefreshStrategy): method __init__ (line 51) | def __init__(self, refresh_btn_index: int = 4): method refresh (line 58) | def refresh(self): FILE: easytrader/remoteclient.py function use (line 7) | def use(broker, host, port=1430, **kwargs): class RemoteClient (line 11) | class RemoteClient: method __init__ (line 12) | def __init__(self, broker, host, port=1430, **kwargs): method prepare (line 26) | def prepare( method balance (line 61) | def balance(self): method position (line 65) | def position(self): method today_entrusts (line 69) | def today_entrusts(self): method today_trades (line 73) | def today_trades(self): method cancel_entrusts (line 77) | def cancel_entrusts(self): method auto_ipo (line 80) | def auto_ipo(self): method exit (line 83) | def exit(self): method common_get (line 86) | def common_get(self, endpoint): method buy (line 92) | def buy(self, security, price, amount, **kwargs): method sell (line 101) | def sell(self, security, price, amount, **kwargs): method market_buy (line 110) | def market_buy(self, security, amount, **kwargs): method market_sell (line 119) | def market_sell(self, security, amount, **kwargs): method cancel_entrust (line 128) | def cancel_entrust(self, entrust_no): FILE: easytrader/ricequant_follower.py class RiceQuantFollower (line 10) | class RiceQuantFollower(BaseFollower): method __init__ (line 11) | def __init__(self): method login (line 15) | def login(self, user=None, password=None, **kwargs): method follow (line 20) | def follow( method extract_strategy_name (line 63) | def extract_strategy_name(self, run_id): method extract_day_trades (line 74) | def extract_day_trades(self, run_id): method query_strategy_transaction (line 85) | def query_strategy_transaction(self, strategy, **kwargs): method stock_shuffle_to_prefix (line 91) | def stock_shuffle_to_prefix(stock): method project_transactions (line 102) | def project_transactions(self, transactions, **kwargs): FILE: easytrader/server.py function error_handle (line 13) | def error_handle(func): function post_prepare (line 29) | def post_prepare(): function get_balance (line 41) | def get_balance(): function get_position (line 50) | def get_position(): function get_auto_ipo (line 59) | def get_auto_ipo(): function get_today_entrusts (line 68) | def get_today_entrusts(): function get_today_trades (line 77) | def get_today_trades(): function get_cancel_entrusts (line 86) | def get_cancel_entrusts(): function post_buy (line 95) | def post_buy(): function post_sell (line 105) | def post_sell(): function post_cancel_entrust (line 116) | def post_cancel_entrust(): function get_exit (line 127) | def get_exit(): function run (line 134) | def run(port=1430): FILE: easytrader/universal_clienttrader.py class UniversalClientTrader (line 10) | class UniversalClientTrader(clienttrader.BaseLoginClientTrader): method broker_type (line 14) | def broker_type(self): method login (line 17) | def login(self, user, password, exe_path, comm_password=None, **kwargs): FILE: easytrader/utils/captcha.py function captcha_recognize (line 9) | def captcha_recognize(img_path): function recognize_verify_code (line 28) | def recognize_verify_code(image_path, broker="ht"): function detect_yh_client_result (line 42) | def detect_yh_client_result(image_path): function input_verify_code_manual (line 54) | def input_verify_code_manual(image_path): function default_verify_code_detect (line 65) | def default_verify_code_detect(image_path): function detect_gf_result (line 72) | def detect_gf_result(image_path): function invoke_tesseract_to_recognize (line 93) | def invoke_tesseract_to_recognize(img): FILE: easytrader/utils/misc.py function parse_cookies_str (line 5) | def parse_cookies_str(cookies): function file2dict (line 20) | def file2dict(path): function grep_comma (line 25) | def grep_comma(num_str): function str2num (line 29) | def str2num(num_str, convert_type="float"): FILE: easytrader/utils/perf.py function perf_clock (line 15) | def perf_clock(f): FILE: easytrader/utils/stock.py function get_stock_type (line 9) | def get_stock_type(stock_code): function get_30_date (line 28) | def get_30_date(): function get_today_ipo_data (line 40) | def get_today_ipo_data(): FILE: easytrader/webtrader.py class WebTrader (line 19) | class WebTrader(metaclass=abc.ABCMeta): method __init__ (line 23) | def __init__(self, debug=True): method read_config (line 33) | def read_config(self, path): method prepare (line 42) | def prepare(self, config_file=None, user=None, password=None, **kwargs): method _prepare_account (line 58) | def _prepare_account(self, user, password, **kwargs): method autologin (line 62) | def autologin(self, limit=10): method login (line 75) | def login(self): method keepalive (line 78) | def keepalive(self): method send_heartbeat (line 85) | def send_heartbeat(self): method check_login (line 93) | def check_login(self, sleepy=30): method heartbeat (line 108) | def heartbeat(self): method check_account_live (line 111) | def check_account_live(self, response): method exit (line 114) | def exit(self): method __read_config (line 118) | def __read_config(self): method balance (line 125) | def balance(self): method get_balance (line 128) | def get_balance(self): method position (line 133) | def position(self): method get_position (line 136) | def get_position(self): method entrust (line 141) | def entrust(self): method get_entrust (line 144) | def get_entrust(self): method current_deal (line 149) | def current_deal(self): method get_current_deal (line 152) | def get_current_deal(self): method exchangebill (line 158) | def exchangebill(self): method get_exchangebill (line 167) | def get_exchangebill(self, start_date, end_date): method get_ipo_limit (line 176) | def get_ipo_limit(self, stock_code): method do (line 184) | def do(self, params): method create_basic_params (line 203) | def create_basic_params(self) -> dict: method request (line 207) | def request(self, params) -> dict: method format_response_data (line 212) | def format_response_data(self, data): method fix_error_data (line 217) | def fix_error_data(self, data): method format_response_data_type (line 222) | def format_response_data_type(self, response_data): method check_login_status (line 244) | def check_login_status(self, return_data): FILE: easytrader/wk_clienttrader.py class WKClientTrader (line 7) | class WKClientTrader(HTClientTrader): method broker_type (line 9) | def broker_type(self): method login (line 12) | def login(self, user, password, exe_path, comm_password=None, **kwargs): FILE: easytrader/xq_follower.py class XueQiuFollower (line 15) | class XueQiuFollower(BaseFollower): method __init__ (line 22) | def __init__(self): method login (line 27) | def login(self, user=None, password=None, **kwargs): method follow (line 49) | def follow( # type: ignore method calculate_assets (line 123) | def calculate_assets(self, strategy_url, total_assets=None, initial_as... method extract_strategy_id (line 135) | def extract_strategy_id(strategy_url): method extract_strategy_name (line 138) | def extract_strategy_name(self, strategy_url): method extract_transactions (line 145) | def extract_transactions(self, history): method create_query_transaction_params (line 159) | def create_query_transaction_params(self, strategy): method none_to_zero (line 164) | def none_to_zero(self, data): method project_transactions (line 170) | def project_transactions(self, transactions, assets): method _adjust_sell_amount (line 192) | def _adjust_sell_amount(self, stock_code, amount): method _get_portfolio_info (line 229) | def _get_portfolio_info(self, portfolio_code): method _get_portfolio_net_value (line 244) | def _get_portfolio_net_value(self, portfolio_code): FILE: easytrader/xqtrader.py class XueQiuTrader (line 16) | class XueQiuTrader(webtrader.WebTrader): method __init__ (line 34) | def __init__(self, **kwargs): method autologin (line 52) | def autologin(self, **kwargs): method _set_cookies (line 59) | def _set_cookies(self, cookies): method _prepare_account (line 68) | def _prepare_account(self, user="", password="", **kwargs): method _virtual_to_balance (line 92) | def _virtual_to_balance(self, virtual): method _get_html (line 100) | def _get_html(self, url): method _search_stock_info (line 103) | def _search_stock_info(self, code): method _get_portfolio_info (line 127) | def _get_portfolio_info(self, portfolio_code): method get_balance (line 146) | def get_balance(self): method cash_weight (line 171) | def cash_weight(self): method _get_position (line 177) | def _get_position(self): method _time_strftime (line 189) | def _time_strftime(time_stamp): method get_position (line 197) | def get_position(self): method _get_xq_history (line 223) | def _get_xq_history(self): method history (line 240) | def history(self): method get_entrust (line 243) | def get_entrust(self): method cancel_entrust (line 283) | def cancel_entrust(self, entrust_no): method adjust_weight (line 325) | def adjust_weight(self, stock_code, weight, fetch_position=True): method _trade (line 404) | def _trade(self, security, price=0, amount=0, volume=0, entrust_bs="bu... method buy (line 538) | def buy(self, security, price=0, amount=0, volume=0, entrust_prop=0): method sell (line 548) | def sell(self, security, price=0, amount=0, volume=0, entrust_prop=0): method adjust_weights (line 559) | def adjust_weights(self, weights, ignore_minor=0.0, fetch_position=True): FILE: easytrader/yh_clienttrader.py class YHClientTrader (line 11) | class YHClientTrader(clienttrader.BaseLoginClientTrader): method broker_type (line 23) | def broker_type(self): method login (line 26) | def login(self, user, password, exe_path, comm_password=None, **kwargs): method _switch_window_to_normal_mode (line 86) | def _switch_window_to_normal_mode(self): method _handle_verify_code (line 91) | def _handle_verify_code(self, is_xiadan): method balance (line 110) | def balance(self): method auto_ipo (line 114) | def auto_ipo(self): FILE: tests/test_easytrader.py class TestYhClientTrader (line 15) | class TestYhClientTrader(unittest.TestCase): method setUpClass (line 17) | def setUpClass(cls): method test_balance (line 30) | def test_balance(self): method test_today_entrusts (line 34) | def test_today_entrusts(self): method test_today_trades (line 37) | def test_today_trades(self): method test_cancel_entrusts (line 40) | def test_cancel_entrusts(self): method test_cancel_entrust (line 43) | def test_cancel_entrust(self): method test_invalid_buy (line 46) | def test_invalid_buy(self): method test_invalid_sell (line 52) | def test_invalid_sell(self): method test_auto_ipo (line 58) | def test_auto_ipo(self): class TestHTClientTrader (line 63) | class TestHTClientTrader(unittest.TestCase): method setUpClass (line 65) | def setUpClass(cls): method test_balance (line 83) | def test_balance(self): method test_today_entrusts (line 87) | def test_today_entrusts(self): method test_today_trades (line 90) | def test_today_trades(self): method test_cancel_entrusts (line 93) | def test_cancel_entrusts(self): method test_cancel_entrust (line 96) | def test_cancel_entrust(self): method test_invalid_buy (line 99) | def test_invalid_buy(self): method test_invalid_sell (line 105) | def test_invalid_sell(self): method test_auto_ipo (line 111) | def test_auto_ipo(self): method test_invalid_repo (line 114) | def test_invalid_repo(self): method test_invalid_reverse_repo (line 120) | def test_invalid_reverse_repo(self): class TestHTZQClientTrader (line 128) | class TestHTZQClientTrader(unittest.TestCase): method setUpClass (line 130) | def setUpClass(cls): method test_balance (line 149) | def test_balance(self): method test_today_entrusts (line 153) | def test_today_entrusts(self): method test_today_trades (line 156) | def test_today_trades(self): method test_cancel_entrusts (line 159) | def test_cancel_entrusts(self): method test_cancel_entrust (line 162) | def test_cancel_entrust(self): method test_invalid_buy (line 165) | def test_invalid_buy(self): method test_invalid_sell (line 171) | def test_invalid_sell(self): method test_auto_ipo (line 177) | def test_auto_ipo(self): FILE: tests/test_xq_follower.py class TestXueQiuTrader (line 11) | class TestXueQiuTrader(unittest.TestCase): method test_adjust_sell_amount_without_enable (line 12) | def test_adjust_sell_amount_without_enable(self): method test_adjust_sell_should_only_work_when_sell (line 22) | def test_adjust_sell_should_only_work_when_sell(self): method test_adjust_sell_amount (line 49) | def test_adjust_sell_amount(self): method test_slippage_with_default (line 67) | def test_slippage_with_default(self): method test_slippage (line 92) | def test_slippage(self): class TestXqFollower (line 134) | class TestXqFollower(unittest.TestCase): method setUp (line 135) | def setUp(self): method test_extract_transactions (line 142) | def test_extract_transactions(self): FILE: tests/test_xqtrader.py class TestXueQiuTrader (line 7) | class TestXueQiuTrader(unittest.TestCase): method test_prepare_account (line 8) | def test_prepare_account(self):