SYMBOL INDEX (3968 symbols across 395 files) FILE: Automation/actions/cancel_open_order_action/cancel_open_orders.py class CancelOpenOrders (line 23) | class CancelOpenOrders(abstract_action.AbstractAction): method process (line 24) | async def process(self): method get_description (line 32) | def get_description() -> str: method get_user_inputs (line 35) | def get_user_inputs(self, UI: configuration.UserInputFactory, inputs: ... method apply_config (line 38) | def apply_config(self, config): FILE: Automation/actions/sell_all_currencies_action/sell_all_currencies.py class SellAllCurrencies (line 23) | class SellAllCurrencies(abstract_action.AbstractAction): method process (line 24) | async def process(self): method get_description (line 32) | def get_description() -> str: method get_user_inputs (line 35) | def get_user_inputs(self, UI: configuration.UserInputFactory, inputs: ... method apply_config (line 38) | def apply_config(self, config): FILE: Automation/actions/send_notification_action/send_notification.py class SendNotification (line 23) | class SendNotification(abstract_action.AbstractAction): method __init__ (line 26) | def __init__(self): method process (line 30) | async def process(self): method get_description (line 39) | def get_description() -> str: method get_user_inputs (line 44) | def get_user_inputs(self, UI: configuration.UserInputFactory, inputs: ... method apply_config (line 53) | def apply_config(self, config): FILE: Automation/actions/stop_trading_action/stop_trading.py class StopTrading (line 21) | class StopTrading(cancel_open_orders.CancelOpenOrders): method process (line 24) | async def process(self): method get_description (line 35) | def get_description() -> str: FILE: Automation/conditions/no_condition_condition/no_condition.py class NoCondition (line 20) | class NoCondition(abstract_condition.AbstractCondition): method evaluate (line 21) | async def evaluate(self) -> bool: method get_description (line 25) | def get_description() -> str: method get_user_inputs (line 28) | def get_user_inputs(self, UI: configuration.UserInputFactory, inputs: ... method apply_config (line 31) | def apply_config(self, config): FILE: Automation/conditions/scripted_condition/scripted_condition.py class ScriptedCondition (line 27) | class ScriptedCondition(abstract_condition.AbstractCondition): method __init__ (line 31) | def __init__(self): method evaluate (line 38) | async def evaluate(self) -> bool: method get_description (line 45) | def get_description() -> str: method get_user_inputs (line 48) | def get_user_inputs(self, UI: configuration.UserInputFactory, inputs: ... method apply_config (line 64) | def apply_config(self, config): method _validate_script (line 73) | def _validate_script(self): method _create_dsl_interpreter (line 83) | def _create_dsl_interpreter(self): method _get_exchange_manager (line 98) | def _get_exchange_manager(self): FILE: Automation/trigger_events/period_check_event/period_check.py class PeriodicCheck (line 23) | class PeriodicCheck(abstract_trigger_event.AbstractTriggerEvent): method __init__ (line 26) | def __init__(self): method stop (line 31) | async def stop(self): method _get_next_event (line 36) | async def _get_next_event(self): method get_description (line 43) | def get_description() -> str: method get_user_inputs (line 46) | def get_user_inputs(self, UI: configuration.UserInputFactory, inputs: ... method apply_config (line 55) | def apply_config(self, config): FILE: Automation/trigger_events/price_threshold_event/price_threshold.py class PriceThreshold (line 28) | class PriceThreshold(abstract_trigger_event.AbstractTriggerEvent): method __init__ (line 34) | def __init__(self): method _register_consumer (line 44) | async def _register_consumer(self): method mark_price_callback (line 58) | async def mark_price_callback( method _update_last_price (line 67) | def _update_last_price(self, mark_price): method _check_threshold (line 70) | def _check_threshold(self, mark_price): method stop (line 77) | async def stop(self): method _get_next_event (line 85) | async def _get_next_event(self): method get_description (line 95) | def get_description() -> str: method get_user_inputs (line 98) | def get_user_inputs(self, UI: configuration.UserInputFactory, inputs: ... method apply_config (line 124) | def apply_config(self, config): FILE: Automation/trigger_events/profitability_threshold_event/profitability_threshold.py class ProfitabilityThreshold (line 32) | class ProfitabilityThreshold(abstract_trigger_event.AbstractTriggerEvent): method __init__ (line 38) | def __init__(self): method _register_consumer (line 48) | async def _register_consumer(self): method balance_profitability_callback (line 61) | async def balance_profitability_callback( method _update_profitability_by_time (line 76) | def _update_profitability_by_time(self, profitability_percent): method _check_threshold (line 83) | def _check_threshold(self, profitability_percent): method stop (line 92) | async def stop(self): method _get_next_event (line 100) | async def _get_next_event(self): method get_description (line 110) | def get_description() -> str: method get_user_inputs (line 115) | def get_user_inputs(self, UI: configuration.UserInputFactory, inputs: ... method apply_config (line 142) | def apply_config(self, config): FILE: Backtesting/collectors/exchanges/exchange_bot_snapshot_data_collector/bot_snapshot_with_history_collector.py class ExchangeBotSnapshotWithHistoryCollector (line 41) | class ExchangeBotSnapshotWithHistoryCollector(collector.AbstractExchange... method __init__ (line 46) | def __init__(self, config, exchange_name, exchange_type, tentacles_set... method get_permanent_file_identifier (line 69) | def get_permanent_file_identifier(self): method initialize (line 75) | async def initialize(self): method set_file_path (line 80) | def set_file_path(self) -> None: method finalize_database (line 85) | def finalize_database(self): method _check_database_content (line 90) | async def _check_database_content(self): method start (line 111) | async def start(self): method stop (line 177) | async def stop(self, should_stop_database=True): method _update_description (line 188) | async def _update_description(self): method get_ticker_history (line 203) | async def get_ticker_history(self, exchange, symbol): method get_order_book_history (line 206) | async def get_order_book_history(self, exchange, symbol): method get_recent_trades_history (line 209) | async def get_recent_trades_history(self, exchange, symbol): method get_ohlcv_snapshot (line 212) | def get_ohlcv_snapshot(self, symbol, time_frame): method collect_historical_ohlcv (line 227) | async def collect_historical_ohlcv(self, exchange, symbol, time_frame,... method find_candle (line 250) | def find_candle(self, candles, timestamp): method update_ohlcv (line 256) | async def update_ohlcv(self, exchange, symbol, time_frame, time_frame_... method _check_ohlcv_integrity (line 287) | async def _check_ohlcv_integrity(self, database_candles): method get_ohlcv_history (line 299) | async def get_ohlcv_history(self, exchange, symbol, time_frame): method _import_candles_from_datafile (line 381) | async def _import_candles_from_datafile(self, exchange, symbol, time_f... method get_kline_history (line 389) | async def get_kline_history(self, exchange, symbol, time_frame): method adapt_timestamps (line 392) | async def adapt_timestamps(self): method get_fetch_data_id (line 412) | def get_fetch_data_id(self, symbol, timeframe): method get_first_candle_timestamp (line 415) | async def get_first_candle_timestamp(self, ideal_start_timestamp, symb... FILE: Backtesting/collectors/exchanges/exchange_history_collector/history_collector.py class ExchangeHistoryDataCollector (line 36) | class ExchangeHistoryDataCollector(collector.AbstractExchangeHistoryColl... method __init__ (line 39) | def __init__(self, config, exchange_name, exchange_type, tentacles_set... method start (line 50) | async def start(self): method _load_all_available_timeframes (line 101) | def _load_all_available_timeframes(self): method stop (line 107) | async def stop(self, should_stop_database=True): method get_ticker_history (line 119) | async def get_ticker_history(self, exchange, symbol): method get_order_book_history (line 122) | async def get_order_book_history(self, exchange, symbol): method get_recent_trades_history (line 125) | async def get_recent_trades_history(self, exchange, symbol): method get_ohlcv_history (line 128) | async def get_ohlcv_history(self, exchange, symbol, time_frame): method get_kline_history (line 170) | async def get_kline_history(self, exchange, symbol, time_frame): method check_timestamps (line 173) | async def check_timestamps(self): method get_first_candle_timestamp (line 186) | async def get_first_candle_timestamp(self, ideal_start_timestamp, symb... FILE: Backtesting/collectors/exchanges/exchange_history_collector/tests/test_history_collector.py function data_collector (line 41) | async def data_collector(exchange_name, tentacles_setup_config, symbols,... function collector_database (line 61) | async def collector_database(collector): function test_collect_valid_data (line 70) | async def test_collect_valid_data(): function test_collect_invalid_data (line 96) | async def test_collect_invalid_data(): function test_collect_valid_date_range (line 110) | async def test_collect_valid_date_range(): function test_collect_invalid_date_range (line 174) | async def test_collect_invalid_date_range(): function test_collect_multi_pair (line 192) | async def test_collect_multi_pair(): function test_stop_collect (line 224) | async def test_stop_collect(): FILE: Backtesting/collectors/exchanges/exchange_live_collector/live_collector.py class ExchangeLiveDataCollector (line 31) | class ExchangeLiveDataCollector(exchanges.AbstractExchangeLiveCollector): method start (line 34) | async def start(self): method ticker_callback (line 63) | async def ticker_callback(self, exchange: str, exchange_id: str, method order_book_callback (line 69) | async def order_book_callback(self, exchange: str, exchange_id: str, method recent_trades_callback (line 76) | async def recent_trades_callback(self, exchange: str, exchange_id: str, method ohlcv_callback (line 83) | async def ohlcv_callback(self, exchange: str, exchange_id: str, method kline_callback (line 90) | async def kline_callback(self, exchange: str, exchange_id: str, FILE: Backtesting/converters/exchanges/legacy_data_converter/legacy_converter.py class LegacyDataConverter (line 33) | class LegacyDataConverter(converters.DataConverter): class PriceIndexes (line 41) | class PriceIndexes(enum.Enum): method __init__ (line 49) | def __init__(self, backtesting_file_to_convert): method can_convert (line 59) | async def can_convert(self, ) -> bool: method convert (line 79) | async def convert(self) -> bool: method _create_description (line 95) | async def _create_description(self): method _convert_ohlcv (line 104) | async def _convert_ohlcv(self, time_frame): method _get_formatted_candles (line 113) | def _get_formatted_candles(self, time_frame): method _read_data_file (line 132) | def _read_data_file(self): method _interpret_file_name (line 146) | def _interpret_file_name(file_name): FILE: Backtesting/importers/exchanges/generic_exchange_importer/generic_exchange_importer.py class GenericExchangeDataImporter (line 19) | class GenericExchangeDataImporter(importers.ExchangeDataImporter): FILE: Evaluator/RealTime/instant_fluctuations_evaluator/instant_fluctuations.py class InstantFluctuationsEvaluator (line 27) | class InstantFluctuationsEvaluator(evaluators.RealTimeEvaluator): method __init__ (line 38) | def __init__(self, tentacles_setup_config): method init_user_inputs (line 57) | def init_user_inputs(self, inputs: dict) -> None: method ohlcv_callback (line 76) | async def ohlcv_callback(self, exchange: str, exchange_id: str, method kline_callback (line 97) | async def kline_callback(self, exchange: str, exchange_id: str, method _trigger_evaluation (line 103) | async def _trigger_evaluation(self, cryptocurrency, symbol, time): method evaluate_volume_fluctuations (line 114) | def evaluate_volume_fluctuations(self): method start (line 150) | async def start(self, bot_id: str) -> bool: method set_default_config (line 172) | def set_default_config(self): method get_is_symbol_wildcard (line 177) | def get_is_symbol_wildcard(cls) -> bool: class InstantMAEvaluator (line 184) | class InstantMAEvaluator(evaluators.RealTimeEvaluator): method __init__ (line 186) | def __init__(self, tentacles_setup_config): method init_user_inputs (line 194) | def init_user_inputs(self, inputs: dict) -> None: method ohlcv_callback (line 212) | async def ohlcv_callback(self, exchange: str, exchange_id: str, method kline_callback (line 228) | async def kline_callback(self, exchange: str, exchange_id: str, method _evaluate_current_price (line 237) | async def _evaluate_current_price(self, last_price, cryptocurrency, sy... method start (line 263) | async def start(self, bot_id: str) -> bool: method set_default_config (line 283) | def set_default_config(self): method _compare_data (line 288) | def _compare_data(new_data, old_data): FILE: Evaluator/Social/forum_evaluator/forum.py class RedditForumEvaluator (line 32) | class RedditForumEvaluator(evaluators.SocialEvaluator): method __init__ (line 35) | def __init__(self, tentacles_setup_config): method init_user_inputs (line 43) | def init_user_inputs(self, inputs: dict) -> None: method _init_cryptocurrencies (line 61) | def _init_cryptocurrencies(self, inputs, cryptocurrency, subreddits): method get_is_cryptocurrencies_wildcard (line 77) | def get_is_cryptocurrencies_wildcard(cls) -> bool: method get_is_cryptocurrency_name_wildcard (line 84) | def get_is_cryptocurrency_name_wildcard(cls) -> bool: method _print_entry (line 90) | def _print_entry(self, entry_text, entry_note, count=""): method _feed_callback (line 94) | async def _feed_callback(self, data): method _get_sentiment (line 106) | def _get_sentiment(self, entry): method _is_interested_by_this_notification (line 114) | def _is_interested_by_this_notification(self, notification_description): method _get_config_elements (line 124) | def _get_config_elements(self, config_cryptocurrencies, key): method prepare (line 133) | async def prepare(self): FILE: Evaluator/Social/news_evaluator/news.py class TwitterNewsEvaluator (line 29) | class TwitterNewsEvaluator: method __init__ (line 37) | def __init__(self, tentacles_setup_config): method init_user_inputs (line 45) | def init_user_inputs(self, inputs: dict) -> None: method _init_cryptocurrencies (line 67) | def _init_cryptocurrencies(self, inputs, cryptocurrency, accounts, has... method get_is_cryptocurrencies_wildcard (line 90) | def get_is_cryptocurrencies_wildcard(cls) -> bool: method get_is_cryptocurrency_name_wildcard (line 97) | def get_is_cryptocurrency_name_wildcard(cls) -> bool: method _print_tweet (line 103) | def _print_tweet(self, tweet_text, tweet_url, note, count=""): method _feed_callback (line 107) | async def _feed_callback(self, data): method _check_eval_note (line 118) | async def _check_eval_note(self, note): method _compute_notification_time_to_live (line 126) | def _compute_notification_time_to_live(evaluation): method _get_tweet_sentiment (line 129) | def _get_tweet_sentiment(self, tweet, tweet_text, is_a_quote=False): method _is_interested_by_this_notification (line 147) | def _is_interested_by_this_notification(self, notification_description): method _get_config_elements (line 170) | def _get_config_elements(self, config_cryptocurrencies, key): method prepare (line 179) | async def prepare(self): FILE: Evaluator/Social/signal_evaluator/signal.py class TelegramSignalEvaluator (line 25) | class TelegramSignalEvaluator(evaluators.SocialEvaluator): method init_user_inputs (line 28) | def init_user_inputs(self, inputs: dict) -> None: method _feed_callback (line 35) | async def _feed_callback(self, data): method _is_interested_by_this_notification (line 45) | def _is_interested_by_this_notification(self, notification_description): method analyse_notification (line 51) | async def analyse_notification(self, notification): method get_is_cryptocurrencies_wildcard (line 74) | def get_is_cryptocurrencies_wildcard(cls) -> bool: method get_is_cryptocurrency_name_wildcard (line 81) | def get_is_cryptocurrency_name_wildcard(cls) -> bool: method get_is_symbol_wildcard (line 88) | def get_is_symbol_wildcard(cls) -> bool: method _get_tentacle_registration_topic (line 94) | def _get_tentacle_registration_topic(self, all_symbols_by_crypto_curre... class TelegramChannelSignalEvaluator (line 108) | class TelegramChannelSignalEvaluator(evaluators.SocialEvaluator): method __init__ (line 117) | def __init__(self, tentacles_setup_config): method init_user_inputs (line 121) | def init_user_inputs(self, inputs: dict) -> None: method _init_channel_config (line 136) | def _init_channel_config(self, inputs, channel_name, signal_pair, buy_... method _init_pattern_config (line 158) | def _init_pattern_config(self, inputs, buy_regex, sell_regex): method _feed_callback (line 174) | async def _feed_callback(self, data): method _get_signal_message (line 201) | def _get_signal_message(self, expected_pattern, message): FILE: Evaluator/Social/signal_evaluator/tests/test_telegram_channel_signal_evaluator.py function _trigger_callback_with_data_and_assert_note (line 28) | async def _trigger_callback_with_data_and_assert_note(evaluator: Social.... function _create_evaluator_with_supported_channel_signals (line 36) | def _create_evaluator_with_supported_channel_signals(): function test_without_data (line 64) | async def test_without_data(): function test_with_empty_data (line 69) | async def test_with_empty_data(): function test_incorrect_signal_without_sender_without_channel_message (line 74) | async def test_incorrect_signal_without_sender_without_channel_message(): function test_incorrect_signal_without_sender_with_channel_message (line 83) | async def test_incorrect_signal_without_sender_with_channel_message(): function test_incorrect_signal_chan1_without_content (line 92) | async def test_incorrect_signal_chan1_without_content(): function test_incorrect_signal_chan1_without_coin (line 101) | async def test_incorrect_signal_chan1_without_coin(): function test_incorrect_signal_chan1_without_separator (line 115) | async def test_incorrect_signal_chan1_without_separator(): function test_correct_signal_chan1_with_not_channel_message (line 129) | async def test_correct_signal_chan1_with_not_channel_message(): function test_correct_signal_chan1_with_chan2 (line 143) | async def test_correct_signal_chan1_with_chan2(): function test_correct_signal_chan1 (line 157) | async def test_correct_signal_chan1(): function test_correct_signal_chan2_but_with_chan1 (line 171) | async def test_correct_signal_chan2_but_with_chan1(): function test_correct_signal_chan2 (line 180) | async def test_correct_signal_chan2(): FILE: Evaluator/Social/trends_evaluator/trends.py class GoogleTrendsEvaluator (line 27) | class GoogleTrendsEvaluator(evaluators.SocialEvaluator): method __init__ (line 30) | def __init__(self, tentacles_setup_config): method init_user_inputs (line 36) | def init_user_inputs(self, inputs: dict) -> None: method get_is_cryptocurrencies_wildcard (line 51) | def get_is_cryptocurrencies_wildcard(cls) -> bool: method get_is_cryptocurrency_name_wildcard (line 58) | def get_is_cryptocurrency_name_wildcard(cls) -> bool: method _feed_callback (line 64) | async def _feed_callback(self, data): method _is_interested_by_this_notification (line 71) | def _is_interested_by_this_notification(self, notification_description): method _build_trend_topics (line 74) | def _build_trend_topics(self): method prepare (line 82) | async def prepare(self): FILE: Evaluator/Strategies/blank_strategy_evaluator/blank_strategy.py class BlankStrategyEvaluator (line 22) | class BlankStrategyEvaluator(evaluators.StrategyEvaluator): method init_user_inputs (line 24) | def init_user_inputs(self, inputs: dict) -> None: method get_full_cycle_evaluator_types (line 35) | def get_full_cycle_evaluator_types(self) -> tuple: method matrix_callback (line 39) | async def matrix_callback(self, FILE: Evaluator/Strategies/dip_analyser_strategy_evaluator/dip_analyser_strategy.py class DipAnalyserStrategyEvaluator (line 31) | class DipAnalyserStrategyEvaluator(evaluators.StrategyEvaluator): method get_eval_type (line 36) | def get_eval_type(): method __init__ (line 39) | def __init__(self, tentacles_setup_config): method init_user_inputs (line 43) | def init_user_inputs(self, inputs: dict) -> None: method matrix_callback (line 58) | async def matrix_callback(self, FILE: Evaluator/Strategies/dip_analyser_strategy_evaluator/tests/test_dip_analyser_strategy_evaluator.py function strategy_tester (line 28) | def strategy_tester(): class DipAnalyserStrategiesEvaluatorTest (line 34) | class DipAnalyserStrategiesEvaluatorTest(abstract_strategy_test.Abstract... method test_default_run (line 49) | async def test_default_run(self): method test_slow_downtrend (line 53) | async def test_slow_downtrend(self): method test_sharp_downtrend (line 58) | async def test_sharp_downtrend(self): method test_flat_markets (line 62) | async def test_flat_markets(self): method test_slow_uptrend (line 67) | async def test_slow_uptrend(self): method test_sharp_uptrend (line 72) | async def test_sharp_uptrend(self): method test_up_then_down (line 77) | async def test_up_then_down(self): function test_default_run (line 81) | async def test_default_run(strategy_tester): function test_slow_downtrend (line 85) | async def test_slow_downtrend(strategy_tester): function test_sharp_downtrend (line 89) | async def test_sharp_downtrend(strategy_tester): function test_flat_markets (line 93) | async def test_flat_markets(strategy_tester): function test_slow_uptrend (line 97) | async def test_slow_uptrend(strategy_tester): function test_sharp_uptrend (line 101) | async def test_sharp_uptrend(strategy_tester): function test_up_then_down (line 105) | async def test_up_then_down(strategy_tester): FILE: Evaluator/Strategies/mixed_strategies_evaluator/mixed_strategies.py class SimpleStrategyEvaluator (line 34) | class SimpleStrategyEvaluator(evaluators.StrategyEvaluator): method __init__ (line 39) | def __init__(self, tentacles_setup_config): method init_user_inputs (line 47) | def init_user_inputs(self, inputs: dict) -> None: method get_default_config (line 87) | def get_default_config(cls, time_frames: typing.Optional[list[str]] = ... method matrix_callback (line 98) | async def matrix_callback(self, method _trigger_evaluation (line 130) | async def _trigger_evaluation(self, class TechnicalAnalysisStrategyEvaluator (line 245) | class TechnicalAnalysisStrategyEvaluator(evaluators.StrategyEvaluator): method __init__ (line 251) | def __init__(self, tentacles_setup_config): method init_user_inputs (line 261) | def init_user_inputs(self, inputs: dict) -> None: method _init_tf_and_weight (line 280) | def _init_tf_and_weight(self, inputs, timeframe, weight): method matrix_callback (line 297) | async def matrix_callback(self, method _get_weight_by_time_frames (line 359) | def _get_weight_by_time_frames(tf_to_weight): FILE: Evaluator/Strategies/mixed_strategies_evaluator/tests/test_simple_strategy_evaluator.py function strategy_tester (line 28) | def strategy_tester(): class SimpleStrategyEvaluatorTest (line 34) | class SimpleStrategyEvaluatorTest(abstract_strategy_test.AbstractStrateg... method test_default_run (line 41) | async def test_default_run(self): method test_slow_downtrend (line 45) | async def test_slow_downtrend(self): method test_sharp_downtrend (line 53) | async def test_sharp_downtrend(self): method test_flat_markets (line 58) | async def test_flat_markets(self): method test_slow_uptrend (line 66) | async def test_slow_uptrend(self): method test_sharp_uptrend (line 71) | async def test_sharp_uptrend(self): method test_up_then_down (line 76) | async def test_up_then_down(self): function test_default_run (line 81) | async def test_default_run(strategy_tester): function test_slow_downtrend (line 85) | async def test_slow_downtrend(strategy_tester): function test_sharp_downtrend (line 89) | async def test_sharp_downtrend(strategy_tester): function test_flat_markets (line 93) | async def test_flat_markets(strategy_tester): function test_slow_uptrend (line 97) | async def test_slow_uptrend(strategy_tester): function test_sharp_uptrend (line 101) | async def test_sharp_uptrend(strategy_tester): function test_up_then_down (line 105) | async def test_up_then_down(strategy_tester): FILE: Evaluator/Strategies/mixed_strategies_evaluator/tests/test_technical_analysis_strategy_evaluator.py function strategy_tester (line 28) | def strategy_tester(): class TechnicalAnalysisStrategyEvaluatorTest (line 34) | class TechnicalAnalysisStrategyEvaluatorTest(abstract_strategy_test.Abst... method test_default_run (line 41) | async def test_default_run(self): method test_slow_downtrend (line 45) | async def test_slow_downtrend(self): method test_sharp_downtrend (line 53) | async def test_sharp_downtrend(self): method test_flat_markets (line 58) | async def test_flat_markets(self): method test_slow_uptrend (line 66) | async def test_slow_uptrend(self): method test_sharp_uptrend (line 71) | async def test_sharp_uptrend(self): method test_up_then_down (line 76) | async def test_up_then_down(self): function test_default_run (line 81) | async def test_default_run(strategy_tester): function test_slow_downtrend (line 85) | async def test_slow_downtrend(strategy_tester): function test_sharp_downtrend (line 89) | async def test_sharp_downtrend(strategy_tester): function test_flat_markets (line 93) | async def test_flat_markets(strategy_tester): function test_slow_uptrend (line 97) | async def test_slow_uptrend(strategy_tester): function test_sharp_uptrend (line 101) | async def test_sharp_uptrend(strategy_tester): function test_up_then_down (line 105) | async def test_up_then_down(strategy_tester): FILE: Evaluator/Strategies/move_signals_strategy_evaluator/move_signals_strategy.py class MoveSignalsStrategyEvaluator (line 28) | class MoveSignalsStrategyEvaluator(evaluators.StrategyEvaluator): method __init__ (line 38) | def __init__(self, tentacles_setup_config): method init_user_inputs (line 48) | def init_user_inputs(self, inputs: dict) -> None: method matrix_callback (line 55) | async def matrix_callback(self, method _compute_final_evaluation (line 103) | def _compute_final_evaluation(self): method _compute_fractal_evaluation (line 112) | def _compute_fractal_evaluation(signal_with_weight, multiplier): method _refresh_evaluations (line 124) | def _refresh_evaluations(self, TA_by_timeframe): method _get_tentacle_registration_topic (line 128) | def _get_tentacle_registration_topic(self, all_symbols_by_crypto_curre... method _register_time_frame (line 138) | def _register_time_frame(self, time_frame, weight): class SignalWithWeight (line 147) | class SignalWithWeight: method __init__ (line 149) | def __init__(self, time_frame): method reset_evaluation (line 154) | def reset_evaluation(self): method refresh_evaluation (line 158) | def refresh_evaluation(self, TA_by_timeframe): FILE: Evaluator/Strategies/move_signals_strategy_evaluator/tests/test_move_signals_strategy_evaluator.py function strategy_tester (line 28) | def strategy_tester(): class MoveSignalsStrategyEvaluatorTest (line 34) | class MoveSignalsStrategyEvaluatorTest(abstract_strategy_test.AbstractSt... method test_default_run (line 41) | async def test_default_run(self): method test_slow_downtrend (line 45) | async def test_slow_downtrend(self): method test_sharp_downtrend (line 53) | async def test_sharp_downtrend(self): method test_flat_markets (line 58) | async def test_flat_markets(self): method test_slow_uptrend (line 66) | async def test_slow_uptrend(self): method test_sharp_uptrend (line 71) | async def test_sharp_uptrend(self): method test_up_then_down (line 76) | async def test_up_then_down(self): function test_default_run (line 81) | async def test_default_run(strategy_tester): function test_slow_downtrend (line 85) | async def test_slow_downtrend(strategy_tester): function test_sharp_downtrend (line 89) | async def test_sharp_downtrend(strategy_tester): function test_flat_markets (line 93) | async def test_flat_markets(strategy_tester): function test_slow_uptrend (line 97) | async def test_slow_uptrend(strategy_tester): function test_sharp_uptrend (line 101) | async def test_sharp_uptrend(strategy_tester): function test_up_then_down (line 105) | async def test_up_then_down(strategy_tester): FILE: Evaluator/TA/ai_evaluator/ai.py function _get_gpt_service (line 33) | def _get_gpt_service(): class GPTEvaluator (line 40) | class GPTEvaluator(evaluators.TAEvaluator): method __init__ (line 62) | def __init__(self, tentacles_setup_config): method enable_reevaluation (line 83) | def enable_reevaluation(self) -> bool: method get_signals_history_type (line 90) | def get_signals_history_type(cls): method load_and_save_user_inputs (line 96) | async def load_and_save_user_inputs(self, bot_id: str) -> dict: method init_user_inputs (line 108) | def init_user_inputs(self, inputs: dict) -> None: method _init_GPT_models (line 155) | async def _init_GPT_models(self): method _init_registered_topics (line 168) | async def _init_registered_topics(self, all_symbols_by_crypto_currenci... method ohlcv_callback (line 177) | async def ohlcv_callback(self, exchange: str, exchange_id: str, method evaluate (line 182) | async def evaluate(self, cryptocurrency, symbol, time_frame, candle_da... method get_formatted_data (line 227) | def get_formatted_data(self, computed_data) -> str: method ask_gpt (line 233) | async def ask_gpt(self, preprompt, inputs, symbol, time_frame, candle_... method get_version (line 263) | def get_version(self): method call_indicator (line 268) | def call_indicator(self, candle_data): method get_candles_data (line 273) | def get_candles_data(self, exchange, exchange_id, symbol, time_frame, ... method get_unformated_sources (line 292) | def get_unformated_sources(self): method get_candles_data_api (line 295) | def get_candles_data_api(self): method _check_timeframe (line 304) | def _check_timeframe(self, time_frame): method _parse_prediction_side (line 308) | def _parse_prediction_side(self, cleaned_prediction): method _parse_confidence (line 315) | def _parse_confidence(self, cleaned_prediction): FILE: Evaluator/TA/ai_evaluator/tests/test_ai.py function GPT_evaluator (line 25) | def GPT_evaluator(): function test_indicators (line 29) | def test_indicators(GPT_evaluator): function test_get_candles_data_api (line 37) | def test_get_candles_data_api(GPT_evaluator): function test_parse_prediction_side (line 44) | def test_parse_prediction_side(GPT_evaluator): function test_parse_confidence (line 56) | def test_parse_confidence(GPT_evaluator): FILE: Evaluator/TA/momentum_evaluator/momentum.py class RSIMomentumEvaluator (line 30) | class RSIMomentumEvaluator(evaluators.TAEvaluator): method __init__ (line 36) | def __init__(self, tentacles_setup_config): method init_user_inputs (line 46) | def init_user_inputs(self, inputs: dict) -> None: method get_default_config (line 85) | def get_default_config( method ohlcv_callback (line 96) | async def ohlcv_callback(self, exchange: str, exchange_id: str, method evaluate (line 103) | async def evaluate(self, cryptocurrency, symbol, time_frame, candle_da... method get_is_symbol_wildcard (line 141) | def get_is_symbol_wildcard(cls) -> bool: method get_is_time_frame_wildcard (line 148) | def get_is_time_frame_wildcard(cls) -> bool: class RSIWeightMomentumEvaluator (line 156) | class RSIWeightMomentumEvaluator(evaluators.TAEvaluator): method get_eval_type (line 169) | def get_eval_type(): method __init__ (line 172) | def __init__(self, tentacles_setup_config): method _init_fast_threshold (line 179) | def _init_fast_threshold(self, inputs, indexes, fast_threshold, price_... method _init_RSI_to_weight (line 200) | def _init_RSI_to_weight(self, inputs, slow_threshold, fast_thresholds): method init_user_inputs (line 218) | def init_user_inputs(self, inputs: dict) -> None: method _get_rsi_averages (line 249) | def _get_rsi_averages(self, symbol_candles, time_frame, include_in_con... method _check_inferior (line 263) | def _check_inferior(bound, val1, val2): method _analyse_dip_weight (line 266) | def _analyse_dip_weight(self, slow_rsi, fast_rsi, current_rsi): method ohlcv_callback (line 281) | async def ohlcv_callback(self, exchange: str, exchange_id: str, method evaluate (line 296) | async def evaluate(self, cryptocurrency, symbol, time_frame, slow_rsi, class BBMomentumEvaluator (line 318) | class BBMomentumEvaluator(evaluators.TAEvaluator): method __init__ (line 320) | def __init__(self, tentacles_setup_config): method init_user_inputs (line 324) | def init_user_inputs(self, inputs: dict) -> None: method ohlcv_callback (line 329) | async def ohlcv_callback(self, exchange: str, exchange_id: str, method evaluate (line 337) | async def evaluate(self, cryptocurrency, symbol, time_frame, candle_da... class EMAMomentumEvaluator (line 386) | class EMAMomentumEvaluator(evaluators.TAEvaluator): method __init__ (line 391) | def __init__(self, tentacles_setup_config): method init_user_inputs (line 398) | def init_user_inputs(self, inputs: dict) -> None: method get_default_config (line 421) | def get_default_config( method ohlcv_callback (line 432) | async def ohlcv_callback(self, exchange: str, exchange_id: str, method evaluate (line 440) | async def evaluate(self, cryptocurrency, symbol, time_frame, candle_da... class ADXMomentumEvaluator (line 459) | class ADXMomentumEvaluator(evaluators.TAEvaluator): method __init__ (line 461) | def __init__(self, tentacles_setup_config): method init_user_inputs (line 465) | def init_user_inputs(self, inputs: dict) -> None: method _get_minimal_data (line 470) | def _get_minimal_data(self): method ohlcv_callback (line 477) | async def ohlcv_callback(self, exchange: str, exchange_id: str, method evaluate (line 494) | async def evaluate(self, cryptocurrency, symbol, time_frame, close_can... class MACDMomentumEvaluator (line 542) | class MACDMomentumEvaluator(evaluators.TAEvaluator): method __init__ (line 543) | def __init__(self, tentacles_setup_config): method init_user_inputs (line 550) | def init_user_inputs(self, inputs: dict) -> None: method _analyse_pattern (line 564) | def _analyse_pattern(self, pattern, macd_hist, zero_crossing_indexes, ... method ohlcv_callback (line 599) | async def ohlcv_callback(self, exchange: str, exchange_id: str, method evaluate (line 606) | async def evaluate(self, cryptocurrency, symbol, time_frame, candle_da... class KlingerOscillatorMomentumEvaluator (line 642) | class KlingerOscillatorMomentumEvaluator(evaluators.TAEvaluator): method __init__ (line 643) | def __init__(self, tentacles_setup_config): method init_user_inputs (line 649) | def init_user_inputs(self, inputs: dict) -> None: method ohlcv_callback (line 662) | async def ohlcv_callback(self, exchange: str, exchange_id: str, method evaluate (line 682) | async def evaluate(self, cryptocurrency, symbol, time_frame, high_cand... class KlingerOscillatorReversalConfirmationMomentumEvaluator (line 722) | class KlingerOscillatorReversalConfirmationMomentumEvaluator(evaluators.... method __init__ (line 723) | def __init__(self, tentacles_setup_config): method init_user_inputs (line 729) | def init_user_inputs(self, inputs: dict) -> None: method get_eval_type (line 747) | def get_eval_type(): method ohlcv_callback (line 750) | async def ohlcv_callback(self, exchange: str, exchange_id: str, method evaluate (line 770) | async def evaluate(self, cryptocurrency, symbol, time_frame, high_cand... FILE: Evaluator/TA/momentum_evaluator/tests/test_adx_momentum_evaluator.py function evaluator_tester (line 29) | async def evaluator_tester(): class TestADXTAEvaluator (line 35) | class TestADXTAEvaluator(abstract_TA_test.AbstractTATest): method test_stress_test (line 38) | async def test_stress_test(evaluator_tester): method test_reactions_to_dump (line 42) | async def test_reactions_to_dump(evaluator_tester): method test_reactions_to_pump (line 46) | async def test_reactions_to_pump(evaluator_tester): method test_reaction_to_rise_after_over_sold (line 50) | async def test_reaction_to_rise_after_over_sold(evaluator_tester): method test_reaction_to_over_bought_then_dip (line 54) | async def test_reaction_to_over_bought_then_dip(evaluator_tester): method test_reaction_to_flat_trend (line 58) | async def test_reaction_to_flat_trend(evaluator_tester): FILE: Evaluator/TA/momentum_evaluator/tests/test_bollinger_bands_momentum_TA_evaluator.py function evaluator_tester (line 30) | async def evaluator_tester(): class TestBollingerBandsMomentumeEvaluator (line 36) | class TestBollingerBandsMomentumeEvaluator(abstract_TA_test.AbstractTATe... method test_stress_test (line 39) | async def test_stress_test(evaluator_tester): method test_reactions_to_dump (line 43) | async def test_reactions_to_dump(evaluator_tester): method test_reactions_to_pump (line 47) | async def test_reactions_to_pump(evaluator_tester): method test_reaction_to_rise_after_over_sold (line 51) | async def test_reaction_to_rise_after_over_sold(evaluator_tester): method test_reaction_to_over_bought_then_dip (line 55) | async def test_reaction_to_over_bought_then_dip(evaluator_tester): method test_reaction_to_flat_trend (line 59) | async def test_reaction_to_flat_trend(evaluator_tester): FILE: Evaluator/TA/momentum_evaluator/tests/test_klinger_TA_evaluator.py function evaluator_tester (line 30) | async def evaluator_tester(): class TestKlingerEvaluator (line 36) | class TestKlingerEvaluator(abstract_TA_test.AbstractTATest): method test_stress_test (line 39) | async def test_stress_test(evaluator_tester): method test_reactions_to_dump (line 43) | async def test_reactions_to_dump(evaluator_tester): method test_reactions_to_pump (line 47) | async def test_reactions_to_pump(evaluator_tester): method test_reaction_to_rise_after_over_sold (line 52) | async def test_reaction_to_rise_after_over_sold(evaluator_tester): method test_reaction_to_over_bought_then_dip (line 56) | async def test_reaction_to_over_bought_then_dip(evaluator_tester): method test_reaction_to_flat_trend (line 60) | async def test_reaction_to_flat_trend(evaluator_tester): FILE: Evaluator/TA/momentum_evaluator/tests/test_macd_TA_evaluator.py function evaluator_tester (line 30) | async def evaluator_tester(): class TestMACDEvaluator (line 36) | class TestMACDEvaluator(abstract_TA_test.AbstractTATest): method test_stress_test (line 39) | async def test_stress_test(evaluator_tester): method test_reactions_to_dump (line 43) | async def test_reactions_to_dump(evaluator_tester): method test_reactions_to_pump (line 47) | async def test_reactions_to_pump(evaluator_tester): method test_reaction_to_rise_after_over_sold (line 51) | async def test_reaction_to_rise_after_over_sold(evaluator_tester): method test_reaction_to_over_bought_then_dip (line 55) | async def test_reaction_to_over_bought_then_dip(evaluator_tester): method test_reaction_to_flat_trend (line 59) | async def test_reaction_to_flat_trend(evaluator_tester): FILE: Evaluator/TA/momentum_evaluator/tests/test_rsi_TA_evaluator.py function evaluator_tester (line 29) | async def evaluator_tester(): class TestRSIEvaluator (line 35) | class TestRSIEvaluator(abstract_TA_test.AbstractTATest): method test_stress_test (line 38) | async def test_stress_test(evaluator_tester): method test_reactions_to_dump (line 42) | async def test_reactions_to_dump(evaluator_tester): method test_reactions_to_pump (line 46) | async def test_reactions_to_pump(evaluator_tester): method test_reaction_to_rise_after_over_sold (line 50) | async def test_reaction_to_rise_after_over_sold(evaluator_tester): method test_reaction_to_over_bought_then_dip (line 54) | async def test_reaction_to_over_bought_then_dip(evaluator_tester): method test_reaction_to_flat_trend (line 58) | async def test_reaction_to_flat_trend(evaluator_tester): FILE: Evaluator/TA/trend_evaluator/tests/test_double_moving_averages_TA_evaluator.py function evaluator_tester (line 30) | async def evaluator_tester(): class TestDoubleMovingAveragesEvaluator (line 36) | class TestDoubleMovingAveragesEvaluator(AbstractTATest): method test_stress_test (line 39) | async def test_stress_test(evaluator_tester): method test_reactions_to_dump (line 43) | async def test_reactions_to_dump(evaluator_tester): method test_reactions_to_pump (line 47) | async def test_reactions_to_pump(evaluator_tester): method test_reaction_to_rise_after_over_sold (line 51) | async def test_reaction_to_rise_after_over_sold(evaluator_tester): method test_reaction_to_over_bought_then_dip (line 55) | async def test_reaction_to_over_bought_then_dip(evaluator_tester): method test_reaction_to_flat_trend (line 59) | async def test_reaction_to_flat_trend(evaluator_tester): FILE: Evaluator/TA/trend_evaluator/trend.py class SuperTrendEvaluator (line 30) | class SuperTrendEvaluator(evaluators.TAEvaluator): method __init__ (line 38) | def __init__(self, tentacles_setup_config): method init_user_inputs (line 46) | def init_user_inputs(self, inputs: dict) -> None: method ohlcv_callback (line 59) | async def ohlcv_callback(self, exchange: str, exchange_id: str, crypto... method evaluate (line 75) | async def evaluate(self, cryptocurrency, symbol, time_frame, candle, h... method get_previous_value (line 130) | def get_previous_value(self, symbol, time_frame): class DeathAndGoldenCrossEvaluator (line 143) | class DeathAndGoldenCrossEvaluator(evaluators.TAEvaluator): method __init__ (line 150) | def __init__(self, tentacles_setup_config): method init_user_inputs (line 158) | def init_user_inputs(self, inputs: dict) -> None: method ohlcv_callback (line 171) | async def ohlcv_callback(self, exchange: str, exchange_id: str, method evaluate (line 187) | async def evaluate(self, cryptocurrency, symbol, time_frame, candle, c... class DoubleMovingAverageTrendEvaluator (line 223) | class DoubleMovingAverageTrendEvaluator(evaluators.TAEvaluator): method __init__ (line 225) | def __init__(self, tentacles_setup_config): method init_user_inputs (line 230) | def init_user_inputs(self, inputs: dict) -> None: method ohlcv_callback (line 241) | async def ohlcv_callback(self, exchange: str, exchange_id: str, method evaluate (line 248) | async def evaluate(self, cryptocurrency, symbol, time_frame, candle_da... method get_moving_average_analysis (line 268) | def get_moving_average_analysis(data, current_moving_average, time_per... class EMADivergenceTrendEvaluator (line 307) | class EMADivergenceTrendEvaluator(evaluators.TAEvaluator): method __init__ (line 312) | def __init__(self, tentacles_setup_config): method init_user_inputs (line 318) | def init_user_inputs(self, inputs: dict) -> None: method ohlcv_callback (line 331) | async def ohlcv_callback(self, exchange: str, exchange_id: str, method evaluate (line 338) | async def evaluate(self, cryptocurrency, symbol, time_frame, candle_da... FILE: Evaluator/TA/volatility_evaluator/volatility.py class StochasticRSIVolatilityEvaluator (line 26) | class StochasticRSIVolatilityEvaluator(evaluators.TAEvaluator): method __init__ (line 32) | def __init__(self, tentacles_setup_config): method init_user_inputs (line 38) | def init_user_inputs(self, inputs: dict) -> None: method ohlcv_callback (line 51) | async def ohlcv_callback(self, exchange: str, exchange_id: str, method evaluate (line 58) | async def evaluate(self, cryptocurrency, symbol, time_frame, candle_da... FILE: Evaluator/Util/candles_util/candles_util.py class CandlesUtil (line 20) | class CandlesUtil: method HL2 (line 23) | def HL2(candles_high, candles_low): method HLC3 (line 34) | def HLC3(candles_high, candles_low, candles_close): method OHLC4 (line 47) | def OHLC4(candles_open, candles_high, candles_low, candles_close): method HeikinAshi (line 61) | def HeikinAshi(candles_open, candles_high, candles_low, candles_close): FILE: Evaluator/Util/candles_util/tests/test_candles_util.py function test_HL2 (line 22) | def test_HL2(): function test_HLC3 (line 34) | def test_HLC3(): function test_OHLC4 (line 49) | def test_OHLC4(): function test_HeikinAshi (line 66) | def test_HeikinAshi(): FILE: Evaluator/Util/overall_state_analysis/overall_state_analysis.py class OverallStateAnalyser (line 22) | class OverallStateAnalyser: method __init__ (line 23) | def __init__(self): method add_evaluation (line 30) | def add_evaluation(self, evaluation, weight, refresh_overall_state=True): method get_overall_state_after_refresh (line 35) | def get_overall_state_after_refresh(self, refresh_overall_state=True): method _refresh_overall_state (line 41) | def _refresh_overall_state(self): class StateEvaluation (line 48) | class StateEvaluation: method __init__ (line 49) | def __init__(self, value, weight): FILE: Evaluator/Util/pattern_analysis/pattern_analysis.py class PatternAnalyser (line 21) | class PatternAnalyser: method find_pattern (line 30) | def find_pattern(data, zero_crossing_indexes, data_frame_max_index): method get_pattern (line 65) | def get_pattern(data): method get_pattern_strength (line 88) | def get_pattern_strength(pattern): FILE: Evaluator/Util/statistics_analysis/statistics_analysis.py class StatisticAnalysis (line 22) | class StatisticAnalysis: method analyse_recent_trend_changes (line 27) | def analyse_recent_trend_changes(data, delta_function): FILE: Evaluator/Util/text_analysis/text_analysis.py class VaderSentimentImportMock (line 23) | class VaderSentimentImportMock: class SentimentIntensityAnalyzer (line 24) | class SentimentIntensityAnalyzer: method __init__ (line 25) | def __init__(self, *args): class TextAnalysis (line 30) | class TextAnalysis: method __init__ (line 35) | def __init__(self): method analyse (line 40) | def analyse(self, text): method get_high_value_websites (line 48) | def get_high_value_websites(): method is_analysable_url (line 54) | def is_analysable_url(url): method test (line 59) | def test(self): FILE: Evaluator/Util/trend_analysis/trend_analysis.py class TrendAnalysis (line 20) | class TrendAnalysis: method get_trend (line 25) | def get_trend(data, averages_to_use): method peak_has_been_reached_already (line 47) | def peak_has_been_reached_already(data, neutral_val=0): method min_has_just_been_reached (line 60) | def min_has_just_been_reached(data, acceptance_window=0.8, delay=1): method detect_divergence (line 71) | def detect_divergence(data_frame, indicator_data_frame): method get_estimation_of_move_state_relatively_to_previous_moves_length (line 84) | def get_estimation_of_move_state_relatively_to_previous_moves_length(m... method get_threshold_change_indexes (line 112) | def get_threshold_change_indexes(data, threshold): method have_just_crossed_over (line 143) | def have_just_crossed_over(list_1, list_2): FILE: Meta/DSL_operators/exchange_operators/exchange_operator.py class ExchangeOperator (line 27) | class ExchangeOperator(dsl_interpreter_call_operator.CallOperator): method get_library (line 30) | def get_library() -> str: method get_context (line 36) | async def get_context( FILE: Meta/DSL_operators/exchange_operators/exchange_private_data_operators/portfolio_operators.py class PortfolioOperator (line 29) | class PortfolioOperator(exchange_operator.ExchangeOperator): method __init__ (line 30) | def __init__(self, *parameters: dsl_interpreter.OperatorParameterType,... method get_library (line 35) | def get_library() -> str: method get_parameters (line 40) | def get_parameters() -> list[dsl_interpreter.OperatorParameter]: method compute (line 45) | def compute(self) -> dsl_interpreter.ComputedOperatorParameterType: function create_portfolio_operators (line 51) | def create_portfolio_operators( FILE: Meta/DSL_operators/exchange_operators/exchange_public_data_operators/ohlcv_operators.py class ExchangeDataDependency (line 35) | class ExchangeDataDependency(dsl_interpreter.InterpreterDependency): method __hash__ (line 41) | def __hash__(self) -> int: class OHLCVOperator (line 45) | class OHLCVOperator(exchange_operator.ExchangeOperator): method __init__ (line 46) | def __init__(self, *parameters: dsl_interpreter.OperatorParameterType,... method get_library (line 51) | def get_library() -> str: method get_parameters (line 56) | def get_parameters() -> list[dsl_interpreter.OperatorParameter]: method get_symbol_and_time_frame (line 62) | def get_symbol_and_time_frame(self) -> typing.Tuple[typing.Optional[st... method compute (line 72) | def compute(self) -> dsl_interpreter.ComputedOperatorParameterType: function create_ohlcv_operators (line 78) | def create_ohlcv_operators( function _get_kline (line 209) | def _get_kline( function _get_candles_values (line 218) | def _get_candles_values( function _adapt_last_candle_value (line 238) | def _adapt_last_candle_value( FILE: Meta/DSL_operators/exchange_operators/tests/__init__.py function historical_prices (line 37) | def historical_prices(): function historical_times (line 45) | def historical_times(historical_prices): function historical_volume (line 52) | def historical_volume(historical_prices): function _get_candle_managers (line 60) | def _get_candle_managers(historical_prices, historical_volume, historica... function _get_kline (line 113) | def _get_kline(candles_manager: mock.Mock, signature: float, kline_time_... function _get_symbol_data_factory (line 128) | def _get_symbol_data_factory( function exchange_manager_with_candles (line 170) | def exchange_manager_with_candles(historical_prices, historical_volume, ... function exchange_manager_with_candles_and_klines (line 186) | def exchange_manager_with_candles_and_klines(historical_prices, historic... function exchange_manager_with_candles_and_new_candle_klines (line 202) | def exchange_manager_with_candles_and_new_candle_klines(historical_price... function candle_manager_by_time_frame_by_symbol (line 218) | def candle_manager_by_time_frame_by_symbol(historical_prices, historical... function interpreter (line 234) | def interpreter(exchange_manager_with_candles): function interpreter_with_exchange_manager_and_klines (line 242) | def interpreter_with_exchange_manager_and_klines(exchange_manager_with_c... function interpreter_with_exchange_manager_and_new_candle_klines (line 250) | def interpreter_with_exchange_manager_and_new_candle_klines(exchange_man... function interpreter_with_candle_manager_by_time_frame_by_symbol (line 258) | def interpreter_with_candle_manager_by_time_frame_by_symbol(candle_manag... FILE: Meta/DSL_operators/exchange_operators/tests/exchange_public_data_operators/test_ohlcv_operators.py function expected_values (line 50) | def expected_values(request, historical_prices, historical_volume, histo... function operator (line 62) | def operator(request): function test_ohlcv_operators_basic_calls_without_klines (line 75) | async def test_ohlcv_operators_basic_calls_without_klines( function _adapted_for_kline (line 100) | def _adapted_for_kline(values: np.ndarray, operator: str, time_delay: fl... function test_ohlcv_operators_basic_calls_with_klines (line 118) | async def test_ohlcv_operators_basic_calls_with_klines( function test_ohlcv_operators_basic_calls_with_new_candle_klines (line 152) | async def test_ohlcv_operators_basic_calls_with_new_candle_klines( function test_ohlcv_operators_dependencies (line 210) | async def test_ohlcv_operators_dependencies(interpreter, operator, excha... FILE: Meta/DSL_operators/exchange_operators/tests/test_mocks.py function test_interpreter_mock (line 41) | async def test_interpreter_mock(interpreter, historical_prices, historic... function test_interpreter_with_exchange_manager_and_klines_mock (line 57) | async def test_interpreter_with_exchange_manager_and_klines_mock( function test_interpreter_with_exchange_manager_and_new_candle_klines_mock (line 80) | async def test_interpreter_with_exchange_manager_and_new_candle_klines_m... function test_interpreter_with_candle_manager_by_time_frame_by_symbol_mock (line 104) | async def test_interpreter_with_candle_manager_by_time_frame_by_symbol_m... FILE: Meta/DSL_operators/python_std_operators/base_binary_operators.py class AddOperator (line 23) | class AddOperator(dsl_interpreter_binary_operator.BinaryOperator): method get_name (line 29) | def get_name() -> str: method compute (line 32) | def compute(self) -> dsl_interpreter_operator.ComputedOperatorParamete... class SubOperator (line 37) | class SubOperator(dsl_interpreter_binary_operator.BinaryOperator): method get_name (line 43) | def get_name() -> str: method compute (line 46) | def compute(self) -> dsl_interpreter_operator.ComputedOperatorParamete... class MultOperator (line 51) | class MultOperator(dsl_interpreter_binary_operator.BinaryOperator): method get_name (line 57) | def get_name() -> str: method compute (line 60) | def compute(self) -> dsl_interpreter_operator.ComputedOperatorParamete... class DivOperator (line 65) | class DivOperator(dsl_interpreter_binary_operator.BinaryOperator): method get_name (line 71) | def get_name() -> str: method compute (line 74) | def compute(self) -> dsl_interpreter_operator.ComputedOperatorParamete... class FloorDivOperator (line 79) | class FloorDivOperator(dsl_interpreter_binary_operator.BinaryOperator): method get_name (line 85) | def get_name() -> str: method compute (line 88) | def compute(self) -> dsl_interpreter_operator.ComputedOperatorParamete... class ModOperator (line 93) | class ModOperator(dsl_interpreter_binary_operator.BinaryOperator): method get_name (line 99) | def get_name() -> str: method compute (line 102) | def compute(self) -> dsl_interpreter_operator.ComputedOperatorParamete... class PowOperator (line 107) | class PowOperator(dsl_interpreter_binary_operator.BinaryOperator): method get_name (line 113) | def get_name() -> str: method compute (line 116) | def compute(self) -> dsl_interpreter_operator.ComputedOperatorParamete... FILE: Meta/DSL_operators/python_std_operators/base_call_operators.py class MinOperator (line 23) | class MinOperator(dsl_interpreter.CallOperator): method get_name (line 30) | def get_name() -> str: method compute (line 33) | def compute(self) -> dsl_interpreter.ComputedOperatorParameterType: class MaxOperator (line 38) | class MaxOperator(dsl_interpreter.CallOperator): method get_name (line 45) | def get_name() -> str: method compute (line 48) | def compute(self) -> dsl_interpreter.ComputedOperatorParameterType: class MeanOperator (line 53) | class MeanOperator(dsl_interpreter.CallOperator): method get_name (line 60) | def get_name() -> str: method compute (line 63) | def compute(self) -> dsl_interpreter.ComputedOperatorParameterType: class SqrtOperator (line 77) | class SqrtOperator(dsl_interpreter.CallOperator): method get_name (line 85) | def get_name() -> str: method compute (line 88) | def compute(self) -> dsl_interpreter.ComputedOperatorParameterType: class AbsOperator (line 98) | class AbsOperator(dsl_interpreter.CallOperator): method get_name (line 106) | def get_name() -> str: method compute (line 109) | def compute(self) -> dsl_interpreter.ComputedOperatorParameterType: class RoundOperator (line 115) | class RoundOperator(dsl_interpreter.CallOperator): method get_name (line 121) | def get_name() -> str: method get_parameters (line 125) | def get_parameters() -> list[dsl_interpreter.OperatorParameter]: method compute (line 131) | def compute(self) -> dsl_interpreter.ComputedOperatorParameterType: class FloorOperator (line 142) | class FloorOperator(dsl_interpreter.CallOperator): method get_name (line 150) | def get_name() -> str: method compute (line 153) | def compute(self) -> dsl_interpreter.ComputedOperatorParameterType: class CeilOperator (line 163) | class CeilOperator(dsl_interpreter.CallOperator): method get_name (line 171) | def get_name() -> str: method compute (line 174) | def compute(self) -> dsl_interpreter.ComputedOperatorParameterType: FILE: Meta/DSL_operators/python_std_operators/base_compare_operators.py class EqOperator (line 23) | class EqOperator(dsl_interpreter_compare_operator.CompareOperator): method get_name (line 29) | def get_name() -> str: method compute (line 32) | def compute(self) -> dsl_interpreter_operator.ComputedOperatorParamete... class NotEqOperator (line 37) | class NotEqOperator(dsl_interpreter_compare_operator.CompareOperator): method get_name (line 43) | def get_name() -> str: method compute (line 46) | def compute(self) -> dsl_interpreter_operator.ComputedOperatorParamete... class LtOperator (line 51) | class LtOperator(dsl_interpreter_compare_operator.CompareOperator): method get_name (line 57) | def get_name() -> str: method compute (line 60) | def compute(self) -> dsl_interpreter_operator.ComputedOperatorParamete... class LtEOperator (line 65) | class LtEOperator(dsl_interpreter_compare_operator.CompareOperator): method get_name (line 71) | def get_name() -> str: method compute (line 74) | def compute(self) -> dsl_interpreter_operator.ComputedOperatorParamete... class GtOperator (line 79) | class GtOperator(dsl_interpreter_compare_operator.CompareOperator): method get_name (line 85) | def get_name() -> str: method compute (line 88) | def compute(self) -> dsl_interpreter_operator.ComputedOperatorParamete... class GtEOperator (line 93) | class GtEOperator(dsl_interpreter_compare_operator.CompareOperator): method get_name (line 99) | def get_name() -> str: method compute (line 102) | def compute(self) -> dsl_interpreter_operator.ComputedOperatorParamete... class IsOperator (line 107) | class IsOperator(dsl_interpreter_compare_operator.CompareOperator): method get_name (line 113) | def get_name() -> str: method compute (line 116) | def compute(self) -> dsl_interpreter_operator.ComputedOperatorParamete... class IsNotOperator (line 121) | class IsNotOperator(dsl_interpreter_compare_operator.CompareOperator): method get_name (line 127) | def get_name() -> str: method compute (line 130) | def compute(self) -> dsl_interpreter_operator.ComputedOperatorParamete... class InOperator (line 135) | class InOperator(dsl_interpreter_compare_operator.CompareOperator): method get_name (line 141) | def get_name() -> str: method compute (line 144) | def compute(self) -> dsl_interpreter_operator.ComputedOperatorParamete... class NotInOperator (line 149) | class NotInOperator(dsl_interpreter_compare_operator.CompareOperator): method get_name (line 155) | def get_name() -> str: method compute (line 158) | def compute(self) -> dsl_interpreter_operator.ComputedOperatorParamete... FILE: Meta/DSL_operators/python_std_operators/base_expression_operators.py class IfExpOperator (line 23) | class IfExpOperator(dsl_interpreter_expression_operator.ExpressionOperat... method __init__ (line 32) | def __init__( method get_name (line 44) | def get_name() -> str: method compute (line 47) | def compute(self) -> dsl_interpreter_operator.ComputedOperatorParamete... FILE: Meta/DSL_operators/python_std_operators/base_iterable_operators.py class ListOperator (line 23) | class ListOperator(dsl_interpreter_iterable_operator.IterableOperator): method get_name (line 33) | def get_name() -> str: method compute (line 36) | def compute(self) -> dsl_interpreter_operator.ComputedOperatorParamete... FILE: Meta/DSL_operators/python_std_operators/base_name_operators.py class PiOperator (line 23) | class PiOperator(dsl_interpreter_name_operator.NameOperator): method get_name (line 30) | def get_name() -> str: method compute (line 33) | def compute(self) -> dsl_interpreter_operator.ComputedOperatorParamete... class NaNOperator (line 37) | class NaNOperator(dsl_interpreter_name_operator.NameOperator): method get_name (line 44) | def get_name() -> str: method compute (line 47) | def compute(self) -> dsl_interpreter_operator.ComputedOperatorParamete... FILE: Meta/DSL_operators/python_std_operators/base_nary_operators.py class AndOperator (line 23) | class AndOperator(dsl_interpreter_n_ary_operator.NaryOperator): method get_name (line 31) | def get_name() -> str: method compute (line 34) | def compute(self) -> dsl_interpreter_operator.ComputedOperatorParamete... class OrOperator (line 39) | class OrOperator(dsl_interpreter_n_ary_operator.NaryOperator): method get_name (line 47) | def get_name() -> str: method compute (line 50) | def compute(self) -> dsl_interpreter_operator.ComputedOperatorParamete... FILE: Meta/DSL_operators/python_std_operators/base_subscripting_operators.py class SubscriptOperator (line 26) | class SubscriptOperator(dsl_interpreter_subscripting_operator.Subscripti... method __init__ (line 35) | def __init__( method get_computed_array_or_list_and_index_or_slice_and_context_parameters (line 47) | def get_computed_array_or_list_and_index_or_slice_and_context_parameters( method get_name (line 65) | def get_name() -> str: method compute (line 68) | def compute(self) -> dsl_interpreter_operator.ComputedOperatorParamete... class SliceOperator (line 76) | class SliceOperator(dsl_interpreter_subscripting_operator.SubscriptingOp... method get_name (line 86) | def get_name() -> str: method get_computed_lower_and_upper_and_step_parameters (line 89) | def get_computed_lower_and_upper_and_step_parameters( method compute (line 107) | def compute(self) -> slice: FILE: Meta/DSL_operators/python_std_operators/base_unary_operators.py class UAddOperator (line 23) | class UAddOperator(dsl_interpreter_unary_operator.UnaryOperator): method get_name (line 29) | def get_name() -> str: method compute (line 32) | def compute(self) -> dsl_interpreter_operator.ComputedOperatorParamete... class USubOperator (line 37) | class USubOperator(dsl_interpreter_unary_operator.UnaryOperator): method get_name (line 43) | def get_name() -> str: method compute (line 46) | def compute(self) -> dsl_interpreter_operator.ComputedOperatorParamete... class NotOperator (line 51) | class NotOperator(dsl_interpreter_unary_operator.UnaryOperator): method get_name (line 57) | def get_name() -> str: method compute (line 60) | def compute(self) -> dsl_interpreter_operator.ComputedOperatorParamete... class InvertOperator (line 65) | class InvertOperator(dsl_interpreter_unary_operator.UnaryOperator): method get_name (line 71) | def get_name() -> str: method compute (line 74) | def compute(self) -> dsl_interpreter_operator.ComputedOperatorParamete... FILE: Meta/DSL_operators/python_std_operators/tests/test_base_operators.py function interpreter (line 23) | def interpreter(): function test_interpreter_basic_operations (line 28) | async def test_interpreter_basic_operations(interpreter): function test_interpreter_mixed_basic_operations (line 95) | async def test_interpreter_mixed_basic_operations(interpreter): function test_interpreter_call_operations (line 114) | async def test_interpreter_call_operations(interpreter): function test_interpreter_mixed_call_and_basic_operations (line 131) | async def test_interpreter_mixed_call_and_basic_operations(interpreter): function test_interpreter_insupported_operations (line 144) | async def test_interpreter_insupported_operations(interpreter): FILE: Meta/DSL_operators/python_std_operators/tests/test_dictionnaries.py function test_get_all_operators (line 26) | def test_get_all_operators(libraries): FILE: Meta/DSL_operators/ta_operators/ta_operator.py class TAOperator (line 23) | class TAOperator(dsl_interpreter_call_operator.CallOperator): method get_library (line 26) | def get_library() -> str: FILE: Meta/DSL_operators/ta_operators/tests/test_docs_examples.py function test_mm_formulas_docs_examples (line 28) | async def test_mm_formulas_docs_examples(interpreter): FILE: Meta/DSL_operators/ta_operators/tests/test_tulipy_technical_analysis_operators.py function test_operator_invalid_static_parameters (line 37) | async def test_operator_invalid_static_parameters(interpreter, operator,... function test_operator_invalid_dynamic_parameters (line 56) | async def test_operator_invalid_dynamic_parameters(interpreter, operator... function test_operator_converted_tulipy_error (line 74) | async def test_operator_converted_tulipy_error(interpreter, operator, dy... function test_operator_operations (line 84) | async def test_operator_operations(interpreter): function test_rsi_operator (line 101) | async def test_rsi_operator(interpreter): function test_macd_operator (line 121) | async def test_macd_operator(interpreter): function test_ma_operator (line 147) | async def test_ma_operator(interpreter): function test_vwma_operator (line 165) | async def test_vwma_operator(interpreter): function test_ema_operator (line 183) | async def test_ema_operator(interpreter): FILE: Meta/DSL_operators/ta_operators/tulipy_technical_analysis_operators.py function _to_numpy_array (line 25) | def _to_numpy_array(data): function _to_int (line 38) | def _to_int(value): function converted_tulipy_error (line 47) | def converted_tulipy_error(f): class RSIOperator (line 58) | class RSIOperator(ta_operator.TAOperator): method get_name (line 63) | def get_name() -> str: method get_parameters (line 67) | def get_parameters() -> list[dsl_interpreter.OperatorParameter]: method compute (line 74) | def compute(self) -> dsl_interpreter.ComputedOperatorParameterType: class MACDOperator (line 79) | class MACDOperator(ta_operator.TAOperator): method get_name (line 84) | def get_name() -> str: method get_parameters (line 88) | def get_parameters() -> list[dsl_interpreter.OperatorParameter]: method compute (line 97) | def compute(self) -> dsl_interpreter.ComputedOperatorParameterType: class MAOperator (line 105) | class MAOperator(ta_operator.TAOperator): method get_name (line 110) | def get_name() -> str: method get_parameters (line 114) | def get_parameters() -> list[dsl_interpreter.OperatorParameter]: method compute (line 121) | def compute(self) -> dsl_interpreter.ComputedOperatorParameterType: class EMAOperator (line 126) | class EMAOperator(ta_operator.TAOperator): method get_name (line 131) | def get_name() -> str: method get_parameters (line 135) | def get_parameters() -> list[dsl_interpreter.OperatorParameter]: method compute (line 142) | def compute(self) -> dsl_interpreter.ComputedOperatorParameterType: class VWMAOperator (line 147) | class VWMAOperator(ta_operator.TAOperator): method get_name (line 152) | def get_name() -> str: method get_parameters (line 156) | def get_parameters() -> list[dsl_interpreter.OperatorParameter]: method compute (line 164) | def compute(self) -> dsl_interpreter.ComputedOperatorParameterType: FILE: Meta/Keywords/scripting_library/TA/trigger/eval_triggered.py function _is_first_candle_only (line 32) | def _is_first_candle_only(context): function _is_first_candle_call (line 40) | def _is_first_candle_call(context, init_key): function evaluator_get_result (line 45) | async def evaluator_get_result( function evaluator_get_results (line 90) | async def evaluator_get_results( function _ensure_cache_when_set_value_key (line 141) | def _ensure_cache_when_set_value_key(value_key, tentacle_class): function _trigger_single_evaluation (line 148) | async def _trigger_single_evaluation(context, tentacle_class, value_key,... function _init_nested_call (line 199) | async def _init_nested_call(context, tentacle_class, config_name, cleane... function _get_init_key (line 215) | def _get_init_key(context, config_name): function _invalidate_call_and_parents_init_status (line 219) | def _invalidate_call_and_parents_init_status(context, config_name): function _tentacle_values (line 227) | def _tentacle_values(context, FILE: Meta/Keywords/scripting_library/UI/inputs/library_user_inputs.py function _find_configuration (line 23) | def _find_configuration(nested_configuration, nested_config_names, eleme... function external_user_input (line 34) | async def external_user_input( FILE: Meta/Keywords/scripting_library/UI/inputs/select_candle.py function user_select_candle (line 20) | async def user_select_candle( FILE: Meta/Keywords/scripting_library/UI/inputs/select_history.py function set_candles_history_size (line 21) | async def set_candles_history_size( FILE: Meta/Keywords/scripting_library/UI/inputs/select_time_frame.py function user_select_time_frame (line 25) | async def user_select_time_frame( function user_multi_select_time_frame (line 40) | async def user_multi_select_time_frame( function set_trigger_time_frames (line 55) | async def set_trigger_time_frames( FILE: Meta/Keywords/scripting_library/UI/inputs/triggers.py function trigger_only_on_the_first_candle (line 22) | async def trigger_only_on_the_first_candle(ctx, FILE: Meta/Keywords/scripting_library/UI/plots/displayed_elements.py class DisplayedElements (line 28) | class DisplayedElements(display.DisplayTranslator): method fill_from_database (line 41) | async def fill_from_database(self, trading_mode, database_manager, exc... method _adapt_inputs_for_backtesting_results (line 110) | async def _adapt_inputs_for_backtesting_results(self, meta_db, exchang... method _plot_graphs (line 138) | def _plot_graphs(self, graphs_by_parts): method _adapt_for_display (line 226) | def _adapt_for_display(self, table_name, filtered_elements): method _filter_and_adapt_displayed_elements (line 264) | def _filter_and_adapt_displayed_elements(self, elements, symbol, time_... method _get_run_window (line 279) | async def _get_run_window(self, run_database): method _add_cached_values (line 287) | async def _add_cached_values(self, graphs_by_parts, cached_values, tim... method _get_cached_values_to_display (line 312) | async def _get_cached_values_to_display(self, cached_value_metadata, x... method _get_cache_displayed_value (line 372) | def _get_cache_displayed_value(cache_val, base_displayed_value): method _add_candles (line 379) | async def _add_candles(self, graphs_by_parts, candles_list, exchange_n... method _get_candles_to_display (line 403) | async def _get_candles_to_display(self, candles_metadata, exchange_nam... method plot (line 445) | def plot( method table (line 491) | def table( method value (line 510) | def value(self, label, value): method html_value (line 521) | def html_value(self, html): FILE: Meta/Keywords/scripting_library/alerts/notifications.py function send_alert (line 5) | async def send_alert(title, alert_content, FILE: Meta/Keywords/scripting_library/backtesting/backtesting_data_collector.py function init_exchange_market_status_and_populate_backtesting_exchange_data (line 45) | async def init_exchange_market_status_and_populate_backtesting_exchange_... function fetch_and_populate_backtesting_exchange_data (line 70) | async def fetch_and_populate_backtesting_exchange_data( function _get_backtesting_run_details (line 90) | def _get_backtesting_run_details( function get_backtesting_start_time (line 108) | def get_backtesting_start_time( function iter_fetched_ohlcvs (line 114) | def iter_fetched_ohlcvs(ohlcvs: list[list[typing.Union[float, str]]]): function populate_backtesting_exchange_data_from_historical_client (line 130) | async def populate_backtesting_exchange_data_from_historical_client( function init_backtesting_exchange_market_status_cache (line 170) | async def init_backtesting_exchange_market_status_cache( function data_collector_ccxt_exchange_manager (line 180) | async def data_collector_ccxt_exchange_manager( function fetch_candles_history_range (line 198) | async def fetch_candles_history_range( function find_usd_like_symbol_from_available_history (line 205) | async def find_usd_like_symbol_from_available_history( function update_backtesting_symbols_data (line 236) | async def update_backtesting_symbols_data( function _ensure_start_time (line 296) | def _ensure_start_time( function ensure_ohlcv_validity (line 311) | def ensure_ohlcv_validity( function adapt_exchange_data_for_updated_start_time (line 328) | def adapt_exchange_data_for_updated_start_time( function ensure_compatible_candle_time (line 345) | def ensure_compatible_candle_time( function _get_logger (line 416) | def _get_logger(): FILE: Meta/Keywords/scripting_library/backtesting/backtesting_data_selector.py function backtesting_start_time (line 22) | def backtesting_start_time(ctx): function backtesting_first_full_candle_time (line 26) | def backtesting_first_full_candle_time(ctx): function backtesting_is_first_full_candle (line 30) | async def backtesting_is_first_full_candle(ctx): function backtesting_end_time (line 36) | def backtesting_end_time(ctx): function backtesting_last_full_candle_time (line 40) | def backtesting_last_full_candle_time(ctx): function _align_time_to_time_frame (line 44) | def _align_time_to_time_frame(reference_time, time_frame, align_backwards): FILE: Meta/Keywords/scripting_library/backtesting/backtesting_intialization.py function init_and_run_backtesting (line 42) | async def init_and_run_backtesting( function run_backtesting (line 62) | async def run_backtesting( function _init_independent_backtesting (line 90) | def _init_independent_backtesting( function _init_backtest_data (line 129) | async def _init_backtest_data( function _init_importers (line 145) | async def _init_importers( function _init_preloaded_candle_managers (line 156) | async def _init_preloaded_candle_managers( FILE: Meta/Keywords/scripting_library/backtesting/backtesting_settings.py function set_backtesting_iteration_timeout (line 19) | def set_backtesting_iteration_timeout(ctx, iteration_timeout_in_seconds:... function register_backtesting_timestamp_whitelist (line 27) | def register_backtesting_timestamp_whitelist(ctx, timestamps, check_call... function is_registered_backtesting_timestamp_whitelist (line 50) | def is_registered_backtesting_timestamp_whitelist(ctx): FILE: Meta/Keywords/scripting_library/backtesting/default_backtesting_run_analysis_script.py function default_backtesting_analysis_script (line 11) | async def default_backtesting_analysis_script(ctx: script_keywords.Conte... function get_backtesting_report_template (line 86) | async def get_backtesting_report_template(run_data, backtesting_analysis... function get_section_display (line 188) | def get_section_display(title, content): function get_column_display (line 199) | def get_column_display(title, value): function get_badges_from_list (line 215) | def get_badges_from_list(_list): function get_portfolio_display (line 222) | def get_portfolio_display(_dict): function get_user_inputs_display (line 231) | def get_user_inputs_display(metadata): FILE: Meta/Keywords/scripting_library/backtesting/metadata.py function set_script_name (line 22) | def set_script_name(ctx, name): function _read_backtesting_metadata (line 26) | async def _read_backtesting_metadata(optimizer_run_dbs_identifier, metad... function read_metadata (line 38) | async def read_metadata(runs_to_load_settings, trading_mode, include_opt... function _read_bot_recording_metadata (line 77) | async def _read_bot_recording_metadata(run_dbs_identifier, metadata_list): function read_bot_recording_runs_metadata (line 87) | async def read_bot_recording_runs_metadata(trading_mode): FILE: Meta/Keywords/scripting_library/backtesting/run_data_analysis.py function get_logger (line 35) | def get_logger(): function get_candles (line 39) | async def get_candles(candles_sources, exchange, symbol, time_frame, met... function get_trades (line 48) | async def get_trades(meta_database, metadata, symbol): function get_metadata (line 56) | async def get_metadata(meta_database): function get_transactions (line 60) | async def get_transactions(meta_database, transaction_type=None, transac... function get_starting_portfolio (line 72) | async def get_starting_portfolio(meta_database) -> dict: function load_historical_values (line 78) | async def load_historical_values(meta_database, exchange, with_candles=T... function backtesting_data (line 134) | async def backtesting_data(meta_database, data_label): function _get_grouped_funding_fees (line 151) | async def _get_grouped_funding_fees(meta_database, group_key): function plot_historical_funding_fees (line 164) | async def plot_historical_funding_fees(meta_database, plotted_element, o... function _position_factory (line 185) | def _position_factory(symbol, contract_data): function _evaluate_portfolio (line 201) | def _evaluate_portfolio(portfolio, price_data, use_start_value): function get_portfolio_values (line 223) | async def get_portfolio_values(meta_database, exchange=None, historical_... function plot_historical_portfolio_value (line 239) | async def plot_historical_portfolio_value( function _read_pnl_from_trades (line 357) | def _read_pnl_from_trades(x_data, pnl_data, cumulative_pnl_data, trades_... function _read_pnl_from_transactions (line 422) | def _read_pnl_from_transactions(x_data, pnl_data, cumulative_pnl_data, t... function _get_historical_pnl (line 438) | async def _get_historical_pnl(meta_database, plotted_element, include_cu... function total_paid_fees (line 497) | async def total_paid_fees(meta_database, all_trades): function plot_historical_pnl_value (line 530) | async def plot_historical_pnl_value(meta_database, plotted_element, exch... function _plot_table_data (line 538) | def _plot_table_data(data, plotted_element, data_name, additional_key_to... function plot_trades (line 563) | async def plot_trades(meta_database, plotted_element, historical_values=... function plot_orders (line 597) | async def plot_orders(meta_database, plotted_element, historical_values=... function plot_withdrawals (line 630) | async def plot_withdrawals(meta_database, plotted_element): function plot_positions (line 649) | async def plot_positions(meta_database, plotted_element): function display (line 668) | async def display(plotted_element, label, value): function display_html (line 672) | async def display_html(plotted_element, html): function plot_table (line 676) | async def plot_table(meta_database, plotted_element, data_source, column... function _get_default_column_render (line 726) | def _get_default_column_render(): function _get_default_types (line 734) | def _get_default_types(): function _get_default_columns (line 742) | def _get_default_columns(plotted_element, data, column_render, key_to_la... function _get_default_rows (line 755) | def _get_default_rows(data, columns): function _get_default_searches (line 763) | def _get_default_searches(columns, types): function _get_wins_and_losses_from_transactions (line 774) | def _get_wins_and_losses_from_transactions(x_data, wins_and_losses_data,... function _get_wins_and_losses_from_trades (line 792) | def _get_wins_and_losses_from_trades(x_data, wins_and_losses_data, trade... function plot_historical_wins_and_losses (line 797) | async def plot_historical_wins_and_losses(meta_database, plotted_element... function _get_win_rates_from_transactions (line 830) | def _get_win_rates_from_transactions(x_data, win_rates_data, trading_tra... function _get_win_rates_from_trades (line 850) | def _get_win_rates_from_trades(x_data, win_rates_data, trades_history, x... function plot_historical_win_rates (line 855) | async def plot_historical_win_rates(meta_database, plotted_element, exch... function _get_best_case_growth_from_transactions (line 888) | async def _get_best_case_growth_from_transactions(trading_transactions_h... function plot_best_case_growth (line 902) | async def plot_best_case_growth(meta_database, plotted_element, exchange... FILE: Meta/Keywords/scripting_library/configuration/exchanges_configuration.py function get_default_reference_market_per_exchange (line 30) | def get_default_reference_market_per_exchange(exchanges: list[str]) -> d... function get_default_exchange_reference_market (line 33) | def get_default_exchange_reference_market(exchange: str) -> str: function is_exchange_with_different_public_data_after_auth (line 36) | def is_exchange_with_different_public_data_after_auth(exchange: str) -> ... FILE: Meta/Keywords/scripting_library/configuration/indexes_configuration.py function create_index_config_from_tentacles_config (line 33) | def create_index_config_from_tentacles_config( function generate_index_config (line 59) | def generate_index_config( function generate_index_backtesting_config (line 103) | def generate_index_backtesting_config( function _get_index_trading_config (line 115) | def _get_index_trading_config( FILE: Meta/Keywords/scripting_library/configuration/profile_data_configuration.py function minimal_profile_data (line 55) | def minimal_profile_data() -> commons_profiles.ProfileData: function empty_config_proxy (line 64) | def empty_config_proxy(*_, **__): function create_backtesting_config (line 68) | def create_backtesting_config( function get_config (line 80) | def get_config( function get_exchange_config (line 116) | def get_exchange_config( function create_profile_data_from_tentacles_config_history (line 141) | def create_profile_data_from_tentacles_config_history( function register_historical_configs (line 170) | def register_historical_configs( function _apply_master_tentacle_config_edits_to_historical_config (line 203) | def _apply_master_tentacle_config_edits_to_historical_config(tentacle: s... function get_historical_added_config_trading_pairs (line 210) | def get_historical_added_config_trading_pairs( function get_historical_traded_pairs (line 231) | def get_historical_traded_pairs( function _get_historical_index_trading_pairs (line 246) | def _get_historical_index_trading_pairs( function add_traded_symbols (line 267) | def add_traded_symbols( function expand_traded_pairs_into_currencies (line 282) | def expand_traded_pairs_into_currencies(profile_data, pairs: list[str]): function filter_out_missing_symbols (line 293) | def filter_out_missing_symbols(profile_data: commons_profiles.ProfileDat... function get_readonly_exchange_auth_details (line 305) | def get_readonly_exchange_auth_details(exchange_internal_name: str) -> e... function _get_readonly_exchange_credential_from_env (line 315) | def _get_readonly_exchange_credential_from_env(exchange_name, cred_suffi... function is_auth_required_exchanges (line 326) | def is_auth_required_exchanges( function _get_is_auth_required_exchange (line 348) | def _get_is_auth_required_exchange( function _set_portfolio (line 361) | def _set_portfolio( function get_formatted_portfolio (line 368) | def get_formatted_portfolio(portfolio: dict): function get_config_by_tentacle (line 375) | def get_config_by_tentacle(profile_data: commons_profiles.ProfileData) -... function get_full_tentacles_setup_config (line 382) | def get_full_tentacles_setup_config( function merge_profile_data (line 409) | def merge_profile_data( function apply_leverage_config (line 439) | def apply_leverage_config(profile_data: commons_profiles.ProfileData): function apply_leverage_config_to_trading_mode_config_if_necessary (line 445) | def apply_leverage_config_to_trading_mode_config_if_necessary(trading_mo... function _get_trading_mode_config (line 449) | def _get_trading_mode_config(profile_data: commons_profiles.ProfileData): function get_trading_mode (line 457) | def get_trading_mode(profile_data: commons_profiles.ProfileData) -> typi... function get_traded_symbols (line 464) | def get_traded_symbols( function get_traded_coins (line 473) | def get_traded_coins( function get_time_frames (line 497) | def get_time_frames( function _get_default_time_frame (line 506) | def _get_default_time_frame(profile_data: commons_profiles.ProfileData, ... function _get_historical_default_time_frame (line 513) | def _get_historical_default_time_frame(profile_data: commons_profiles.Pr... function requires_price_update_timeframe (line 520) | def requires_price_update_timeframe(profile_data: commons_profiles.Profi... function get_default_historical_time_frame (line 528) | def get_default_historical_time_frame(profile_data: commons_profiles.Pro... function can_convert_ref_market_to_usd_like (line 536) | def can_convert_ref_market_to_usd_like( function can_convert_ref_market_to_usd_like_from_symbols (line 545) | def can_convert_ref_market_to_usd_like_from_symbols( function set_backtesting_portfolio (line 560) | def set_backtesting_portfolio(profile_data, exchange_data): function get_oldest_historical_config_symbols_and_time (line 574) | def get_oldest_historical_config_symbols_and_time(profile_data: commons_... function _get_all_tentacles_configured_traded_symbols (line 584) | def _get_all_tentacles_configured_traded_symbols( function _get_first_historical_config_time (line 609) | def _get_first_historical_config_time(profile_data: commons_profiles.Pro... function get_tentacle_config_traded_symbols (line 628) | def get_tentacle_config_traded_symbols(tentacle: str, config: dict, refe... function _get_logger (line 643) | def _get_logger(): FILE: Meta/Keywords/scripting_library/configuration/tentacles_configuration.py function get_config_history_propagated_tentacles_config_keys (line 28) | def get_config_history_propagated_tentacles_config_keys(tentacle: str) -... function is_trading_mode_tentacle (line 35) | def is_trading_mode_tentacle(tentacle_name: str) -> bool: function is_exchange_tentacle (line 42) | def is_exchange_tentacle(tentacle_name: str) -> bool: function get_all_exchange_tentacles (line 49) | def get_all_exchange_tentacles() -> list[type[exchanges.RestExchange]]: function get_exchange_tentacle_from_name (line 53) | def get_exchange_tentacle_from_name(tentacle_name: str) -> type[exchange... FILE: Meta/Keywords/scripting_library/data/reading/exchange_private_data/open_positions.py function is_current_contract_inverse (line 25) | def is_current_contract_inverse(context, symbol=None, side=trading_enums... function open_position_size (line 30) | def open_position_size( function is_position_open (line 48) | def is_position_open( function is_position_long (line 60) | def is_position_long( function is_position_short (line 66) | def is_position_short( FILE: Meta/Keywords/scripting_library/data/reading/exchange_public_data.py function current_live_time (line 31) | def current_live_time(context) -> float: function symbol_fees (line 35) | def symbol_fees(context, symbol=None) -> dict: function is_futures_trading (line 39) | def is_futures_trading(context) -> bool: function _time_frame_to_sec (line 43) | def _time_frame_to_sec(context, time_frame=None): function current_candle_time (line 48) | async def current_candle_time(context, symbol=None, time_frame=None, use... function current_closed_candle_time (line 60) | async def current_closed_candle_time(context, symbol=None, time_frame=No... function Time (line 66) | async def Time(context, symbol=None, time_frame=None, limit=-1, max_hist... function current_live_price (line 79) | async def current_live_price(context, symbol=None): function current_candle_price (line 85) | async def current_candle_price(context, symbol=None, time_frame=None): function Open (line 91) | async def Open(context, symbol=None, time_frame=None, limit=-1, max_hist... function High (line 99) | async def High(context, symbol=None, time_frame=None, limit=-1, max_hist... function Low (line 107) | async def Low(context, symbol=None, time_frame=None, limit=-1, max_histo... function Close (line 115) | async def Close(context, symbol=None, time_frame=None, limit=-1, max_his... function hl2 (line 122) | async def hl2(context, symbol=None, time_frame=None, limit=-1, max_histo... function hlc3 (line 134) | async def hlc3(context, symbol=None, time_frame=None, limit=-1, max_hist... function ohlc4 (line 147) | async def ohlc4(context, symbol=None, time_frame=None, limit=-1, max_his... function Volume (line 162) | async def Volume(context, symbol=None, time_frame=None, limit=-1, max_hi... function get_candles_from_name (line 169) | async def get_candles_from_name(ctx, source_name="low", time_frame=None,... function _local_candles_manager (line 211) | async def _local_candles_manager(exchange_manager, symbol, time_frame, s... function _get_candle_manager (line 229) | async def _get_candle_manager(context, symbol, time_frame, max_history): function get_digits_adapted_price (line 254) | def get_digits_adapted_price(context, price, truncate=True): function get_digits_adapted_amount (line 259) | def get_digits_adapted_amount(context, amount, truncate=True): FILE: Meta/Keywords/scripting_library/data/reading/metadata_reader.py class MetadataReader (line 20) | class MetadataReader(databases.DBReader): method read (line 21) | async def read(self) -> list: FILE: Meta/Keywords/scripting_library/data/reading/trading_settings.py function set_initialized_evaluation (line 1) | def set_initialized_evaluation(ctx, trading_mode, initialized=True, symb... function get_initialized_evaluation (line 5) | def get_initialized_evaluation(ctx, trading_mode, symbol=None, time_fram... function are_all_evaluation_initialized (line 9) | def are_all_evaluation_initialized(ctx, trading_mode): FILE: Meta/Keywords/scripting_library/data/writing/plotting.py function disable_candles_plot (line 24) | async def disable_candles_plot(ctx, time_frame=None): function plot (line 30) | async def plot(ctx, title, x=None, function plot_shape (line 182) | async def plot_shape(ctx, title, value, y_value, function _get_value_from_array (line 204) | def _get_value_from_array(array, index, multiplier=1): FILE: Meta/Keywords/scripting_library/data/writing/portfolio.py function withdraw (line 21) | async def withdraw(context, amount, currency): FILE: Meta/Keywords/scripting_library/errors.py class ScriptedLibraryError (line 1) | class ScriptedLibraryError(Exception): class InvalidBacktestingDataError (line 5) | class InvalidBacktestingDataError(ScriptedLibraryError): class MissingReadOnlyExchangeCredentialsError (line 9) | class MissingReadOnlyExchangeCredentialsError(ScriptedLibraryError): class InvalidProfileError (line 13) | class InvalidProfileError(ScriptedLibraryError): class InvalidTentacleProfileError (line 17) | class InvalidTentacleProfileError(InvalidProfileError): FILE: Meta/Keywords/scripting_library/exchanges/local_exchange.py function local_ccxt_exchange_manager (line 11) | async def local_ccxt_exchange_manager( FILE: Meta/Keywords/scripting_library/orders/cancelling.py function cancel_orders (line 21) | async def cancel_orders( FILE: Meta/Keywords/scripting_library/orders/chaining.py function chain_order (line 19) | async def chain_order(base_order, chained_orders, update_with_triggering... FILE: Meta/Keywords/scripting_library/orders/editing.py function edit_order (line 22) | async def edit_order(ctx, order, FILE: Meta/Keywords/scripting_library/orders/grouping.py function create_one_cancels_the_other_group (line 20) | def create_one_cancels_the_other_group(context, group_identifier=None, o... function get_or_create_one_cancels_the_other_group (line 29) | def get_or_create_one_cancels_the_other_group( function create_balanced_take_profit_and_stop_group (line 43) | def create_balanced_take_profit_and_stop_group(context, group_identifier... function get_or_create_balanced_take_profit_and_stop_group (line 53) | def get_or_create_balanced_take_profit_and_stop_group( function add_orders_to_group (line 68) | def add_orders_to_group(ctx, order_group, orders): function get_group_from_orders (line 76) | def get_group_from_orders(orders, include_chained_orders=True): function get_open_orders_from_group (line 89) | def get_open_orders_from_group(order_group): function enable_group (line 93) | async def enable_group(order_group, enabled): function _create_order_group (line 97) | def _create_order_group(context, group_type, group_identifier, orders) -... function _get_or_create_order_group (line 104) | def _get_or_create_order_group(context, group_type, group_identifier) ->... FILE: Meta/Keywords/scripting_library/orders/mocks.py function minimal_order_amount (line 6) | def minimal_order_amount(symbol): function max_digits (line 10) | def max_digits(symbol): function adapt_digits (line 14) | def adapt_digits(symbol, value): FILE: Meta/Keywords/scripting_library/orders/open_orders.py function get_open_orders (line 18) | def get_open_orders(context): FILE: Meta/Keywords/scripting_library/orders/order_tags.py function get_tagged_orders (line 18) | def get_tagged_orders( FILE: Meta/Keywords/scripting_library/orders/order_types/create_order.py function create_order_instance (line 31) | async def create_order_instance( function _get_order_percents (line 101) | async def _get_order_percents(context, order_amount, order_target_positi... function _paired_order_is_closed (line 130) | def _paired_order_is_closed(context, group): function _use_total_holding (line 142) | def _use_total_holding(order_type_name): function _is_stop_order (line 146) | def _is_stop_order(order_type_name): function _get_order_quantity_and_side (line 150) | async def _get_order_quantity_and_side(context, order_amount, order_targ... function _get_order_details (line 179) | async def _get_order_details(context, order_type_name, side, order_offse... function _create_order (line 258) | async def _create_order(context, symbol, order_quantity, order_price, ta... function _get_group_adapted_quantity (line 363) | def _get_group_adapted_quantity(context, group, order_type, order_quanti... function _get_group_or_default (line 384) | def _get_group_or_default(context, group, stop_loss_price, take_profit_p... function _bundle_stop_loss_and_take_profit (line 395) | async def _bundle_stop_loss_and_take_profit( function _bundle_chained_order (line 428) | async def _bundle_chained_order(context, symbol_market, order, quantity,... FILE: Meta/Keywords/scripting_library/orders/order_types/limit_order.py function limit (line 20) | async def limit( FILE: Meta/Keywords/scripting_library/orders/order_types/market_order.py function market (line 20) | async def market( FILE: Meta/Keywords/scripting_library/orders/order_types/scaled_order.py function scaled_limit (line 21) | async def scaled_limit( function scaled_stop_loss (line 127) | async def scaled_stop_loss( FILE: Meta/Keywords/scripting_library/orders/order_types/stop_loss_order.py function stop_loss (line 20) | async def stop_loss( FILE: Meta/Keywords/scripting_library/orders/order_types/trailing_limit_order.py function trailing_limit (line 20) | async def trailing_limit( FILE: Meta/Keywords/scripting_library/orders/order_types/trailing_market_order.py function trailing_market (line 20) | async def trailing_market( FILE: Meta/Keywords/scripting_library/orders/order_types/trailing_stop_loss_order.py function trailing_stop_loss (line 20) | async def trailing_stop_loss( FILE: Meta/Keywords/scripting_library/orders/position_size/amount.py function get_amount (line 24) | async def get_amount( FILE: Meta/Keywords/scripting_library/orders/position_size/target_position.py function get_target_position (line 25) | async def get_target_position( function get_target_position_side (line 72) | def get_target_position_side(order_size): FILE: Meta/Keywords/scripting_library/orders/waiting.py function wait_for_orders_close (line 24) | async def wait_for_orders_close(ctx, orders, timeout=None): function are_all_chained_orders_created (line 45) | def are_all_chained_orders_created(ctx, orders): function wait_for_stop_loss_open (line 63) | async def wait_for_stop_loss_open(ctx, order_tag=None, order_group=None,... FILE: Meta/Keywords/scripting_library/settings/script_settings.py function set_minimum_candles (line 20) | def set_minimum_candles(context, candles_count): function do_not_initialize (line 34) | def do_not_initialize(): function set_allow_artificial_orders (line 38) | def set_allow_artificial_orders(context, allow_artificial_orders): FILE: Meta/Keywords/scripting_library/tests/__init__.py function null_context (line 30) | def null_context(): function mock_context (line 52) | async def mock_context(backtesting_trader): function symbol_market (line 96) | def symbol_market(): function event_loop (line 120) | def event_loop(): function skip_if_octobot_trading_mocking_disabled (line 134) | def skip_if_octobot_trading_mocking_disabled(request): function _configure_async_test_loop (line 143) | def _configure_async_test_loop(): FILE: Meta/Keywords/scripting_library/tests/backtesting/data_store.py function default_price_data (line 23) | def default_price_data(): function default_trades_data (line 31) | def default_trades_data(): function default_portfolio_historical_value (line 93) | def default_portfolio_historical_value(): function default_portfolio_data (line 99) | def default_portfolio_data(): function default_spot_metadata (line 104) | def default_spot_metadata(): function default_pnl_historical_value (line 112) | def default_pnl_historical_value(): function default_funding_fees_data (line 119) | def default_funding_fees_data(): function default_realized_pnl_history (line 125) | def default_realized_pnl_history(): FILE: Meta/Keywords/scripting_library/tests/backtesting/test_backtesting_data_collector.py class DummyLogger (line 26) | class DummyLogger: method __init__ (line 27) | def __init__(self): method info (line 31) | def info(self, msg): method error (line 33) | def error(self, msg): method exception (line 35) | def exception(self, err, *args, **kwargs): function patch_logger (line 38) | def patch_logger(monkeypatch): function base_args (line 43) | def base_args(): function test_ensure_compatible_candle_time_normal_case (line 56) | def test_ensure_compatible_candle_time_normal_case(monkeypatch): function test_ensure_compatible_candle_time_starts_too_early (line 75) | def test_ensure_compatible_candle_time_starts_too_early(): function test_ensure_compatible_candle_time_starts_too_late_and_required (line 92) | def test_ensure_compatible_candle_time_starts_too_late_and_required(): function test_ensure_compatible_candle_time_starts_too_late_but_adapted_with_test_data (line 110) | def test_ensure_compatible_candle_time_starts_too_late_but_adapted_with_... function test_ensure_compatible_candle_time_starts_too_late_but_adapted_with_real_data_dca (line 129) | def test_ensure_compatible_candle_time_starts_too_late_but_adapted_with_... function test_ensure_compatible_candle_time_starts_too_late_but_adapted_with_real_data_basked (line 160) | def test_ensure_compatible_candle_time_starts_too_late_but_adapted_with_... function test_ensure_compatible_candle_time_ends_too_late (line 179) | def test_ensure_compatible_candle_time_ends_too_late(): function test_ensure_compatible_candle_time_ends_too_early_and_required (line 196) | def test_ensure_compatible_candle_time_ends_too_early_and_required(): function test_ensure_compatible_candle_time_ends_too_early_but_not_required (line 213) | def test_ensure_compatible_candle_time_ends_too_early_but_not_required(m... function test_ensure_compatible_candle_time_adapted_start_time_too_short (line 231) | def test_ensure_compatible_candle_time_adapted_start_time_too_short(): FILE: Meta/Keywords/scripting_library/tests/backtesting/test_collect_data_and_run_backtesting.py function trading_mode_tentacles_data (line 32) | def trading_mode_tentacles_data() -> commons_profile_data.TentaclesData: function test_collect_candles_without_backend_and_run_backtesting (line 66) | async def test_collect_candles_without_backend_and_run_backtesting(tradi... FILE: Meta/Keywords/scripting_library/tests/backtesting/test_run_data.py function test_plot_historical_portfolio_value (line 32) | async def test_plot_historical_portfolio_value(default_price_data, defau... function test_get_historical_pnl (line 44) | async def test_get_historical_pnl(default_price_data, default_trades_dat... function test_total_paid_fees (line 72) | async def test_total_paid_fees(default_trades_data): function _test_historical_portfolio_values (line 86) | async def _test_historical_portfolio_values(price_data, trades_data, por... function _test_historical_pnl_values_from_trades (line 111) | async def _test_historical_pnl_values_from_trades(price_data, trades_dat... FILE: Meta/Keywords/scripting_library/tests/configuration/__init__.py function backtesting_config (line 23) | async def backtesting_config(request): function fake_backtesting (line 34) | async def fake_backtesting(backtesting_config): function backtesting_exchange_manager (line 44) | async def backtesting_exchange_manager(request, backtesting_config, fake... function backtesting_trader (line 69) | async def backtesting_trader(backtesting_config, backtesting_exchange_ma... FILE: Meta/Keywords/scripting_library/tests/configuration/test_indexes_configuration.py function test_create_index_config_from_tentacles_config (line 24) | def test_create_index_config_from_tentacles_config(): function test_generate_index_config (line 110) | def test_generate_index_config(): FILE: Meta/Keywords/scripting_library/tests/configuration/test_profile_data_configuration.py function test_register_historical_configs_adds_traded_pairs (line 24) | def test_register_historical_configs_adds_traded_pairs(): function test_register_historical_configs_registers_historical_tentacle_config (line 40) | def test_register_historical_configs_registers_historical_tentacle_confi... function test_register_historical_configs_applies_master_edits (line 63) | def test_register_historical_configs_applies_master_edits(): FILE: Meta/Keywords/scripting_library/tests/exchanges/__init__.py function backtesting_config (line 23) | async def backtesting_config(request): function fake_backtesting (line 34) | async def fake_backtesting(backtesting_config): function backtesting_exchange_manager (line 44) | async def backtesting_exchange_manager(request, backtesting_config, fake... function backtesting_trader (line 69) | async def backtesting_trader(backtesting_config, backtesting_exchange_ma... FILE: Meta/Keywords/scripting_library/tests/orders/order_types/test_create_order.py function test_create_order_instance (line 41) | async def test_create_order_instance(mock_context): function test_paired_order_is_closed (line 94) | async def test_paired_order_is_closed(mock_context, skip_if_octobot_trad... function test_use_total_holding (line 129) | async def test_use_total_holding(): function test_is_stop_order (line 138) | async def test_is_stop_order(): function test_get_order_quantity_and_side (line 150) | async def test_get_order_quantity_and_side(null_context): function test_get_order_details (line 219) | async def test_get_order_details(null_context): function test_create_order (line 289) | async def test_create_order(mock_context, symbol_market): function test_get_group_adapted_quantity (line 391) | async def test_get_group_adapted_quantity(mock_context, skip_if_octobot_... FILE: Meta/Keywords/scripting_library/tests/orders/order_types/test_limit_order.py function test_limit (line 30) | async def test_limit(null_context): FILE: Meta/Keywords/scripting_library/tests/orders/order_types/test_market_order.py function test_market (line 30) | async def test_market(null_context): FILE: Meta/Keywords/scripting_library/tests/orders/order_types/test_multiple_orders_creation.py function test_orders_with_invalid_values (line 44) | async def test_orders_with_invalid_values(mock_context, skip_if_octobot_... function test_orders_amount_then_position_sequence (line 104) | async def test_orders_amount_then_position_sequence(mock_context): function test_concurrent_orders (line 199) | async def test_concurrent_orders(mock_context): function test_sell_limit_with_stop_loss_orders_single_sell_and_stop_with_oco_group (line 263) | async def test_sell_limit_with_stop_loss_orders_single_sell_and_stop_wit... function test_sell_limit_with_stop_loss_orders_two_sells_and_stop_with_oco (line 293) | async def test_sell_limit_with_stop_loss_orders_two_sells_and_stop_with_... function test_sell_limit_with_multiple_stop_loss_and_sell_orders_in_balanced_take_profit_and_stop_group (line 338) | async def test_sell_limit_with_multiple_stop_loss_and_sell_orders_in_bal... function test_multiple_sell_limit_with_stop_loss_rounding_issues_in_balanced_take_profit_and_stop_group (line 407) | async def test_multiple_sell_limit_with_stop_loss_rounding_issues_in_bal... function _usdt_trading_context (line 449) | async def _usdt_trading_context(mock_context): function _20_percent_position_trading_context (line 465) | async def _20_percent_position_trading_context(mock_context): function _fill_and_check (line 484) | async def _fill_and_check(mock_context, btc_available, usdt_available, o... function _ensure_orders_validity (line 497) | def _ensure_orders_validity(mock_context, btc_available, usdt_available,... FILE: Meta/Keywords/scripting_library/tests/orders/order_types/test_stop_loss_order.py function test_stop_loss (line 30) | async def test_stop_loss(null_context): FILE: Meta/Keywords/scripting_library/tests/orders/order_types/test_trailing_limit_order.py function test_trailing_limit (line 30) | async def test_trailing_limit(null_context): FILE: Meta/Keywords/scripting_library/tests/orders/order_types/test_trailing_market_order.py function test_trailing_market (line 30) | async def test_trailing_market(null_context): FILE: Meta/Keywords/scripting_library/tests/orders/order_types/test_trailing_stop_loss_order.py function test_trailing_stop_loss (line 30) | async def test_trailing_stop_loss(null_context): FILE: Meta/Keywords/scripting_library/tests/orders/position_size/test_target_position.py function test_get_target_position_side (line 31) | def test_get_target_position_side(): function test_get_target_position (line 39) | async def test_get_target_position(mock_context): FILE: Meta/Keywords/scripting_library/tests/orders/test_cancelling.py function test_cancel_orders (line 35) | async def test_cancel_orders(mock_context, skip_if_octobot_trading_mocki... FILE: Meta/Keywords/scripting_library/tests/test_utils/order_util.py function fill_limit_or_stop_order (line 19) | async def fill_limit_or_stop_order(limit_or_stop_order): function fill_market_order (line 24) | async def fill_market_order(market_order): FILE: Services/Interfaces/telegram_bot_interface/telegram_bot.py class TelegramBotInterface (line 34) | class TelegramBotInterface(interfaces_bots.AbstractBotInterface): method __init__ (line 40) | def __init__(self, config): method _post_initialize (line 44) | async def _post_initialize(self, _): method _inner_start (line 52) | async def _inner_start(self) -> bool: method stop (line 63) | async def stop(self): method get_bot_handlers (line 66) | def get_bot_handlers(self): method command_unknown (line 90) | async def command_unknown(update: telegram.Update, _: telegram.ext.Con... method command_help (line 99) | async def command_help(update: telegram.Update, _: telegram.ext.Contex... method command_start (line 131) | async def command_start(update: telegram.Update, _: telegram.ext.Conte... method command_restart (line 140) | async def command_restart(update: telegram.Update, _: telegram.ext.Con... method command_stop (line 149) | async def command_stop(update: telegram.Update, _: telegram.ext.Contex... method command_version (line 162) | async def command_version(update: telegram.Update, _: telegram.ext.Con... method command_pause_resume (line 168) | async def command_pause_resume(self, update: telegram.Update, _: teleg... method command_ping (line 183) | async def command_ping(update: telegram.Update, _: telegram.ext.Contex... method command_risk (line 190) | async def command_risk(update: telegram.Update, context: telegram.ext.... method command_profitability (line 201) | async def command_profitability(update: telegram.Update, _: telegram.e... method command_fees (line 208) | async def command_fees(update: telegram.Update, _: telegram.ext.Contex... method command_sell_all_currencies (line 215) | async def command_sell_all_currencies(update: telegram.Update, _: tele... method command_sell_all (line 222) | async def command_sell_all(update: telegram.Update, context: telegram.... method command_portfolio (line 233) | async def command_portfolio(update: telegram.Update, _: telegram.ext.C... method command_open_orders (line 239) | async def command_open_orders(update: telegram.Update, _: telegram.ext... method command_trades_history (line 246) | async def command_trades_history(update: telegram.Update, _: telegram.... method command_portfolio_refresh (line 254) | async def command_portfolio_refresh(update: telegram.Update, _: telegr... method command_configuration (line 265) | async def command_configuration(update: telegram.Update, _: telegram.e... method command_market_status (line 280) | async def command_market_status(update: telegram.Update, _: telegram.e... method command_error (line 294) | async def command_error(update: telegram.Update, context: telegram.ext... method handle_polling_error (line 309) | def handle_polling_error(error): method get_error_log_level (line 329) | def get_error_log_level(error): method echo (line 341) | async def echo(update: telegram.Update, _: telegram.ext.ContextTypes.D... method enable (line 346) | def enable(config, is_enabled, associated_config=services_constants.CO... method is_enabled (line 350) | def is_enabled(config, associated_config=services_constants.CONFIG_TEL... method _is_authorized_chat (line 354) | def _is_authorized_chat(update: telegram.Update): method _is_valid_user (line 358) | def _is_valid_user(update: telegram.Update, associated_config=services... method _send_message (line 373) | async def _send_message(update: telegram.Update, message: str, markdow... FILE: Services/Interfaces/telegram_bot_interface/tests/test_bot_interface.py function create_minimalist_unconnected_octobot (line 36) | async def create_minimalist_unconnected_octobot(): function get_bot_interface (line 56) | async def get_bot_interface(): function test_all_commands (line 65) | async def test_all_commands(): FILE: Services/Interfaces/web_interface/__init__.py class Notifier (line 26) | class Notifier: method send_notifications (line 28) | def send_notifications(self) -> bool: function register_notifier (line 35) | def register_notifier(notification_key, notifier): function dir_last_updated (line 68) | def dir_last_updated(folder): function update_registered_plugins (line 80) | def update_registered_plugins(plugins): function flush_notifications (line 95) | def flush_notifications(): function _send_notification (line 99) | def _send_notification(notification_key, **kwargs) -> bool: function send_general_notifications (line 106) | def send_general_notifications(**kwargs): function send_backtesting_status (line 111) | def send_backtesting_status(**kwargs): function send_data_collector_status (line 115) | def send_data_collector_status(**kwargs): function send_strategy_optimizer_status (line 119) | def send_strategy_optimizer_status(**kwargs): function send_new_trade (line 123) | def send_new_trade(dict_new_trade, exchange_id, symbol): function send_order_update (line 127) | def send_order_update(dict_order, exchange_id, symbol): function add_notification (line 131) | async def add_notification(level: services_enums.NotificationLevel, titl... function get_notifications (line 146) | def get_notifications() -> list: function get_notifications_history (line 150) | def get_notifications_history() -> list: function get_critical_notifications (line 154) | def get_critical_notifications() -> list: function get_logs (line 158) | def get_logs(): function get_errors_count (line 162) | def get_errors_count(): function flush_errors_count (line 166) | def flush_errors_count(): FILE: Services/Interfaces/web_interface/advanced_controllers/__init__.py function register (line 26) | def register(distribution: octobot.enums.OctoBotDistribution): FILE: Services/Interfaces/web_interface/advanced_controllers/configuration.py function register (line 24) | def register(blueprint): FILE: Services/Interfaces/web_interface/advanced_controllers/home.py function register (line 21) | def register(blueprint): FILE: Services/Interfaces/web_interface/advanced_controllers/matrix.py function register (line 22) | def register(blueprint): FILE: Services/Interfaces/web_interface/advanced_controllers/strategy_optimizer.py function register (line 23) | def register(blueprint): FILE: Services/Interfaces/web_interface/advanced_controllers/tentacles_management.py function register (line 25) | def register(blueprint): FILE: Services/Interfaces/web_interface/api/__init__.py function register (line 37) | def register(distribution: octobot.enums.OctoBotDistribution): FILE: Services/Interfaces/web_interface/api/bots.py function register (line 24) | def register(blueprint): FILE: Services/Interfaces/web_interface/api/config.py function register (line 26) | def register(blueprint): FILE: Services/Interfaces/web_interface/api/dsl.py function register (line 22) | def register(blueprint): FILE: Services/Interfaces/web_interface/api/exchanges.py function register (line 23) | def register(blueprint): FILE: Services/Interfaces/web_interface/api/feedback.py function register (line 23) | def register(blueprint): FILE: Services/Interfaces/web_interface/api/metadata.py function register (line 27) | def register(blueprint): FILE: Services/Interfaces/web_interface/api/tentacles_packages.py function register (line 23) | def register(blueprint): FILE: Services/Interfaces/web_interface/api/trading.py function register (line 24) | def register(blueprint): FILE: Services/Interfaces/web_interface/api/user_commands.py function register (line 23) | def register(blueprint): FILE: Services/Interfaces/web_interface/api/webhook.py function register_webhook (line 24) | def register_webhook(callback): function has_webhook (line 28) | def has_webhook(callback): function register (line 32) | def register(blueprint): FILE: Services/Interfaces/web_interface/controllers/__init__.py function register (line 45) | def register(blueprint, distribution: octobot.enums.OctoBotDistribution): FILE: Services/Interfaces/web_interface/controllers/about.py function register (line 24) | def register(blueprint): FILE: Services/Interfaces/web_interface/controllers/automation.py function register (line 28) | def register(blueprint): FILE: Services/Interfaces/web_interface/controllers/backtesting.py function register (line 28) | def register(blueprint): FILE: Services/Interfaces/web_interface/controllers/commands.py function register (line 22) | def register(blueprint): FILE: Services/Interfaces/web_interface/controllers/community.py function register (line 26) | def register(blueprint): FILE: Services/Interfaces/web_interface/controllers/community_authentication.py function register (line 31) | def register(blueprint): class CommunityLoginForm (line 128) | class CommunityLoginForm(flask_wtf.FlaskForm): FILE: Services/Interfaces/web_interface/controllers/configuration.py function register (line 35) | def register(blueprint): FILE: Services/Interfaces/web_interface/controllers/dashboard.py function register (line 22) | def register(blueprint): FILE: Services/Interfaces/web_interface/controllers/distributions/market_making/__init__.py function register (line 25) | def register(blueprint): FILE: Services/Interfaces/web_interface/controllers/distributions/market_making/cloud.py function register (line 21) | def register(blueprint): FILE: Services/Interfaces/web_interface/controllers/distributions/market_making/configuration.py function register (line 29) | def register(blueprint): FILE: Services/Interfaces/web_interface/controllers/distributions/market_making/dashboard.py function register (line 30) | def register(blueprint): FILE: Services/Interfaces/web_interface/controllers/dsl.py function register (line 21) | def register(blueprint): FILE: Services/Interfaces/web_interface/controllers/errors.py function register (line 24) | def register(blueprint): FILE: Services/Interfaces/web_interface/controllers/home.py function register (line 30) | def register(blueprint): FILE: Services/Interfaces/web_interface/controllers/interface_settings.py function register (line 23) | def register(blueprint): FILE: Services/Interfaces/web_interface/controllers/logs.py function register (line 28) | def register(blueprint): FILE: Services/Interfaces/web_interface/controllers/medias.py function _send_file (line 23) | def _send_file(base_dir, file_path): function register (line 28) | def register(blueprint): FILE: Services/Interfaces/web_interface/controllers/octobot_authentication.py function register (line 29) | def register(blueprint): class LoginForm (line 71) | class LoginForm(flask_wtf.FlaskForm): FILE: Services/Interfaces/web_interface/controllers/octobot_help.py function register (line 21) | def register(blueprint): FILE: Services/Interfaces/web_interface/controllers/portfolio.py function register (line 24) | def register(blueprint): FILE: Services/Interfaces/web_interface/controllers/profiles.py function register (line 30) | def register(blueprint): FILE: Services/Interfaces/web_interface/controllers/reboot.py function register (line 22) | def register(blueprint): FILE: Services/Interfaces/web_interface/controllers/robots.py function register (line 19) | def register(blueprint): FILE: Services/Interfaces/web_interface/controllers/tentacles_config.py function register (line 24) | def register(blueprint): FILE: Services/Interfaces/web_interface/controllers/terms.py function register (line 24) | def register(blueprint): FILE: Services/Interfaces/web_interface/controllers/trading.py function register (line 26) | def register(blueprint): FILE: Services/Interfaces/web_interface/controllers/welcome.py function register (line 21) | def register(blueprint): FILE: Services/Interfaces/web_interface/enums.py class PriceStrings (line 19) | class PriceStrings(enum.Enum): class TabsLocation (line 28) | class TabsLocation(enum.Enum): class ColorModes (line 33) | class ColorModes(enum.Enum): FILE: Services/Interfaces/web_interface/errors.py class MissingExchangeId (line 18) | class MissingExchangeId(Exception): FILE: Services/Interfaces/web_interface/flask_util/browsing_data_provider.py class BrowsingDataProvider (line 37) | class BrowsingDataProvider(singleton.Singleton): method __init__ (line 51) | def __init__(self): method get_distribution_key (line 57) | def get_distribution_key(distribution: octobot.enums.OctoBotDistributi... method get_or_create_session_secret_key (line 60) | def get_or_create_session_secret_key(self): method get_and_unset_is_first_display (line 70) | def get_and_unset_is_first_display(self, element): method set_is_first_display (line 79) | def set_is_first_display(self, element, is_first_display): method set_first_displays (line 88) | def set_first_displays(self, is_first_display): method get_currency_logo_url (line 93) | def get_currency_logo_url(self, currency_id): method set_currency_logo_url (line 99) | def set_currency_logo_url(self, currency_id, url, dump=True): method get_all_currencies (line 107) | def get_all_currencies(self): method set_all_currencies (line 110) | def set_all_currencies(self, all_currencies): method _get_session_secret_key (line 114) | def _get_session_secret_key(self): method _create_session_secret_key (line 125) | def _create_session_secret_key(self): method _generate_session_secret_key (line 130) | def _generate_session_secret_key(self): method _get_default_data (line 134) | def _get_default_data(self): method _apply_saved_data (line 142) | def _apply_saved_data(self, read_data): method _load_saved_data (line 148) | def _load_saved_data(self): method dump_saved_data (line 162) | def dump_saved_data(self): method _get_file (line 169) | def _get_file(self): method _get_expiring_cached_value (line 172) | def _get_expiring_cached_value(self, key): method _set_expiring_cached_value (line 176) | def _set_expiring_cached_value(self, key, value): method _create_expiring_cached_value (line 179) | def _create_expiring_cached_value(self, value): method _ensure_cache_expiration (line 185) | def _ensure_cache_expiration(self, key): FILE: Services/Interfaces/web_interface/flask_util/content_types_management.py function init_content_types (line 20) | def init_content_types(): FILE: Services/Interfaces/web_interface/flask_util/context_processor.py function register_context_processor (line 35) | def register_context_processor(web_interface_instance): FILE: Services/Interfaces/web_interface/flask_util/cors.py function get_user_defined_cors_allowed_origins (line 21) | def get_user_defined_cors_allowed_origins(): FILE: Services/Interfaces/web_interface/flask_util/file_services.py function send_and_remove_file (line 21) | def send_and_remove_file(file_path, download_name): FILE: Services/Interfaces/web_interface/flask_util/json_provider.py class FloatDecimalJSONProvider (line 21) | class FloatDecimalJSONProvider(flask.json.provider.DefaultJSONProvider): method dumps (line 23) | def dumps(self, obj, **kwargs): FILE: Services/Interfaces/web_interface/flask_util/template_filters.py function register_template_filters (line 18) | def register_template_filters(app): FILE: Services/Interfaces/web_interface/login/open_source_package_required.py function open_source_package_required (line 23) | def open_source_package_required(func): FILE: Services/Interfaces/web_interface/login/user.py class User (line 18) | class User: method __init__ (line 24) | def __init__(self): method get_id (line 35) | def get_id(self): FILE: Services/Interfaces/web_interface/login/web_login_manager.py class WebLoginManager (line 33) | class WebLoginManager(flask_login.LoginManager): method __init__ (line 34) | def __init__(self, flask_app, password_hash): method login_user (line 44) | def login_user(self, remember=False, duration=None, **kwargs): method is_valid_password (line 49) | def is_valid_password(self, ip, password, form): method _register_callbacks (line 69) | def _register_callbacks(self): function is_authenticated (line 76) | def is_authenticated(): function set_is_login_required (line 80) | def set_is_login_required(login_required): function is_login_required (line 85) | def is_login_required(): function _login_required_func (line 90) | def _login_required_func(func, *args, **kwargs): function login_required_when_activated (line 94) | def login_required_when_activated(func): function active_login_required (line 103) | def active_login_required(func): function register_attempt (line 115) | def register_attempt(ip): function is_banned (line 123) | def is_banned(ip): function reset_attempts (line 129) | def reset_attempts(ip): FILE: Services/Interfaces/web_interface/models/backtesting.py function get_full_candle_history_exchange_list (line 55) | def get_full_candle_history_exchange_list(): function get_other_history_exchange_list (line 60) | def get_other_history_exchange_list(): function _get_description (line 65) | async def _get_description(data_file, files_with_description): function _is_usable_description (line 71) | def _is_usable_description(description): function _retrieve_data_files_with_description (line 77) | async def _retrieve_data_files_with_description(files): function get_data_files_with_description (line 87) | def get_data_files_with_description(): function start_backtesting_using_specific_files (line 92) | def start_backtesting_using_specific_files(files, source, reset_tentacle... function start_backtesting_using_current_bot_data (line 104) | def start_backtesting_using_current_bot_data(data_source, exchange_id, s... function stop_previous_backtesting (line 122) | def stop_previous_backtesting(): function is_backtesting_enabled (line 133) | def is_backtesting_enabled(): function _parse_trading_type (line 137) | def _parse_trading_type(trading_type): function _start_backtesting (line 151) | def _start_backtesting(files, source, reset_tentacle_config=False, run_o... function _collect_initialize_and_run_independent_backtesting (line 238) | async def _collect_initialize_and_run_independent_backtesting( function get_backtesting_status (line 295) | def get_backtesting_status(): function get_backtesting_report (line 308) | def get_backtesting_report(source): function get_latest_backtesting_run_id (line 322) | def get_latest_backtesting_run_id(trading_mode): function get_delete_data_file (line 337) | def get_delete_data_file(file_name): function get_data_collector_status (line 345) | def get_data_collector_status(): function stop_data_collector (line 362) | def stop_data_collector(): function create_snapshot_data_collector (line 372) | def create_snapshot_data_collector(exchange_id, start_timestamp, end_tim... function get_data_files_from_current_bot (line 421) | def get_data_files_from_current_bot(exchange_id, start_timestamp, end_ti... function collect_data_file (line 437) | def collect_data_file(exchange, symbols, time_frames=None, start_timesta... function _start_collect_and_notify (line 466) | async def _start_collect_and_notify(data_collector_instance): function _background_collect_exchange_historical_data (line 478) | def _background_collect_exchange_historical_data(exchange, exchange_type... function _convert_into_octobot_data_file_if_necessary (line 495) | async def _convert_into_octobot_data_file_if_necessary(output_file): function save_data_file (line 517) | def save_data_file(name, file): function _ensure_backtesting_limits (line 530) | def _ensure_backtesting_limits(exchange, symbols, time_frames, start_tim... FILE: Services/Interfaces/web_interface/models/commands.py function schedule_delayed_command (line 25) | def schedule_delayed_command(command, *args, delay=0.5): function restart_bot (line 32) | def restart_bot(delay=None): function is_rebooting (line 42) | def is_rebooting(): function stop_bot (line 46) | def stop_bot(): function update_bot (line 50) | def update_bot(): FILE: Services/Interfaces/web_interface/models/community.py function get_community_metrics_to_display (line 27) | def get_community_metrics_to_display(): function can_get_community_metrics (line 31) | def can_get_community_metrics(): function get_owned_packages (line 35) | def get_owned_packages() -> list[str]: function has_owned_packages_to_install (line 40) | def has_owned_packages_to_install() -> list[str]: function update_owned_packages (line 45) | def update_owned_packages(): function has_open_source_package (line 50) | def has_open_source_package() -> bool: function get_checkout_url (line 55) | def get_checkout_url(payment_method, redirect_url) -> (bool, str): function get_tradingview_email_address (line 65) | def get_tradingview_email_address() -> str: function get_last_email_address_confirm_code_email_content (line 69) | def get_last_email_address_confirm_code_email_content() -> typing.Option... function wait_for_email_address_confirm_code_email (line 73) | def wait_for_email_address_confirm_code_email(): function get_cloud_strategies (line 79) | def get_cloud_strategies(authenticator) -> list[octobot_community.Strate... function get_cloud_strategy (line 83) | def get_cloud_strategy(authenticator, strategy_id: str) -> octobot_commu... function get_preview_tentacles_packages (line 87) | def get_preview_tentacles_packages(url_for): function get_current_octobots_stats (line 109) | def get_current_octobots_stats(): function _format_bot (line 113) | def _format_bot(bot): function get_all_user_bots (line 120) | def get_all_user_bots(): function get_selected_user_bot (line 129) | def get_selected_user_bot(): function select_bot (line 133) | def select_bot(bot_id): function create_new_bot (line 137) | def create_new_bot(): function can_select_bot (line 141) | def can_select_bot(): function can_logout (line 145) | def can_logout(): function get_user_account_id (line 149) | def get_user_account_id(): function has_filled_form (line 153) | def has_filled_form(form_id): function register_user_submitted_form (line 157) | def register_user_submitted_form(user_id, form_id): function get_followed_strategy_url (line 169) | def get_followed_strategy_url(): function is_community_feed_connected (line 181) | def is_community_feed_connected(): function get_last_signal_time (line 185) | def get_last_signal_time(): function _sync_community_account (line 189) | async def _sync_community_account(): function sync_community_account (line 194) | def sync_community_account(): function wait_for_login_if_processing (line 198) | def wait_for_login_if_processing(): FILE: Services/Interfaces/web_interface/models/configuration.py function _get_currency_dict (line 123) | def _get_currency_dict(name, symbol, identifier): function _get_logger (line 138) | def _get_logger(): function _get_evaluators_tentacles_activation (line 145) | def _get_evaluators_tentacles_activation(): function _get_trading_tentacles_activation (line 153) | def _get_trading_tentacles_activation(): function _get_services_tentacles_activation (line 161) | def _get_services_tentacles_activation(): function get_evaluators_tentacles_startup_activation (line 169) | def get_evaluators_tentacles_startup_activation(): function get_trading_tentacles_startup_activation (line 177) | def get_trading_tentacles_startup_activation(): function get_tentacle_documentation (line 185) | def get_tentacle_documentation(name, media_url, missing_tentacles: set =... function _get_strategy_activation_state (line 204) | def _get_strategy_activation_state( function _add_to_missing_tentacles_if_missing (line 255) | def _add_to_missing_tentacles_if_missing(tentacle_name: str, missing_ten... function _get_tentacle_packages (line 267) | def _get_tentacle_packages(): function _get_activation_state (line 286) | def _get_activation_state(name, activation_states): function is_trading_strategy_configuration (line 290) | def is_trading_strategy_configuration(tentacle_type): function get_tentacle_from_string (line 296) | def get_tentacle_from_string(name, media_url, with_info=True): function get_tentacle_user_commands (line 328) | def get_tentacle_user_commands(klass): function get_tentacle_config_and_user_inputs (line 332) | async def get_tentacle_config_and_user_inputs(tentacle_class, bot_config... function get_tentacle_config_and_edit_display (line 340) | def get_tentacle_config_and_edit_display(tentacle, tentacle_class=None, ... function are_automations_enabled (line 359) | def are_automations_enabled(): function is_advanced_interface_enabled (line 363) | def is_advanced_interface_enabled(): function restart_global_automations (line 367) | def restart_global_automations(): function get_all_automation_steps (line 374) | def get_all_automation_steps(): function has_at_least_one_running_automation (line 378) | def has_at_least_one_running_automation(): function get_automations_count (line 382) | def get_automations_count(): function reset_automation_config_to_default (line 386) | def reset_automation_config_to_default(): function get_tentacle_config (line 394) | def get_tentacle_config(klass): function get_cached_tentacle_config (line 398) | def get_cached_tentacle_config(klass): function get_tentacle_config_schema (line 410) | def get_tentacle_config_schema(klass): function _get_tentacle_activation_desc (line 419) | def _get_tentacle_activation_desc(name, activated, startup_val, media_ur... function _add_tentacles_activation_desc_for_group (line 428) | def _add_tentacles_activation_desc_for_group(activation_by_group, tentac... function get_extra_tentacles_config_desc (line 445) | def get_extra_tentacles_config_desc(media_url, missing_tentacles: set): function get_tentacles_activation_desc_by_group (line 466) | def get_tentacles_activation_desc_by_group(media_url, missing_tentacles:... function update_tentacle_config (line 484) | def update_tentacle_config(tentacle_name, config_update, tentacle_class=... function update_copied_trading_id (line 500) | def update_copied_trading_id(copy_id): function reset_config_to_default (line 510) | def reset_config_to_default(tentacle_name, tentacle_class=None, tentacle... function _get_required_element (line 527) | def _get_required_element(elements_config): function _add_strategy_requirements_and_default_config (line 538) | def _add_strategy_requirements_and_default_config(desc, klass): function _add_trading_mode_requirements_and_default_config (line 549) | def _add_trading_mode_requirements_and_default_config(desc, klass): function _add_strategies_requirements (line 565) | def _add_strategies_requirements(strategies, strategy_config): function _add_trading_modes_requirements (line 572) | def _add_trading_modes_requirements(trading_modes_list, strategy_config): function get_strategy_config (line 580) | def get_strategy_config( function get_in_backtesting_mode (line 594) | def get_in_backtesting_mode(): function accepted_terms (line 598) | def accepted_terms(): function accept_terms (line 602) | def accept_terms(accepted): function _fill_evaluator_config (line 606) | def _fill_evaluator_config(evaluator_name, activated, eval_type_key, function get_evaluator_detailed_config (line 624) | def get_evaluator_detailed_config(media_url, missing_tentacles: set, sin... function get_config_activated_trading_mode (line 676) | def get_config_activated_trading_mode(tentacles_setup_config=None): function get_config_activated_strategies (line 685) | def get_config_activated_strategies(tentacles_setup_config=None): function get_config_activated_evaluators (line 691) | def get_config_activated_evaluators(tentacles_setup_config=None): function has_futures_exchange (line 697) | def has_futures_exchange(): function update_tentacles_activation_config (line 704) | def update_tentacles_activation_config(new_config, deactivate_others=Fal... function get_active_exchanges (line 721) | def get_active_exchanges(): function _reset_profile_portfolio_history (line 725) | async def _reset_profile_portfolio_history(current_edited_config): function _handle_special_fields (line 756) | def _handle_special_fields(current_edited_config, new_config): function _handle_simulated_portfolio (line 779) | def _handle_simulated_portfolio(current_edited_config, new_config): function update_global_config (line 794) | def update_global_config(new_config, delete=False): function activate_metrics (line 810) | def activate_metrics(enable_metrics): function activate_beta_env (line 823) | def activate_beta_env(enable_beta): function get_metrics_enabled (line 834) | def get_metrics_enabled(): function get_beta_env_enabled_in_config (line 838) | def get_beta_env_enabled_in_config(): function get_services_list (line 844) | def get_services_list(): function get_notifiers_list (line 854) | def get_notifiers_list(): function get_enabled_trading_pairs (line 860) | def get_enabled_trading_pairs() -> set: function get_exchange_available_trading_pairs (line 868) | def get_exchange_available_trading_pairs(exchange_manager, profile=None)... function get_symbol_list (line 876) | def get_symbol_list(exchanges): function get_all_currencies (line 881) | def get_all_currencies(exchanges): function _get_filtered_exchange_symbols (line 891) | def _get_filtered_exchange_symbols(symbols): function _load_market (line 895) | async def _load_market(exchange, results): function _add_merged_exchanges (line 915) | def _add_merged_exchanges(exchanges): function _load_markets (line 924) | async def _load_markets(exchanges): function get_config_time_frames (line 953) | def get_config_time_frames() -> list: function get_timeframes_list (line 957) | def get_timeframes_list(exchanges): function get_strategy_required_time_frames (line 971) | def get_strategy_required_time_frames(strategy_class, tentacles_setup_co... function format_config_symbols (line 978) | def format_config_symbols(config): function format_config_symbols_without_enabled_key (line 986) | def format_config_symbols_without_enabled_key(config): function _is_legit_currency (line 996) | def _is_legit_currency(currency): function get_all_symbols_list (line 1000) | def get_all_symbols_list(): function get_all_symbols_list_by_symbol_type (line 1042) | def get_all_symbols_list_by_symbol_type(all_symbols, config_symbols): function get_exchange_logo (line 1074) | def get_exchange_logo(exchange_name): function _get_currency_logo_url (line 1096) | def _get_currency_logo_url(currency_id): function _fetch_currency_logo (line 1101) | async def _fetch_currency_logo(session, data_provider, currency_id): function _fetch_missing_currency_logos (line 1120) | async def _fetch_missing_currency_logos(data_provider, currency_ids): function get_currency_logo_urls (line 1133) | def get_currency_logo_urls(currency_ids): function get_traded_time_frames (line 1150) | def get_traded_time_frames(exchange_manager, strategies=None, tentacles_... function get_or_init_FULL_EXCHANGE_LIST (line 1166) | def get_or_init_FULL_EXCHANGE_LIST(): function auto_filled_exchanges (line 1177) | def auto_filled_exchanges(tentacles_setup_config=None): function get_full_exchange_list (line 1191) | def get_full_exchange_list(tentacles_setup_config=None): function get_full_configurable_exchange_list (line 1196) | def get_full_configurable_exchange_list(remove_config_exchanges=False): function get_default_exchange (line 1212) | def get_default_exchange(): function get_tested_exchange_list (line 1216) | def get_tested_exchange_list(): function get_simulated_exchange_list (line 1224) | def get_simulated_exchange_list(): function get_other_exchange_list (line 1232) | def get_other_exchange_list(remove_config_exchanges=False): function get_enabled_exchange_types (line 1242) | def get_enabled_exchange_types(config_exchanges): function get_exchanges_details (line 1250) | def get_exchanges_details(exchanges_config) -> dict: function get_compatibility_result (line 1271) | def get_compatibility_result(exchange_name, auth_success, compatible_acc... function _check_account_with_other_exchange_type_if_possible (line 1285) | async def _check_account_with_other_exchange_type_if_possible( function _fetch_is_compatible_account (line 1308) | async def _fetch_is_compatible_account(exchange_name, to_check_config, function are_compatible_accounts (line 1346) | def are_compatible_accounts(exchange_details: dict) -> dict: function _is_possible_exchange_config (line 1396) | def _is_possible_exchange_config(exchange_config): function _is_real_exchange_value (line 1405) | def _is_real_exchange_value(value): function get_current_exchange (line 1412) | def get_current_exchange(): function get_sandbox_exchanges (line 1419) | def get_sandbox_exchanges() -> list: function get_distribution (line 1427) | def get_distribution() -> octobot_enums.OctoBotDistribution: function change_reference_market_on_config_currencies (line 1431) | def change_reference_market_on_config_currencies(old_base_currency: str,... function _change_base (line 1454) | def _change_base(pair, new_quote_currency): function send_command_to_activated_tentacles (line 1460) | def send_command_to_activated_tentacles(command, wait_for_processing=True): function send_command_to_tentacles (line 1469) | def send_command_to_tentacles(command, tentacle_names: list, wait_for_pr... function reload_scripts (line 1482) | def reload_scripts(): function reload_activated_tentacles_config (line 1491) | def reload_activated_tentacles_config(): function reload_tentacle_config (line 1500) | def reload_tentacle_config(tentacle_name): function update_config_currencies (line 1509) | def update_config_currencies(currencies: dict, replace: bool=False): function get_config_required_candles_count (line 1548) | def get_config_required_candles_count(exchange_manager): function get_live_trading_enabled_exchange_managers (line 1552) | def get_live_trading_enabled_exchange_managers(): FILE: Services/Interfaces/web_interface/models/dashboard.py function parse_get_symbol (line 34) | def parse_get_symbol(get_symbol): function get_value_from_dict_or_string (line 38) | def get_value_from_dict_or_string(data): function format_trades (line 45) | def format_trades(dict_trade_history): function format_orders (line 86) | def format_orders(order, min_order_time): function _remove_invalid_chars (line 114) | def _remove_invalid_chars(string): function _get_candles_reply (line 118) | def _get_candles_reply(exchange, exchange_id, symbol, time_frame): function _get_first_exchange_identifiers (line 127) | def _get_first_exchange_identifiers(exchange_name=None, trading_exchange... function get_first_exchange_data (line 137) | def get_first_exchange_data(exchange_name=None, trading_exchange_only=Fa... function get_watched_symbol_data (line 141) | def get_watched_symbol_data(symbol): function _get_default_time_frame (line 163) | def _get_default_time_frame(exchange_name, exchange_id): function _is_symbol_data_available (line 173) | def _is_symbol_data_available(exchange_manager, symbol): function get_startup_messages (line 177) | def get_startup_messages(): function get_first_symbol_data (line 181) | def get_first_symbol_data(): function _create_candles_data (line 191) | def _create_candles_data(exchange_manager, symbol, time_frame, historica... function _ensure_time_frame (line 276) | def _ensure_time_frame(time_frame: str): function get_currency_price_graph_update (line 285) | def get_currency_price_graph_update(exchange_id, symbol, time_frame, lis... FILE: Services/Interfaces/web_interface/models/distributions/market_making/configuration.py function save_market_making_configuration (line 37) | def save_market_making_configuration( function get_market_making_services (line 56) | def get_market_making_services() -> dict: function _save_user_config (line 64) | def _save_user_config( function _filter_0_values (line 161) | def _filter_0_values(elements: dict) -> dict: function _save_tentacle_config (line 169) | def _save_tentacle_config( function _get_logger (line 185) | def _get_logger(): FILE: Services/Interfaces/web_interface/models/dsl.py function get_dsl_keywords_docs (line 22) | def get_dsl_keywords_docs() -> list[dsl_interpreter.OperatorDocs]: FILE: Services/Interfaces/web_interface/models/interface_settings.py function get_watched_symbols (line 24) | def get_watched_symbols(): function add_watched_symbol (line 33) | def add_watched_symbol(symbol): function remove_watched_symbol (line 41) | def remove_watched_symbol(symbol): function set_color_mode (line 50) | def set_color_mode(color_mode: str): function set_display_announcement (line 60) | def set_display_announcement(key: str, display: bool): function get_display_announcement (line 72) | def get_display_announcement(key: str) -> bool: function get_color_mode (line 81) | def get_color_mode() -> web_enums.ColorModes: function get_display_timeframe (line 87) | def get_display_timeframe(): function get_display_orders (line 94) | def get_display_orders(): function set_display_timeframe (line 98) | def set_display_timeframe(time_frame): function set_display_orders (line 105) | def set_display_orders(display_orders): function get_web_interface_config (line 112) | def get_web_interface_config(): function _save_edition (line 119) | def _save_edition(): function reload_config (line 129) | def reload_config(): function get_web_interface (line 133) | def get_web_interface(): FILE: Services/Interfaces/web_interface/models/json_schemas.py function get_json_simulated_portfolio (line 54) | def get_json_simulated_portfolio(user_config): function json_simulated_portfolio_to_config (line 65) | def json_simulated_portfolio_to_config(json_portfolio_config: list[dict]... function get_json_trading_simulator_config (line 111) | def get_json_trading_simulator_config(user_config: dict) -> dict: function get_json_exchanges_schema (line 119) | def get_json_exchanges_schema(exchanges: list[str]) -> dict: function get_json_exchange_config (line 161) | def get_json_exchange_config(user_config: dict): function json_exchange_config_to_config (line 172) | def json_exchange_config_to_config(json_exchanges_config: list[dict], en... function _get_exchange_config_from_json (line 178) | def _get_exchange_config_from_json(json_exchange_config: dict, enabled: ... FILE: Services/Interfaces/web_interface/models/logs.py function export_logs (line 23) | def export_logs(export_path): FILE: Services/Interfaces/web_interface/models/medias.py function _is_valid_path (line 23) | def _is_valid_path(path, header): function is_valid_tentacle_image_path (line 27) | def is_valid_tentacle_image_path(path): function is_valid_profile_image_path (line 32) | def is_valid_profile_image_path(path): function is_valid_audio_path (line 37) | def is_valid_audio_path(path): FILE: Services/Interfaces/web_interface/models/profiles.py function get_current_profile (line 39) | def get_current_profile(): function duplicate_profile (line 43) | def duplicate_profile(profile_id): function convert_to_live_profile (line 51) | def convert_to_live_profile(profile_id): function select_profile (line 57) | def select_profile(profile_id): function _select_and_save (line 61) | def _select_and_save(config, profile_id): function _update_edited_tentacles_config (line 67) | def _update_edited_tentacles_config(config): function get_profile (line 72) | def get_profile(profile_id): function get_tentacles_setup_config_from_profile_id (line 76) | def get_tentacles_setup_config_from_profile_id(profile_id): function get_tentacles_setup_config_from_profile (line 80) | def get_tentacles_setup_config_from_profile(profile): function get_profiles (line 86) | def get_profiles(profile_type: commons_enums.ProfileType = None): function _get_profile_setup_config (line 94) | def _get_profile_setup_config(profile, reloading_profile): function get_profiles_tentacles_details (line 110) | def get_profiles_tentacles_details(profiles_list): function update_profile (line 131) | def update_profile(profile_id, json_profile_desc, json_profile_content=N... function remove_profile (line 150) | def remove_profile(profile_id): function export_profile (line 162) | def export_profile(profile_id, export_path) -> str: function import_profile (line 166) | def import_profile(profile_path, name, profile_url=None): function import_strategy_as_profile (line 172) | def import_strategy_as_profile(authenticator, strategy: community.Strate... function download_and_import_profile (line 197) | def download_and_import_profile(profile_url): function get_profile_name (line 209) | def get_profile_name(profile_id) -> str: function get_forced_profile (line 213) | def get_forced_profile() -> profiles.Profile: function is_real_trading (line 229) | def is_real_trading(profile): FILE: Services/Interfaces/web_interface/models/strategy_optimizer.py function get_strategies_list (line 34) | def get_strategies_list(trading_mode): function get_time_frames_list (line 41) | def get_time_frames_list(strategy_name): function get_evaluators_list (line 53) | def get_evaluators_list(strategy_name): function get_risks_list (line 65) | def get_risks_list(): function cancel_optimizer (line 69) | def cancel_optimizer(): function start_optimizer (line 78) | def start_optimizer(strategy, time_frames, evaluators, risks): function get_optimizer_results (line 110) | def get_optimizer_results(): function get_optimizer_report (line 119) | def get_optimizer_report(): function get_current_run_params (line 127) | def get_current_run_params(): function get_optimizer_status (line 147) | def get_optimizer_status(): FILE: Services/Interfaces/web_interface/models/tentacles.py function get_tentacles_packages (line 27) | def get_tentacles_packages(): function call_tentacle_manager (line 32) | def call_tentacle_manager(coro, *args, **kwargs): function _add_version_to_tentacles_package_path (line 36) | def _add_version_to_tentacles_package_path(path_or_url, version): function get_official_tentacles_url (line 40) | def get_official_tentacles_url(use_beta_tentacles) -> str: function install_packages (line 46) | def install_packages(path_or_url=None, version=None, authenticator=None): function update_packages (line 72) | def update_packages(authenticator=None): function reset_packages (line 90) | def reset_packages(): function update_modules (line 99) | def update_modules(modules): function uninstall_modules (line 121) | def uninstall_modules(modules): function get_tentacles (line 129) | def get_tentacles(): FILE: Services/Interfaces/web_interface/models/trading.py function ensure_valid_exchange_id (line 36) | def ensure_valid_exchange_id(exchange_id) -> str: function get_exchange_watched_time_frames (line 43) | def get_exchange_watched_time_frames(exchange_id): function get_all_watched_time_frames (line 51) | def get_all_watched_time_frames(): function get_initializing_currencies_prices_set (line 59) | def get_initializing_currencies_prices_set(fetch_timeout): function get_evaluation (line 70) | def get_evaluation(symbol, exchange_name, exchange_id): function get_exchanges_load (line 87) | def get_exchanges_load(): function _add_exchange_portfolio (line 100) | def _add_exchange_portfolio(portfolio, exchange, holdings_per_symbol): function get_exchange_holdings_per_symbol (line 124) | def get_exchange_holdings_per_symbol(): function get_symbols_values (line 132) | def get_symbols_values(symbols, has_real_trader, has_simulated_trader): function _get_exchange_historical_portfolio (line 141) | def _get_exchange_historical_portfolio(exchange_manager, currency, time_... function _merge_all_exchanges_historical_portfolio (line 155) | def _merge_all_exchanges_historical_portfolio(currency, time_frame, from... function get_portfolio_historical_values (line 177) | def get_portfolio_historical_values(currency, time_frame=None, from_time... function _get_valid_pnl_history (line 187) | def _get_valid_pnl_history(exchange_manager, quote, symbol, since): function _is_valid_pnl (line 200) | def _is_valid_pnl(pnl): function _get_pnl_history (line 207) | def _get_pnl_history(exchange, quote, symbol, since): function get_pnl_history_symbols (line 223) | def get_pnl_history_symbols(exchange=None, quote=None, symbol=None, sinc... function _convert_timestamp (line 232) | def _convert_timestamp(timestamp): function get_pnl_history (line 236) | def get_pnl_history(exchange=None, quote=None, symbol=None, since=None, ... function _get_dumped_data (line 332) | def _get_dumped_data(real, simulated, dump_func): function _dump_order (line 369) | def _dump_order(order, is_simulated): function get_all_orders_data (line 395) | def get_all_orders_data(): function _convert_amount (line 399) | def _convert_amount(exchange_manager, amount, currency): function _dump_trade (line 406) | def _dump_trade(trade, is_simulated): function get_all_trades_data (line 430) | def get_all_trades_data(independent_backtesting=None): function _get_market (line 434) | def _get_market(symbol_str): function _dump_position (line 439) | def _dump_position(position, is_simulated): function get_all_positions_data (line 460) | def get_all_positions_data(): function clear_exchanges_orders_history (line 469) | def clear_exchanges_orders_history(simulated_only=False): function clear_exchanges_trades_history (line 474) | def clear_exchanges_trades_history(simulated_only=False): function clear_exchanges_transactions_history (line 479) | def clear_exchanges_transactions_history(simulated_only=False): function clear_exchanges_portfolio_history (line 484) | def clear_exchanges_portfolio_history(simulated_only=False, simulated_po... function _async_run_on_exchange_ids (line 496) | async def _async_run_on_exchange_ids(coro, exchange_ids, simulated_only,... function _run_on_exchange_ids (line 503) | def _run_on_exchange_ids(coro, simulated_only=False, **kwargs): function _sync_run_on_exchange_ids (line 509) | def _sync_run_on_exchange_ids(func, simulated_only=False, **kwargs): FILE: Services/Interfaces/web_interface/models/web_interface_tab.py class WebInterfaceTab (line 18) | class WebInterfaceTab: method __init__ (line 19) | def __init__( method is_available (line 28) | def is_available(self, has_open_source_package): FILE: Services/Interfaces/web_interface/plugins/abstract_plugin.py class AbstractWebInterfacePlugin (line 26) | class AbstractWebInterfacePlugin(tentacles_management.AbstractTentacle): method __init__ (line 35) | def __init__(self, name, url_prefix, plugin_folder, template_folder, s... method get_name (line 47) | def get_name(cls): method register_routes (line 50) | def register_routes(self): method get_tabs (line 53) | def get_tabs(self): method init_user_inputs_from_class (line 61) | def init_user_inputs_from_class(cls, inputs: dict) -> None: method is_configurable (line 67) | def is_configurable(cls): method blueprint_factory (line 73) | def blueprint_factory(self): method factory (line 85) | def factory(cls, **kwargs): method register (line 97) | def register(self, server_instance): method get_tentacle_config (line 104) | def get_tentacle_config(cls, tentacles_setup_config=None): method __str__ (line 109) | def __str__(self): FILE: Services/Interfaces/web_interface/plugins/plugin_management.py function register_all_plugins (line 23) | def register_all_plugins(server_instance, already_registered_plugins, **... function _get_all_plugins (line 51) | def _get_all_plugins() -> list: FILE: Services/Interfaces/web_interface/security.py function register_responses_extra_header (line 25) | def register_responses_extra_header(flask_app, high_security_level): function _prepare_response_extra_headers (line 44) | def _prepare_response_extra_headers(include_security_headers): function is_safe_url (line 68) | def is_safe_url(target): FILE: Services/Interfaces/web_interface/static/js/common/backtesting_util.js function start_backtesting (line 20) | function start_backtesting(request, update_url, success_callback=null){ function start_success_callback (line 25) | function start_success_callback(updated_data, update_url, dom_root_eleme... function start_error_callback (line 30) | function start_error_callback(updated_data, update_url, dom_root_element... function lock_interface (line 36) | function lock_interface(lock=true){ function load_report (line 48) | function load_report(report, should_alert=False) { function add_graphs (line 157) | function add_graphs(chart_identifiers){ function updateBacktestingProgress (line 179) | function updateBacktestingProgress(progress){ function refreshBacktestingStatus (line 183) | function refreshBacktestingStatus(){ function init_backtesting_status_websocket (line 187) | function init_backtesting_status_websocket(){ function _handle_backtesting (line 194) | function _handle_backtesting(backtesting_status_data){ FILE: Services/Interfaces/web_interface/static/js/common/bot_connection.js function init_status_websocket (line 19) | function init_status_websocket(){ function manage_alert (line 38) | function manage_alert(data){ function handle_route_button (line 69) | function handle_route_button(){ function send_and_interpret_bot_update (line 96) | function send_and_interpret_bot_update(updated_data, update_url, dom_roo... function isBotDisconnected (line 145) | function isBotDisconnected(){ function checkDisconnected (line 149) | async function checkDisconnected(){ function register_notification_callback (line 158) | function register_notification_callback(callback){ function registerReconnectedCallback (line 162) | function registerReconnectedCallback(callback){ FILE: Services/Interfaces/web_interface/static/js/common/candlesticks.js function get_symbol_price_graph (line 19) | function get_symbol_price_graph(element_id, exchange_id, exchange_name, ... function get_first_symbol_price_graph (line 71) | function get_first_symbol_price_graph(element_id, in_backtesting_mode=fa... function get_watched_symbol_price_graph (line 95) | function get_watched_symbol_price_graph(element, callback=undefined, no_... function create_candlesticks (line 127) | function create_candlesticks(candles){ function create_volume (line 150) | function create_volume(candles){ function create_trades (line 184) | function create_trades(trades, trader){ function create_orders (line 233) | function create_orders(orders, trader, firstTime, lastTime){ function update_trades (line 260) | function update_trades(trades, trader_name, reference_trades){ function update_last_candle (line 279) | function update_last_candle(to_update_candles, to_update_vols, new_candl... function create_layout (line 290) | function create_layout(graph_title){ function push_new_candle (line 331) | function push_new_candle(price_trace, volume_trace, candles, candle_inde... function create_or_update_candlestick_graph (line 343) | function create_or_update_candlestick_graph(element_id, symbol_price_dat... FILE: Services/Interfaces/web_interface/static/js/common/custom_elements.js function create_circular_progress_doughnut (line 19) | function create_circular_progress_doughnut(element, label1="% Done", lab... function create_doughnut_chart (line 39) | function create_doughnut_chart(element, data, title, displayLegend=true,... function create_line_chart (line 94) | function create_line_chart(element, data, title, fontColor='white', upda... function create_histogram_chart (line 160) | function create_histogram_chart(element, data, titleY1, titleY2, nameYAx... function update_circular_progress_doughnut (line 244) | function update_circular_progress_doughnut(chart, done, remaining){ function create_bars_chart (line 250) | function create_bars_chart(element, labels, datasets, min_y=0, displayLe... function update_bars_chart (line 288) | function update_bars_chart(chart, datasets){ FILE: Services/Interfaces/web_interface/static/js/common/data_collector_util.js function lock_collector_ui (line 19) | function lock_collector_ui(lock=true){ function _refreshDataCollectorStatus (line 31) | function _refreshDataCollectorStatus(socket){ function updateDataCollectorProgress (line 35) | function updateDataCollectorProgress(current_progress, total_progress){ function init_data_collector_status_websocket (line 46) | function init_data_collector_status_websocket(){ function _handle_data_collector_status (line 53) | function _handle_data_collector_status(data_collector_status_data, socket){ FILE: Services/Interfaces/web_interface/static/js/common/dom_updater.js function update_badge (line 19) | function update_badge(badge, new_text, new_class){ function update_list_item (line 32) | function update_list_item(list_item, new_class){ function update_element_required_marker_and_usability (line 38) | function update_element_required_marker_and_usability(element, display_m... function update_element_temporary_look (line 51) | function update_element_temporary_look(element){ function change_boolean (line 82) | function change_boolean(to_update_element, new_value, new_value_string){ function update_activated_deactivated_tentacles (line 103) | function update_activated_deactivated_tentacles(root_element, message, e... function update_dom (line 131) | function update_dom(root_element, message){ function create_alert (line 146) | function create_alert(a_level, a_title, a_msg, url="_blank", sound=null){ function lock_ui (line 171) | function lock_ui(){ function unlock_ui (line 176) | function unlock_ui(){ function update_status (line 181) | function update_status(status){ function register_exit_confirm_function (line 203) | function register_exit_confirm_function(check_function) { function remove_exit_confirm_function (line 212) | function remove_exit_confirm_function(){ function confirm_all_modified_classes (line 218) | function confirm_all_modified_classes(container){ function toggle_class (line 230) | function toggle_class(elem, class_type, toogle=true){ function toogle_deck_container_modified (line 238) | function toogle_deck_container_modified(container, modified=true) { function toogle_card_modified (line 242) | function toogle_card_modified(card, modified=true) { FILE: Services/Interfaces/web_interface/static/js/common/exchange_accounts.js function register_exchanges_checks (line 18) | function register_exchanges_checks(check_existing_accounts){ FILE: Services/Interfaces/web_interface/static/js/common/feedback.js function displayFeedbackForm (line 1) | function displayFeedbackForm(formId, userId, updateUrl) { FILE: Services/Interfaces/web_interface/static/js/common/json_editor_settings.js class OctoBotTheme (line 22) | class OctoBotTheme extends JSONEditor.defaults.themes.bootstrap4 { method getButton (line 23) | getButton(text, icon, title) { method getCheckbox (line 29) | getCheckbox() { method getCheckboxLabel (line 34) | getCheckboxLabel(text) { method getFormControl (line 39) | getFormControl(label, input, description) { method getIndentedPanel (line 59) | getIndentedPanel () { class ConfirmArray (line 79) | class ConfirmArray extends JSONEditor.defaults.editors.array { method askConfirmation (line 80) | askConfirmation() { FILE: Services/Interfaces/web_interface/static/js/common/resources_rendering.js function markdown_to_html (line 22) | function markdown_to_html(text) { function fetch_images (line 28) | function fetch_images() { function handleDefaultImage (line 44) | function handleDefaultImage(element, url){ function fetchCurrencyIds (line 68) | function fetchCurrencyIds(){ function handleDefaultImages (line 98) | function handleDefaultImages(){ function handle_copy_to_clipboard (line 183) | function handle_copy_to_clipboard() { FILE: Services/Interfaces/web_interface/static/js/common/stepper.js function updateProgress (line 19) | function updateProgress(){ function triggerCallbacksIfAny (line 24) | function triggerCallbacksIfAny(stepId){ function updateButtonsDisplay (line 30) | function updateButtonsDisplay(){ function getStep (line 47) | function getStep(stepId){ function getCurrentStep (line 51) | function getCurrentStep(){ function getCurrentStepId (line 55) | function getCurrentStepId(){ function getStepsCount (line 59) | function getStepsCount(){ function changeStep (line 63) | function changeStep(next){ function handleStepsButtons (line 76) | function handleStepsButtons(){ FILE: Services/Interfaces/web_interface/static/js/common/tables_display.js constant MAX_PRICE_DIGITS (line 1) | const MAX_PRICE_DIGITS = 8; FILE: Services/Interfaces/web_interface/static/js/common/tracking.js function posthog_loaded (line 1) | function posthog_loaded(posthog) { FILE: Services/Interfaces/web_interface/static/js/common/tutorial.js function getWebsiteLink (line 1) | function getWebsiteLink(route, name) { function getDocsLink (line 5) | function getDocsLink(route, name) { function getExchangesDocsLink (line 9) | function getExchangesDocsLink(route, name) { function registerTutorial (line 323) | function registerTutorial(tutorialName, callback){ function displayLocalTutorial (line 327) | function displayLocalTutorial(tutorialName, afterExitCallback){ function startTutorialIfNecessary (line 344) | function startTutorialIfNecessary(tutorialName, afterExitCallback=null) { FILE: Services/Interfaces/web_interface/static/js/common/util.js function get_websocket (line 19) | function get_websocket(namespace){ function getAudioMediaUrl (line 31) | function getAudioMediaUrl(mediaName){ function setup_editable (line 36) | function setup_editable(){ function get_color (line 40) | function get_color(index){ function get_dark_color (line 45) | function get_dark_color(index){ function handle_editable (line 50) | function handle_editable(){ function hide_editables (line 58) | function hide_editables(elements){ function trigger_file_downloader_on_click (line 65) | function trigger_file_downloader_on_click(element){ function replace_break_line (line 73) | function replace_break_line(str, replacement=""){ function replace_spaces (line 77) | function replace_spaces(str, replacement=""){ function get_selected_options (line 81) | function get_selected_options(element){ function isDefined (line 91) | function isDefined(thing){ function log (line 95) | function log(...texts){ function get_events (line 101) | function get_events(elem, event_type){ function add_event_if_not_already_added (line 109) | function add_event_if_not_already_added(elem, event_type, handler){ function updateProgressBar (line 115) | function updateProgressBar(elementId, progress){ function check_has_event_using_handler (line 119) | function check_has_event_using_handler(elem, event_type, handler){ function generic_request_success_callback (line 130) | function generic_request_success_callback(updated_data, update_url, dom_... function generic_request_failure_callback (line 138) | function generic_request_failure_callback(updated_data, update_url, dom_... function isMobileDisplay (line 146) | function isMobileDisplay() { function isMediumDisplay (line 150) | function isMediumDisplay() { function round_digits (line 177) | function round_digits(number, decimals) { function handle_numbers (line 186) | function handle_numbers(number) { function fix_config_values (line 208) | function fix_config_values(config, schema){ function getValueChangedFromRef (line 231) | function getValueChangedFromRef(newObject, refObject, allowUndefinedValu... function historyGoBack (line 265) | function historyGoBack() { function showModalIfAny (line 269) | function showModalIfAny(element){ function hideModalIfAny (line 275) | function hideModalIfAny(element){ function unique (line 305) | function unique(array){ function download_data (line 311) | function download_data(data, filename, content_type="application/json"){ function display_generic_modal (line 321) | function display_generic_modal(title, content, warning, yes_button_callb... function updateInputIfValue (line 344) | function updateInputIfValue(elementId, config, configKey, elementType){ function randomizeArray (line 361) | function randomizeArray(array) { function validateJSONEditor (line 365) | function validateJSONEditor(editor) { function getWebsiteUrl (line 377) | function getWebsiteUrl() { function getDocsUrl (line 381) | function getDocsUrl() { function getExchangesDocsUrl (line 385) | function getExchangesDocsUrl() { function paginatedSelect2 (line 389) | function paginatedSelect2(selectElement, options, pageSize){ function activate_tab (line 436) | function activate_tab(tabElement, nestedNavBar=undefined){ function selectFirstTab (line 449) | function selectFirstTab(nestedNavBar=undefined){ function copyToClipBoard (line 464) | function copyToClipBoard(name, value) { function sleep (line 475) | async function sleep(milliseconds) { FILE: Services/Interfaces/web_interface/static/js/components/advanced_matrix.js function init_select_filter (line 19) | function init_select_filter(){ FILE: Services/Interfaces/web_interface/static/js/components/backtesting.js function get_selected_files (line 21) | function get_selected_files(){ function handle_backtesting_buttons (line 36) | function handle_backtesting_buttons(){ function handle_file_selection (line 56) | function handle_file_selection(){ function check_date_range (line 88) | function check_date_range(){ function check_date_range_available (line 94) | function check_date_range_available() { function handle_date_selection (line 99) | function handle_date_selection(){ FILE: Services/Interfaces/web_interface/static/js/components/commands.js function load_commands_metadata (line 19) | function load_commands_metadata() { function setNoFeedback (line 41) | function setNoFeedback(feedbackButton){ function update_metrics_option (line 45) | function update_metrics_option(){ function update_beta_option (line 58) | function update_beta_option(){ function update_failure_callback (line 72) | function update_failure_callback(updated_data, update_url, dom_root_elem... FILE: Services/Interfaces/web_interface/static/js/components/community.js function disablePackagesOperations (line 19) | function disablePackagesOperations(should_lock=true){ function reloadTable (line 24) | function reloadTable(){ function registerPackagesEvents (line 33) | function registerPackagesEvents(){ function selectProfile (line 47) | function selectProfile(profileId) { function packagesOperationSuccessCallback (line 54) | function packagesOperationSuccessCallback(updated_data, update_url, dom_... function packagesOperationErrorCallback (line 64) | function packagesOperationErrorCallback(updated_data, update_url, dom_ro... function displayBotSelectorWhenNoSelectedBot (line 69) | function displayBotSelectorWhenNoSelectedBot(){ function disableBotsSelectAndCreate (line 76) | function disableBotsSelectAndCreate(disabled){ function initBotsCallbacks (line 81) | function initBotsCallbacks(){ function botOperationSuccessCallback (line 102) | function botOperationSuccessCallback(updated_data, update_url, dom_root_... function botOperationErrorCallback (line 107) | function botOperationErrorCallback(updated_data, update_url, dom_root_el... function initLoginSubmit (line 111) | function initLoginSubmit(){ FILE: Services/Interfaces/web_interface/static/js/components/config_tentacle.js function apply_evaluator_default_config (line 19) | function apply_evaluator_default_config(element) { function handle_apply_evaluator_default_config_success_callback (line 36) | function handle_apply_evaluator_default_config_success_callback(updated_... function updateTentacleConfig (line 41) | function updateTentacleConfig(updatedConfig, update_url){ function factory_reset (line 45) | function factory_reset(update_url){ function handle_tentacle_config_reset_success_callback (line 49) | function handle_tentacle_config_reset_success_callback(updated_data, upd... function handle_tentacle_config_update_success_callback (line 54) | function handle_tentacle_config_update_success_callback(updated_data, up... function handle_tentacle_config_update_error_callback (line 59) | function handle_tentacle_config_update_error_callback(updated_data, upda... function handleConfigDisplay (line 63) | function handleConfigDisplay(success){ function get_config_value_changed (line 87) | function get_config_value_changed(element, new_value) { function handle_save_buttons_success_callback (line 92) | function handle_save_buttons_success_callback(updated_data, update_url, ... function send_command_success_callback (line 97) | function send_command_success_callback(updated_data, update_url, dom_roo... function handle_save_button (line 101) | function handle_save_button(){ function handleUserCommands (line 127) | function handleUserCommands(){ function handleButtons (line 145) | function handleButtons() { function check_date_range (line 182) | function check_date_range(){ function get_config_key (line 188) | function get_config_key(elem){ function parse_new_value (line 192) | function parse_new_value(element) { function handle_evaluator_configuration_editor (line 196) | function handle_evaluator_configuration_editor(){ function something_is_unsaved (line 228) | function something_is_unsaved(){ function get_selected_files (line 238) | function get_selected_files(){ function canEditConfig (line 243) | function canEditConfig() { function _addGridDisplayOptions (line 254) | function _addGridDisplayOptions(schema){ function initConfigEditor (line 276) | function initConfigEditor(showWaiter) { function editorChangeCallback (line 339) | function editorChangeCallback(){ function addEditorChangeEventCallback (line 347) | function addEditorChangeEventCallback(callback){ FILE: Services/Interfaces/web_interface/static/js/components/configuration.js function handle_nested_sidenav (line 22) | function handle_nested_sidenav(){ function get_tabs_config (line 31) | function get_tabs_config(){ function handle_reset_buttons (line 36) | function handle_reset_buttons(){ function handle_remove_buttons (line 42) | function handle_remove_buttons(){ function handle_buttons (line 58) | function handle_buttons() { function check_deck_modifications (line 66) | function check_deck_modifications(deck){ function handle_add_buttons (line 74) | function handle_add_buttons(){ function handleEditableAddButtons (line 79) | function handleEditableAddButtons(){ function handleEditableRenameIfNotAlready (line 92) | function handleEditableRenameIfNotAlready(e, params){ function registerHandleEditableRenameIfNotAlready (line 113) | function registerHandleEditableRenameIfNotAlready(element, events, handl... function handleCardDecksAddButtons (line 123) | function handleCardDecksAddButtons(){ function handle_special_values (line 229) | function handle_special_values(currentElem){ function register_edit_events (line 258) | function register_edit_events(){ function card_edit_handler (line 271) | function card_edit_handler(e, params){ function something_is_unsaved (line 302) | function something_is_unsaved(){ function parse_new_value (line 312) | function parse_new_value(element){ function _save_config (line 354) | function _save_config(element, restart_after_save) { function handle_save_buttons (line 396) | function handle_save_buttons(){ function get_config_key (line 405) | function get_config_key(elem){ function get_card_config_key (line 409) | function get_card_config_key(card_component, config_type="global_config"){ function get_deck_container (line 414) | function get_deck_container(elem) { function get_card_container (line 418) | function get_card_container(elem) { function get_config_value_changed (line 422) | function get_config_value_changed(element, new_value, config_key) { function get_value_changed (line 436) | function get_value_changed(new_val, dom_conf_val, config_key){ function is_different_value (line 454) | function is_different_value(new_val, lower_case_new_val, dom_conf_val){ function has_element_already_been_updated (line 459) | function has_element_already_been_updated(config_key){ function has_update_already_been_applied (line 463) | function has_update_already_been_applied(lower_case_val, config_key){ function handle_save_buttons_success_callback (line 467) | function handle_save_buttons_success_callback(updated_data, update_url, ... function apply_evaluator_default_config (line 473) | function apply_evaluator_default_config(element) { function handle_apply_evaluator_default_config_success_callback (line 490) | function handle_apply_evaluator_default_config_success_callback(updated_... function other_element_activated (line 494) | function other_element_activated(root_element){ function deactivate_other_elements (line 499) | function deactivate_other_elements(element, root_element) { function updateTradingModeSummary (line 510) | function updateTradingModeSummary(selectedElement){ function updateStrategySelector (line 521) | function updateStrategySelector(required_elements){ function update_requirement_activation (line 536) | function update_requirement_activation(element) { function get_activated_strategies_count (line 556) | function get_activated_strategies_count() { function get_activated_trading_mode_min_strategies (line 560) | function get_activated_trading_mode_min_strategies(){ function check_evaluator_configuration (line 569) | function check_evaluator_configuration() { function handle_activation_configuration_editor (line 597) | function handle_activation_configuration_editor(){ function handle_import_currencies (line 670) | function handle_import_currencies(){ function handle_export_currencies_button (line 689) | function handle_export_currencies_button(){ function reset_configuration_element (line 699) | function reset_configuration_element(){ function updated_validated_updated_global_config (line 704) | function updated_validated_updated_global_config(updated_data){ function fetch_currencies (line 722) | function fetch_currencies(){ FILE: Services/Interfaces/web_interface/static/js/components/dashboard.js function _refresh_profitability (line 28) | function _refresh_profitability(socket) { function handle_profitability (line 33) | function handle_profitability(socket) { function get_in_backtesting_mode (line 82) | function get_in_backtesting_mode() { function init_dashboard_websocket (line 86) | function init_dashboard_websocket() { function get_version_upgrade (line 90) | function get_version_upgrade() { function handle_graph_update (line 113) | function handle_graph_update() { function _find_symbol_details (line 136) | function _find_symbol_details(symbol, exchange_id) { function update_graph (line 148) | function update_graph(data, re_update = true) { function init_updater (line 175) | function init_updater(exchange_id, symbol, time_frame, elem_id) { function enable_default_graph (line 197) | function enable_default_graph(time_frame) { function no_data_for_graph (line 204) | function no_data_for_graph(element_id) { function init_graphs (line 212) | function init_graphs() { function registerGraphUpdateCallback (line 279) | function registerGraphUpdateCallback(callback) { FILE: Services/Interfaces/web_interface/static/js/components/data_collector.js function handle_data_files_buttons (line 19) | function handle_data_files_buttons(){ function handle_file_selection (line 29) | function handle_file_selection(){ function delete_success_callback (line 37) | function delete_success_callback(updated_data, update_url, dom_root_elem... function delete_error_callback (line 44) | function delete_error_callback(updated_data, update_url, dom_root_elemen... function reload_table (line 48) | function reload_table(){ function start_collector (line 64) | function start_collector(){ function stop_collector (line 76) | function stop_collector(){ function collector_success_callback (line 81) | function collector_success_callback(updated_data, update_url, dom_root_e... function collector_error_callback (line 86) | function collector_error_callback(updated_data, update_url, dom_root_ele... function display_alert (line 91) | function display_alert(success, message){ function update_symbol_list (line 99) | function update_symbol_list(url, exchange){ function update_available_timeframes_list (line 112) | function update_available_timeframes_list(url, exchange){ function check_date_input (line 125) | function check_date_input(){ function is_full_candle_history_exchanges (line 142) | function is_full_candle_history_exchanges(){ function handleSelects (line 151) | function handleSelects(){ function createSelect2 (line 201) | function createSelect2(){ FILE: Services/Interfaces/web_interface/static/js/components/evaluator_configuration.js function get_tabs_config (line 19) | function get_tabs_config(){ function handle_reset_buttons (line 23) | function handle_reset_buttons(){ function something_is_unsaved (line 29) | function something_is_unsaved(){ function parse_new_value (line 39) | function parse_new_value(element){ function _save_eval_config (line 81) | function _save_eval_config(element, restart_after_save){ function handle_save_buttons (line 110) | function handle_save_buttons(){ function get_config_key (line 119) | function get_config_key(elem){ function get_config_value_changed (line 123) | function get_config_value_changed(element, new_value, config_key) { function get_value_changed (line 136) | function get_value_changed(new_val, dom_conf_val, config_key){ function handle_save_buttons_success_callback (line 148) | function handle_save_buttons_success_callback(updated_data, update_url, ... function handle_evaluator_configuration_editor (line 153) | function handle_evaluator_configuration_editor(){ function reset_configuration_element (line 193) | function reset_configuration_element(){ FILE: Services/Interfaces/web_interface/static/js/components/logs.js function handleLogsExporter (line 1) | function handleLogsExporter(){ FILE: Services/Interfaces/web_interface/static/js/components/market_status.js function get_in_backtesting_mode (line 20) | function get_in_backtesting_mode() { function init_update_handler (line 25) | function init_update_handler(){ function schedule_update (line 42) | function schedule_update(){ function update_graph (line 49) | function update_graph(exchange, update=false, data=undefined, re_update=... function change_time_frame (line 78) | function change_time_frame(new_time_frame) { FILE: Services/Interfaces/web_interface/static/js/components/navbar.js function trigger_trader_state (line 19) | function trigger_trader_state(element) { function displayTradingStateModal (line 58) | function displayTradingStateModal() { function hideTradingStateModal (line 62) | function hideTradingStateModal() { FILE: Services/Interfaces/web_interface/static/js/components/profile_management.js function handleProfileActivator (line 1) | function handleProfileActivator(){ function onProfileEdit (line 11) | function onProfileEdit(isEditing, profileSave){ function handleProfileEditor (line 17) | function handleProfileEditor(){ function saveCurrentProfileSuccessCallback (line 52) | function saveCurrentProfileSuccessCallback(updated_data, update_url, dom... function saveCurrentProfileFailureCallback (line 63) | function saveCurrentProfileFailureCallback(updated_data, update_url, dom... function handleProfileCreator (line 68) | function handleProfileCreator(){ function profileActionSuccessCallback (line 78) | function profileActionSuccessCallback(updated_data, update_url, dom_root... function profileActionFailureCallback (line 83) | function profileActionFailureCallback(updated_data, update_url, dom_root... function handleProfileImporter (line 87) | function handleProfileImporter(){ function handleProfileDownloader (line 101) | function handleProfileDownloader(){ function handleProfileExporter (line 114) | function handleProfileExporter(){ function selectCurrentProfile (line 118) | function selectCurrentProfile(profileNameDisplay){ function handleProfileSelector (line 124) | function handleProfileSelector(){ function handleProfileRemover (line 134) | function handleProfileRemover(){ FILE: Services/Interfaces/web_interface/static/js/components/strategy_optimizer.js function recompute_nb_iterations (line 19) | function recompute_nb_iterations(){ function check_disabled (line 26) | function check_disabled(lock=false){ function start_optimizer (line 38) | function start_optimizer(source){ function lock_inputs (line 51) | function lock_inputs(lock=true){ function start_optimizer_success_callback (line 77) | function start_optimizer_success_callback(data, update_url, source, msg,... function start_optimizer_error_callback (line 82) | function start_optimizer_error_callback(data, update_url, source, result... function populate_select (line 88) | function populate_select(element, options){ function update_strategy_params (line 99) | function update_strategy_params(url, strategy){ function updateOptimizerProgress (line 107) | function updateOptimizerProgress(progress, overall_progress){ function check_optimizer_state (line 118) | function check_optimizer_state(socket){ function handle_optimizer_state_update (line 122) | function handle_optimizer_state_update(data){ function init_websocket (line 279) | function init_websocket(){ function init_data_tables_and_refreshers (line 287) | function init_data_tables_and_refreshers(){ function register_events (line 322) | function register_events(){ FILE: Services/Interfaces/web_interface/static/js/components/tentacles_configuration.js function register_and_install_package (line 19) | function register_and_install_package(){ function disable_packages_operations (line 31) | function disable_packages_operations(should_lock=true){ function update (line 46) | function update(module){ function uninstall (line 50) | function uninstall(module){ function perform_modules_operation (line 56) | function perform_modules_operation(modules, operation){ function perform_packages_operation (line 63) | function perform_packages_operation(source){ function modules_operation_success_callback (line 70) | function modules_operation_success_callback(updated_data, update_url, do... function modules_operation_error_callback (line 82) | function modules_operation_error_callback(updated_data, update_url, dom_... function packages_operation_success_callback (line 94) | function packages_operation_success_callback(updated_data, update_url, d... function packages_operation_error_callback (line 103) | function packages_operation_error_callback(updated_data, update_url, dom... function post_package_action_success_callback (line 112) | function post_package_action_success_callback(updated_data, update_url, ... function post_package_action_error_callback (line 126) | function post_package_action_error_callback(updated_data, update_url, do... function get_selected_modules (line 136) | function get_selected_modules(){ function handle_tentacles_buttons (line 144) | function handle_tentacles_buttons(){ function disable_select_action_buttons (line 176) | function disable_select_action_buttons(){ FILE: Services/Interfaces/web_interface/static/js/components/trading.js function debouncedReloadDisplay (line 279) | function debouncedReloadDisplay(){ FILE: Services/Interfaces/web_interface/tests/__init__.py function _init_bot (line 53) | async def _init_bot(distribution: octobot.enums.OctoBotDistribution): function _start_web_interface (line 86) | def _start_web_interface(interface): function get_web_interface (line 92) | async def get_web_interface(require_password: bool, distribution: octobo... function check_page_no_login_redirect (line 119) | async def check_page_no_login_redirect(url, session): function check_page_login_redirect (line 134) | async def check_page_login_redirect(url, session): function get_plugins_routes (line 144) | def get_plugins_routes(web_interface_instance): function get_plugin_routes (line 155) | def get_plugin_routes(app, plugin, all_rules=None): function _force_validate_on_submit (line 163) | def _force_validate_on_submit(*_): function login_user_on_session (line 167) | async def login_user_on_session(session): function get_all_plugin_rules (line 178) | def get_all_plugin_rules(app, plugin_class, black_list): function _has_no_empty_params (line 188) | def _has_no_empty_params(rule): FILE: Services/Interfaces/web_interface/tests/distribution_tester.py class AbstractDistributionTester (line 26) | class AbstractDistributionTester: method test_browse_all_pages_no_required_password (line 34) | async def test_browse_all_pages_no_required_password(self): method _inner_test_browse_all_pages_no_required_password (line 38) | async def _inner_test_browse_all_pages_no_required_password(self, blac... method test_browse_all_pages_required_password_without_login (line 46) | async def test_browse_all_pages_required_password_without_login(self): method _inner_test_browse_all_pages_required_password_without_login (line 49) | async def _inner_test_browse_all_pages_required_password_without_login... method test_browse_all_pages_required_password_with_login (line 57) | async def test_browse_all_pages_required_password_with_login(self): method inner_test_browse_all_pages_required_password_with_login (line 60) | async def inner_test_browse_all_pages_required_password_with_login( method test_logout (line 78) | async def test_logout(self): method _get_all_native_rules (line 92) | def _get_all_native_rules(self, web_interface_instance, black_list=None): method _get_rule_url (line 107) | def _get_rule_url(self, rule: str): function _has_no_empty_params (line 115) | def _has_no_empty_params(rule): FILE: Services/Interfaces/web_interface/tests/distributions/test_default.py class TestDefaultDistribution (line 34) | class TestDefaultDistribution(distribution_tester.AbstractDistributionTe... method test_browse_all_pages_no_required_password (line 43) | async def test_browse_all_pages_no_required_password(self): method test_browse_all_pages_required_password_without_login (line 46) | async def test_browse_all_pages_required_password_without_login(self): method test_browse_all_pages_required_password_with_login (line 49) | async def test_browse_all_pages_required_password_with_login(self): FILE: Services/Interfaces/web_interface/tests/distributions/test_market_making.py class TestMarketMakingDistributionPlugin (line 32) | class TestMarketMakingDistributionPlugin(distribution_tester.AbstractDis... method test_browse_all_pages_no_required_password (line 41) | async def test_browse_all_pages_no_required_password(self): method test_browse_all_pages_required_password_without_login (line 44) | async def test_browse_all_pages_required_password_without_login(self): method test_browse_all_pages_required_password_with_login (line 47) | async def test_browse_all_pages_required_password_with_login(self): FILE: Services/Interfaces/web_interface/tests/plugin_tester.py class AbstractPluginTester (line 23) | class AbstractPluginTester: method test_browse_all_pages_no_required_password (line 29) | async def test_browse_all_pages_no_required_password(self): method test_browse_all_pages_required_password_without_login (line 38) | async def test_browse_all_pages_required_password_without_login(self): method test_browse_all_pages_required_password_with_login (line 47) | async def test_browse_all_pages_required_password_with_login(self): method _get_rules (line 65) | def _get_rules(self, web_interface_instance): FILE: Services/Interfaces/web_interface/util/browser_util.py function open_in_background_browser (line 21) | def open_in_background_browser(url): FILE: Services/Interfaces/web_interface/util/flask_util.py function get_rest_reply (line 20) | def get_rest_reply(json_message, code=200, content_type="application/jso... FILE: Services/Interfaces/web_interface/web.py class WebInterface (line 47) | class WebInterface(services_interfaces.AbstractWebInterface): method __init__ (line 64) | def __init__(self, config): method register_new_exchange_impl (line 87) | async def register_new_exchange_impl(self, exchange_id): method reload_config (line 91) | def reload_config(self, tentacles_setup_config=None): method _init_web_settings (line 96) | def _init_web_settings(self): method _web_trades_callback (line 133) | async def _web_trades_callback(exchange: str, exchange_id: str, crypto... method _web_orders_callback (line 141) | async def _web_orders_callback(exchange: str, exchange_id: str, crypto... method _web_ohlcv_empty_callback (line 146) | async def _web_ohlcv_empty_callback( method _register_on_channels (line 156) | async def _register_on_channels(self, exchange_id): method init_flask_plugins_and_config (line 165) | def init_flask_plugins_and_config(self, server_instance): method _handle_login (line 195) | def _handle_login(self, server_instance): method set_requires_password (line 199) | def set_requires_password(self, requires_password): method _register_routes (line 203) | def _register_routes(self, server_instance, distribution: octobot.enum... method _prepare_websocket (line 212) | def _prepare_websocket(self, server_instance): method _async_run (line 230) | async def _async_run(self) -> bool: method _open_web_interface_on_browser (line 265) | def _open_web_interface_on_browser(self): method _inner_start (line 273) | async def _inner_start(self): method stop (line 276) | async def stop(self): FILE: Services/Interfaces/web_interface/websockets/abstract_websocket_namespace_notifier.py class AbstractWebSocketNamespaceNotifier (line 25) | class AbstractWebSocketNamespaceNotifier(flask_socketio.Namespace, web_i... method __init__ (line 27) | def __init__(self, namespace=None): method all_clients_send_notifications (line 34) | def all_clients_send_notifications(self, **kwargs) -> bool: method on_connect (line 37) | def on_connect(self): method on_disconnect (line 40) | def on_disconnect(self, reason): method _has_clients (line 44) | def _has_clients(self): function websocket_with_login_required_when_activated (line 48) | def websocket_with_login_required_when_activated(func): FILE: Services/Interfaces/web_interface/websockets/backtesting.py class BacktestingNamespace (line 24) | class BacktestingNamespace(websockets.AbstractWebSocketNamespaceNotifier): method _get_backtesting_status (line 27) | def _get_backtesting_status(): method on_backtesting_status (line 32) | def on_backtesting_status(self): method all_clients_send_notifications (line 35) | def all_clients_send_notifications(self, **kwargs) -> bool: method on_connect (line 45) | def on_connect(self): FILE: Services/Interfaces/web_interface/websockets/dashboard.py class DashboardNamespace (line 28) | class DashboardNamespace(websockets.AbstractWebSocketNamespaceNotifier): method _get_profitability (line 31) | def _get_profitability(): method _format_new_data (line 59) | def _format_new_data(exchange_id=None, trades=None, order=None, symbol... method on_profitability (line 70) | def on_profitability(self): method all_clients_send_notifications (line 73) | def all_clients_send_notifications(self, **kwargs) -> bool: method on_candle_graph_update (line 87) | def on_candle_graph_update(self, data): method on_connect (line 103) | def on_connect(self): FILE: Services/Interfaces/web_interface/websockets/data_collector.py class DataCollectorNamespace (line 24) | class DataCollectorNamespace(websockets.AbstractWebSocketNamespaceNotifi... method _get_data_collector_status (line 27) | def _get_data_collector_status(): method on_data_collector_status (line 32) | def on_data_collector_status(self): method all_clients_send_notifications (line 35) | def all_clients_send_notifications(self, **kwargs) -> bool: method on_connect (line 45) | def on_connect(self): FILE: Services/Interfaces/web_interface/websockets/notifications.py class NotificationsNamespace (line 24) | class NotificationsNamespace(websockets.AbstractWebSocketNamespaceNotifi... method _get_update_data (line 27) | def _get_update_data(): method _client_context_send_notifications (line 33) | def _client_context_send_notifications(self): method all_clients_send_notifications (line 36) | def all_clients_send_notifications(self, **kwargs) -> bool: method on_connect (line 46) | def on_connect(self): FILE: Services/Interfaces/web_interface/websockets/strategy_optimizer.py class StrategyOptimizerNamespace (line 24) | class StrategyOptimizerNamespace(websockets.AbstractWebSocketNamespaceNo... method _get_strategy_optimizer_status (line 27) | def _get_strategy_optimizer_status(): method on_strategy_optimizer_status (line 38) | def on_strategy_optimizer_status(self): method all_clients_send_notifications (line 41) | def all_clients_send_notifications(self, **kwargs) -> bool: method on_connect (line 52) | def on_connect(self): FILE: Services/Notifiers/telegram_notifier/telegram.py class TelegramNotifier (line 22) | class TelegramNotifier(notifier.AbstractNotifier): method _handle_notification (line 27) | async def _handle_notification(self, notification: notification.Notifi... method _send_message (line 32) | async def _send_message(self, notification, text, use_markdown): method _get_message_text (line 51) | def _get_message_text(notification): FILE: Services/Notifiers/twitter_notifier/twitter.py class TwitterNotifier (line 23) | class TwitterNotifier: method _handle_notification (line 27) | async def _handle_notification(self, notification: notification.Notifi... method _send_regular_tweet (line 38) | async def _send_regular_tweet(self, notification): method _send_tweet_reply (line 43) | async def _send_tweet_reply(self, notification): method _get_tweet_text (line 53) | def _get_tweet_text(notification): FILE: Services/Notifiers/web_notifier/web.py class WebNotifier (line 22) | class WebNotifier(notifier.AbstractNotifier): method _handle_notification (line 26) | async def _handle_notification(self, notification: services_notificati... FILE: Services/Services_bases/google_service/google.py class GoogleService (line 20) | class GoogleService(services.AbstractService): method is_setup_correctly (line 22) | def is_setup_correctly(config): method get_is_enabled (line 26) | def get_is_enabled(config): method has_required_configuration (line 29) | def has_required_configuration(self): method get_endpoint (line 32) | def get_endpoint(self) -> None: method get_type (line 35) | def get_type(self) -> None: method prepare (line 38) | async def prepare(self) -> None: method get_successful_startup_message (line 41) | def get_successful_startup_message(self): FILE: Services/Services_bases/gpt_service/gpt.py class GPTService (line 53) | class GPTService(services.AbstractService): method get_fields_description (line 58) | def get_fields_description(self): method get_default_value (line 69) | def get_default_value(self): method __init__ (line 77) | def __init__(self): method create_message (line 93) | def create_message(role, content, model: str = None): method get_chat_completion (line 101) | async def get_chat_completion( method _get_client (line 129) | def _get_client(self) -> openai.AsyncOpenAI: method _is_of_series (line 135) | def _is_of_series(self, model: str, series: str) -> bool: method _is_minimal_params_model (line 145) | def _is_minimal_params_model(self, model: str) -> bool: method _get_signal_from_gpt (line 154) | async def _get_signal_from_gpt( method _get_signal_from_stored_signals (line 205) | def _get_signal_from_stored_signals( method _fetch_signal_from_stored_signals (line 218) | async def _fetch_signal_from_stored_signals( method store_signal_history (line 234) | def store_signal_history( method has_signal_history (line 250) | def has_signal_history( method _fetch_and_store_history (line 266) | async def _fetch_and_store_history( method is_setup_correctly (line 291) | def is_setup_correctly(config): method fetch_gpt_history (line 294) | async def fetch_gpt_history( method clear_signal_history (line 310) | def clear_signal_history(self): method allow_token_limit_update (line 313) | def allow_token_limit_update(self): method apply_daily_token_limit_if_possible (line 316) | def apply_daily_token_limit_if_possible(self, updated_limit: int): method _supported_history_url (line 321) | def _supported_history_url(self): method _ensure_rate_limit (line 324) | def _ensure_rate_limit(self): method _update_token_usage (line 335) | def _update_token_usage(self, consumed_tokens): method check_required_config (line 339) | def check_required_config(self, config): method has_required_configuration (line 348) | def has_required_configuration(self): method get_required_config (line 358) | def get_required_config(self): method get_help_page (line 362) | def get_help_page(cls) -> str: method get_type (line 365) | def get_type(self) -> str: method get_website_url (line 368) | def get_website_url(self): method get_logo (line 371) | def get_logo(self): method _get_api_key (line 374) | def _get_api_key(self): method _get_base_url (line 388) | def _get_base_url(self): method prepare (line 396) | async def prepare(self) -> None: method _is_healthy (line 429) | def _is_healthy(self): method get_successful_startup_message (line 432) | def get_successful_startup_message(self): method use_stored_signals_only (line 437) | def use_stored_signals_only(self): method stop (line 440) | async def stop(self): FILE: Services/Services_bases/reddit_service/reddit.py class RedditService (line 24) | class RedditService(services.AbstractService): method __init__ (line 28) | def __init__(self): method get_fields_description (line 32) | def get_fields_description(self): method get_default_value (line 38) | def get_default_value(self): method get_required_config (line 44) | def get_required_config(self): method get_help_page (line 48) | def get_help_page(cls) -> str: method is_setup_correctly (line 52) | def is_setup_correctly(config): method create_reddit_api (line 57) | def create_reddit_api(self): method prepare (line 71) | async def prepare(self): method get_type (line 78) | def get_type(self): method get_website_url (line 81) | def get_website_url(self): method get_endpoint (line 84) | def get_endpoint(self): method has_required_configuration (line 87) | def has_required_configuration(self): method get_successful_startup_message (line 93) | def get_successful_startup_message(self): method mocked_asyncpraw_ini (line 96) | def mocked_asyncpraw_ini(self): FILE: Services/Services_bases/telegram_api_service/telegram_api.py class TelegramApiService (line 31) | class TelegramApiService(services.AbstractService): method __init__ (line 38) | def __init__(self): method get_fields_description (line 46) | def get_fields_description(self): method get_default_value (line 53) | def get_default_value(self): method add_event_handler (line 60) | def add_event_handler(self, callback, event): method get_required_config (line 64) | def get_required_config(self): method get_read_only_info (line 67) | def get_read_only_info(self) -> list[services.ReadOnlyInfo]: method get_help_page (line 77) | def get_help_page(cls) -> str: method is_setup_correctly (line 81) | def is_setup_correctly(config): method prepare (line 86) | async def prepare(self): method is_running (line 108) | def is_running(self): method get_type (line 111) | def get_type(self): method get_website_url (line 114) | def get_website_url(self): method get_endpoint (line 117) | def get_endpoint(self): method get_brand_name (line 120) | def get_brand_name(self): method stop (line 123) | async def stop(self): method get_is_enabled (line 129) | def get_is_enabled(config): method has_required_configuration (line 133) | def has_required_configuration(self): method send_message_as_user (line 140) | async def send_message_as_user(self, content, markdown=False, reply_to... method download_media_from_message (line 153) | async def download_media_from_message(self, message, source=""): method get_successful_startup_message (line 160) | def get_successful_startup_message(self): FILE: Services/Services_bases/telegram_service/telegram.py class TelegramService (line 30) | class TelegramService(services.AbstractService): method __init__ (line 36) | def __init__(self): method get_fields_description (line 46) | def get_fields_description(self): method get_default_value (line 56) | def get_default_value(self): method get_required_config (line 63) | def get_required_config(self): method get_read_only_info (line 66) | def get_read_only_info(self) -> list[services.ReadOnlyInfo]: method get_help_page (line 74) | def get_help_page(cls) -> str: method is_setup_correctly (line 78) | def is_setup_correctly(config): method prepare (line 83) | async def prepare(self): method _start_app (line 110) | async def _start_app(self): method _start_bot (line 117) | async def _start_bot(self, polling_error_callback): method _stop_app (line 122) | async def _stop_app(self): method _stop_bot (line 128) | async def _stop_bot(self): method register_text_polling_handler (line 142) | def register_text_polling_handler(self, chat_types: telegram.constants... method text_handler (line 146) | async def text_handler(self, update: telegram.Update, context: telegra... method add_text_handler (line 153) | def add_text_handler(self): method add_handlers (line 158) | def add_handlers(self, handlers): method add_error_handler (line 161) | def add_error_handler(self, handler): method is_registered (line 164) | def is_registered(self, user_key): method register_user (line 167) | def register_user(self, user_key): method start_bot (line 170) | async def start_bot(self, polling_error_callback): method is_running (line 179) | def is_running(self): method get_type (line 182) | def get_type(self): method get_website_url (line 185) | def get_website_url(self): method get_endpoint (line 188) | def get_endpoint(self): method stop (line 191) | async def stop(self): method get_is_enabled (line 198) | def get_is_enabled(config): method has_required_configuration (line 202) | def has_required_configuration(self): method send_message (line 209) | async def send_message(self, content, markdown=False, reply_to_message... method _fetch_bot_url (line 235) | def _fetch_bot_url(self): method get_successful_startup_message (line 239) | def get_successful_startup_message(self): FILE: Services/Services_bases/trading_view_service/trading_view.py class TradingViewService (line 26) | class TradingViewService(services.AbstractService): method __init__ (line 27) | def __init__(self): method is_setup_correctly (line 35) | def is_setup_correctly(config): method get_is_enabled (line 39) | def get_is_enabled(config): method has_required_configuration (line 42) | def has_required_configuration(self): method get_required_config (line 45) | def get_required_config(self): method get_fields_description (line 53) | def get_fields_description(self): method get_default_value (line 68) | def get_default_value(self): method is_improved_by_extensions (line 76) | def is_improved_by_extensions(self) -> bool: method get_read_only_info (line 79) | def get_read_only_info(self) -> list[services.ReadOnlyInfo]: method get_help_page (line 105) | def get_help_page(cls) -> str: method get_endpoint (line 108) | def get_endpoint(self) -> None: method get_type (line 111) | def get_type(self) -> None: method get_website_url (line 114) | def get_website_url(self): method get_logo (line 117) | def get_logo(self): method prepare (line 120) | async def prepare(self) -> None: method get_security_token (line 151) | def get_security_token(pin_code): method register_webhook_url (line 160) | def register_webhook_url(self, webhook_url): method get_successful_startup_message (line 163) | def get_successful_startup_message(self): FILE: Services/Services_bases/twitter_service/twitter.py class TwitterService (line 32) | class TwitterService: method __init__ (line 38) | def __init__(self): method get_fields_description (line 43) | def get_fields_description(self): method get_default_value (line 51) | def get_default_value(self): method get_required_config (line 59) | def get_required_config(self): method get_read_only_info (line 62) | def get_read_only_info(self) -> list[services.ReadOnlyInfo]: method get_help_page (line 70) | def get_help_page(cls) -> str: method is_setup_correctly (line 74) | def is_setup_correctly(config): method get_user_id (line 79) | def get_user_id(self, user_account): method get_history (line 83) | def get_history(self, user_id): method prepare (line 86) | async def prepare(self): method get_type (line 100) | def get_type(self): method get_website_url (line 103) | def get_website_url(self): method get_endpoint (line 106) | def get_endpoint(self): method has_required_configuration (line 109) | def has_required_configuration(self): method decode_tweet (line 116) | def decode_tweet(tweet): method post (line 123) | async def post(self, content, error_on_failure=True): method respond (line 134) | async def respond(self, tweet_id, content, error_on_failure=True): method split_if_necessary_and_send_tweet (line 145) | def split_if_necessary_and_send_tweet(self, content, counter=None, cou... method get_tweet_text (line 178) | def get_tweet_text(self, tweet): method get_twitter_id_from_url (line 186) | def get_twitter_id_from_url(url): method get_tweet (line 189) | def get_tweet(self, tweet_id): method _fetch_twitter_url (line 192) | def _fetch_twitter_url(self): method get_successful_startup_message (line 196) | def get_successful_startup_message(self): FILE: Services/Services_bases/web_service/web.py class WebService (line 29) | class WebService(services.AbstractService): method __init__ (line 32) | def __init__(self): method get_fields_description (line 38) | def get_fields_description(self): method get_default_value (line 50) | def get_default_value(self): method get_required_config (line 58) | def get_required_config(self): method get_help_page (line 62) | def get_help_page(cls) -> str: method is_setup_correctly (line 66) | def is_setup_correctly(config): method get_is_enabled (line 72) | def get_is_enabled(config): method has_required_configuration (line 80) | def has_required_configuration(self): method get_endpoint (line 83) | def get_endpoint(self) -> None: method get_type (line 86) | def get_type(self) -> None: method get_website_url (line 89) | def get_website_url(self): method get_logo (line 92) | def get_logo(self): method prepare (line 95) | async def prepare(self) -> None: method get_should_warn (line 116) | def get_should_warn(): method stop (line 119) | async def stop(self): method _get_web_server_port (line 123) | def _get_web_server_port(self): method _get_web_server_url (line 133) | def _get_web_server_url(self): method get_successful_startup_message (line 144) | def get_successful_startup_message(self): FILE: Services/Services_bases/webhook_service/webhook.py class WebHookService (line 37) | class WebHookService(services.AbstractService): method get_fields_description (line 41) | def get_fields_description(self): method get_default_value (line 54) | def get_default_value(self): method is_improved_by_extensions (line 66) | def is_improved_by_extensions(self) -> bool: method __init__ (line 69) | def __init__(self): method is_setup_correctly (line 91) | def is_setup_correctly(config): method get_is_enabled (line 97) | def get_is_enabled(config): method check_required_config (line 100) | def check_required_config(self, config): method has_required_configuration (line 120) | def has_required_configuration(self): method is_using_octobot_cloud_webhook (line 126) | def is_using_octobot_cloud_webhook(self): method is_using_octobot_cloud_email_webhook (line 129) | def is_using_octobot_cloud_email_webhook(self): method get_webhook_config (line 136) | def get_webhook_config(self): method get_required_config (line 139) | def get_required_config(self): method get_help_page (line 144) | def get_help_page(cls) -> str: method get_type (line 147) | def get_type(self) -> None: method get_logo (line 150) | def get_logo(self): method is_subscribed (line 153) | def is_subscribed(self, feed_name): method connect (line 157) | def connect(port, protocol="http", domain=None) -> ngrok.NgrokTunnel: method subscribe_feed (line 166) | def subscribe_feed(self, service_feed_name, service_feed_callback, aut... method get_subscribe_url (line 179) | def get_subscribe_url(self, service_feed_name): method _prepare_webhook_server (line 186) | def _prepare_webhook_server(self): method _register_webhook_routes (line 200) | def _register_webhook_routes(self, blueprint) -> None: method _flask_webhook_call (line 212) | def _flask_webhook_call(self, webhook_name): method _community_webhook_call_factory (line 220) | def _community_webhook_call_factory(self, service_name: str): method _default_webhook_call (line 229) | def _default_webhook_call(self, webhook_name: str, data: str) -> bool: method _async_default_webhook_call (line 235) | async def _async_default_webhook_call(self, webhook_name: str, data: s... method is_valid_webhook_call (line 241) | def is_valid_webhook_call(self, webhook_name:str , data: str): method is_using_cloud_webhooks (line 251) | def is_using_cloud_webhooks(self): method prepare (line 254) | async def prepare(self) -> None: method _start_server (line 290) | def _start_server(self): method _start_isolated_server (line 307) | async def _start_isolated_server(self): method _register_on_web_interface (line 325) | async def _register_on_web_interface(self): method _get_community_feed_webhook_url (line 341) | def _get_community_feed_webhook_url(self) -> str: method _register_on_community_feed (line 349) | async def _register_on_community_feed(self): method start_webhooks (line 370) | async def start_webhooks(self) -> bool: method _is_healthy (line 384) | def _is_healthy(self): method get_successful_startup_message (line 392) | def get_successful_startup_message(self): method stop (line 400) | async def stop(self): FILE: Services/Services_feeds/google_service_feed/google_feed.py class GoogleServiceFeedChannel (line 29) | class GoogleServiceFeedChannel(services_channel.AbstractServiceFeedChann... class TrendTopic (line 33) | class TrendTopic: method __init__ (line 34) | def __init__(self, refresh_time, keywords, category=0, time_frame="tod... method __str__ (line 47) | def __str__(self): class GoogleServiceFeed (line 51) | class GoogleServiceFeed(service_feeds.AbstractServiceFeed): method __init__ (line 55) | def __init__(self, config, main_async_loop, bot_id): method _initialize (line 60) | def _initialize(self): method update_feed_config (line 66) | def update_feed_config(self, config): method _something_to_watch (line 71) | def _something_to_watch(self): method _get_sleep_time_before_next_wakeup (line 74) | def _get_sleep_time_before_next_wakeup(self): method _get_topic_trend (line 78) | async def _get_topic_trend(self, topic): method _push_update_and_wait (line 88) | async def _push_update_and_wait(self): method _update_loop (line 102) | async def _update_loop(self): method _start_service_feed (line 117) | async def _start_service_feed(self): FILE: Services/Services_feeds/reddit_service_feed/reddit_feed.py class RedditServiceFeedChannel (line 28) | class RedditServiceFeedChannel(services_channel.AbstractServiceFeedChann... class RedditServiceFeed (line 32) | class RedditServiceFeed(service_feeds.AbstractServiceFeed): method __init__ (line 38) | def __init__(self, config, main_async_loop, bot_id): method update_feed_config (line 47) | def update_feed_config(self, config): method _init_subreddits (line 56) | def _init_subreddits(self): method _initialize (line 66) | def _initialize(self): method _something_to_watch (line 70) | def _something_to_watch(self): method _get_entry_weight (line 75) | def _get_entry_weight(entry_age): method _start_listener (line 93) | async def _start_listener(self): method _start_listener_task (line 114) | async def _start_listener_task(self): method _start_service_feed (line 153) | async def _start_service_feed(self): method stop (line 157) | async def stop(self): FILE: Services/Services_feeds/telegram_api_service_feed/telegram_api_feed.py class TelegramApiServiceFeedChannel (line 24) | class TelegramApiServiceFeedChannel(services_channel.AbstractServiceFeed... class TelegramApiServiceFeed (line 28) | class TelegramApiServiceFeed(service_feeds.AbstractServiceFeed): method __init__ (line 32) | def __init__(self, config, main_async_loop, bot_id): method update_feed_config (line 38) | def update_feed_config(self, config): method _add_event_handler (line 41) | def _add_event_handler(self): method message_handler (line 44) | async def message_handler(self, event): method get_display_name (line 68) | def get_display_name(self, entity): method _something_to_watch (line 82) | def _something_to_watch(self): method _get_service_layer_service_feed (line 86) | def _get_service_layer_service_feed(): method _initialize (line 89) | def _initialize(self): method _start_service_feed (line 92) | async def _start_service_feed(self): FILE: Services/Services_feeds/telegram_service_feed/telegram_feed.py class TelegramServiceFeedChannel (line 25) | class TelegramServiceFeedChannel(services_channel.AbstractServiceFeedCha... class TelegramServiceFeed (line 29) | class TelegramServiceFeed(service_feeds.AbstractServiceFeed): method __init__ (line 35) | def __init__(self, config, main_async_loop, bot_id): method update_feed_config (line 44) | def update_feed_config(self, config): method set_listen_to_all_groups_and_channels (line 52) | def set_listen_to_all_groups_and_channels(self, activate=True): method _register_to_service (line 55) | def _register_to_service(self): method _feed_callback (line 60) | async def _feed_callback(self, update: telegram.Update, _: telegram.ex... method _something_to_watch (line 78) | def _something_to_watch(self): method _get_service_layer_service_feed (line 83) | def _get_service_layer_service_feed(): method _initialize (line 86) | def _initialize(self): method _start_service_feed (line 89) | async def _start_service_feed(self): FILE: Services/Services_feeds/trading_view_service_feed/trading_view_feed.py class TradingViewServiceFeedChannel (line 23) | class TradingViewServiceFeedChannel(services_channel.AbstractServiceFeed... class TradingViewServiceFeed (line 27) | class TradingViewServiceFeed(service_feeds.AbstractServiceFeed): method __init__ (line 31) | def __init__(self, config, main_async_loop, bot_id): method _something_to_watch (line 36) | def _something_to_watch(self): method ensure_callback_auth (line 39) | def ensure_callback_auth(self, data) -> bool: method webhook_callback (line 49) | def webhook_callback(self, data): method async_webhook_callback (line 57) | async def async_webhook_callback(self, data): method _register_to_service (line 65) | def _register_to_service(self): method _initialize (line 73) | def _initialize(self): method _start_service_feed (line 76) | async def _start_service_feed(self): FILE: Services/Services_feeds/twitter_service_feed/twitter_feed.py class TwitterServiceFeedChannel (line 28) | class TwitterServiceFeedChannel: class TwitterServiceFeed (line 34) | class TwitterServiceFeed: method __init__ (line 38) | def __init__(self, config, main_async_loop, bot_id): method _inner_start (line 45) | async def _inner_start(self) -> bool: method update_feed_config (line 50) | def update_feed_config(self, config): method _init_users_accounts (line 67) | def _init_users_accounts(self): method _init_hashtags (line 78) | def _init_hashtags(self): method _initialize (line 84) | def _initialize(self): method _something_to_watch (line 90) | def _something_to_watch(self): method _start_listener (line 96) | async def _start_listener(self): method _start_service_feed (line 112) | async def _start_service_feed(self): FILE: Trading/Exchange/ascendex/ascendex_exchange.py class AscendEx (line 24) | class AscendEx(exchanges.RestExchange): method get_name (line 47) | def get_name(cls): method get_adapter_class (line 50) | def get_adapter_class(self): method switch_to_account (line 53) | async def switch_to_account(self, account_type): method parse_account (line 57) | def parse_account(self, account): method get_my_recent_trades (line 60) | async def get_my_recent_trades(self, symbol=None, since=None, limit=No... method get_symbol_prices (line 64) | async def get_symbol_prices(self, class AscendexCCXTAdapter (line 76) | class AscendexCCXTAdapter(exchanges.CCXTAdapter): method fix_ticker (line 78) | def fix_ticker(self, raw, **kwargs): FILE: Trading/Exchange/ascendex_websocket_feed/ascendex_websocket.py class AscendexCCXTWebsocketConnector (line 21) | class AscendexCCXTWebsocketConnector(exchanges.CCXTWebsocketConnector): method get_name (line 30) | def get_name(cls): method get_adapter_class (line 33) | def get_adapter_class(self, adapter_class): FILE: Trading/Exchange/ascendex_websocket_feed/tests/test_unauthenticated_mocked_feeds.py function test_start_spot_websocket (line 30) | async def test_start_spot_websocket(): FILE: Trading/Exchange/binance/binance_exchange.py class BinanceMarkets (line 35) | class BinanceMarkets(enum.Enum): class Binance (line 41) | class Binance(exchanges.RestExchange): method __init__ (line 124) | def __init__( method get_name (line 132) | def get_name(cls): method get_adapter_class (line 135) | def get_adapter_class(self): method get_default_reference_market (line 139) | def get_default_reference_market(exchange_name: str) -> str: method supports_native_edit_order (line 142) | def supports_native_edit_order(self, order_type: trading_enums.TraderO... method get_account_id (line 151) | async def get_account_id(self, **kwargs: dict) -> str: method get_max_orders_count (line 166) | def get_max_orders_count(self, symbol: str, order_type: trading_enums.... method uses_demo_trading_instead_of_sandbox (line 204) | def uses_demo_trading_instead_of_sandbox(self) -> bool: method _infer_account_types (line 209) | def _infer_account_types(self, exchange_manager): method get_supported_exchange_types (line 235) | def get_supported_exchange_types(cls) -> list: method get_additional_connector_config (line 244) | def get_additional_connector_config(self): method is_authenticated_request (line 261) | def is_authenticated_request(self, url: str, method: str, headers: dic... method get_balance (line 273) | async def get_balance(self, **kwargs: dict): method get_order_additional_params (line 284) | def get_order_additional_params(self, order) -> dict: method order_request_kwargs_factory (line 290) | def order_request_kwargs_factory( method fetch_stop_order_in_different_request (line 315) | def fetch_stop_order_in_different_request(self, symbol: str) -> bool: method _create_market_sell_order (line 320) | async def _create_market_sell_order( method set_symbol_partial_take_profit_stop_loss (line 328) | async def set_symbol_partial_take_profit_stop_loss(self, symbol: str, ... method get_positions (line 334) | async def get_positions(self, symbols=None, **kwargs: dict) -> list: method get_position (line 345) | async def get_position(self, symbol: str, **kwargs: dict) -> dict: method get_symbol_leverage (line 350) | async def get_symbol_leverage(self, symbol: str, **kwargs: dict): method get_all_currencies_price_ticker (line 358) | async def get_all_currencies_price_ticker(self, **kwargs: dict) -> typ... method set_symbol_margin_type (line 366) | async def set_symbol_margin_type(self, symbol: str, isolated: bool, **... class BinanceCCXTAdapter (line 379) | class BinanceCCXTAdapter(exchanges.CCXTAdapter): method fix_order (line 390) | def fix_order(self, raw, symbol=None, **kwargs): method _adapt_order_type (line 398) | def _adapt_order_type(self, fixed): method fix_trades (line 437) | def fix_trades(self, raw, **kwargs): method parse_position (line 443) | def parse_position(self, fixed, force_empty=False, **kwargs): method parse_leverage (line 450) | def parse_leverage(self, fixed, **kwargs): method parse_funding_rate (line 457) | def parse_funding_rate(self, fixed, from_ticker=False, **kwargs): function _filter_positions (line 479) | def _filter_positions(positions): FILE: Trading/Exchange/binance/tests/test_sandbox.py function _test_spot_rest (line 30) | async def _test_spot_rest(): FILE: Trading/Exchange/binance_websocket_feed/binance_websocket.py class BinanceCCXTWebsocketConnector (line 22) | class BinanceCCXTWebsocketConnector(exchanges.CCXTWebsocketConnector): method get_name (line 31) | def get_name(cls): method get_adapter_class (line 34) | def get_adapter_class(self, adapter_class): FILE: Trading/Exchange/binance_websocket_feed/tests/test_unauthenticated_mocked_feeds.py function test_start_spot_websocket (line 30) | async def test_start_spot_websocket(): FILE: Trading/Exchange/binanceus/binanceus_exchange.py class BinanceUS (line 22) | class BinanceUS(binance_tentacle.Binance): method get_name (line 56) | def get_name(cls): method get_supported_exchange_types (line 60) | def get_supported_exchange_types(cls) -> list: method get_default_reference_market (line 69) | def get_default_reference_market(exchange_name: str) -> str: method get_additional_connector_config (line 72) | def get_additional_connector_config(self): method get_account_id (line 89) | async def get_account_id(self, **kwargs: dict) -> str: FILE: Trading/Exchange/binanceus_websocket_feed/binanceus_websocket.py class BinanceUSCCXTFeedConnector (line 20) | class BinanceUSCCXTFeedConnector(binance_websocket.BinanceCCXTWebsocketC... method get_name (line 22) | def get_name(cls): FILE: Trading/Exchange/binanceus_websocket_feed/tests/test_unauthenticated_mocked_feeds.py function test_start_spot_websocket (line 30) | async def test_start_spot_websocket(): FILE: Trading/Exchange/bingx/bingx_exchange.py class BingxConnector (line 24) | class BingxConnector(ccxt_connector.CCXTConnector): method _create_client (line 25) | def _create_client(self, force_unauth=False): class Bingx (line 30) | class Bingx(exchanges.RestExchange): method get_adapter_class (line 104) | def get_adapter_class(self): method get_name (line 108) | def get_name(cls) -> str: method get_account_id (line 111) | async def get_account_id(self, **kwargs: dict) -> str: method get_max_orders_count (line 116) | def get_max_orders_count(self, symbol: str, order_type: trading_enums.... method get_my_recent_trades (line 120) | async def get_my_recent_trades(self, symbol=None, since=None, limit=No... method is_authenticated_request (line 126) | def is_authenticated_request(self, url: str, method: str, headers: dic... class BingxCCXTAdapter (line 133) | class BingxCCXTAdapter(exchanges.CCXTAdapter): method _update_stop_order_or_trade_type_and_price (line 135) | def _update_stop_order_or_trade_type_and_price(self, order_or_trade: d... method fix_order (line 176) | def fix_order(self, raw, **kwargs): method fix_trades (line 186) | def fix_trades(self, raw, **kwargs): method fix_market_status (line 192) | def fix_market_status(self, raw, remove_price_limits=False, **kwargs): FILE: Trading/Exchange/bingx_websocket_feed/bingx_websocket.py class BingxCCXTWebsocketConnector (line 21) | class BingxCCXTWebsocketConnector(exchanges.CCXTWebsocketConnector): method get_name (line 30) | def get_name(cls): method get_adapter_class (line 35) | def get_adapter_class(self, adapter_class): FILE: Trading/Exchange/bitfinex/bitfinex_exchange.py class Bitfinex (line 24) | class Bitfinex(exchanges.RestExchange): method get_name (line 33) | def get_name(cls): method get_adapter_class (line 36) | def get_adapter_class(self): method get_symbol_prices (line 39) | async def get_symbol_prices(self, symbol, time_frame, limit: int = 500... method get_kline_price (line 48) | async def get_kline_price(self, symbol: str, time_frame: octobot_commo... method get_order_book (line 52) | async def get_order_book(self, symbol, limit=DEFAULT_ORDER_BOOK_LIMIT,... class BitfinexCCXTAdapter (line 59) | class BitfinexCCXTAdapter(exchanges.CCXTAdapter): method fix_ticker (line 61) | def fix_ticker(self, raw, **kwargs): FILE: Trading/Exchange/bitfinex_websocket_feed/bitfinex_websocket.py class BitfinexCCXTWebsocketConnector (line 21) | class BitfinexCCXTWebsocketConnector(exchanges.CCXTWebsocketConnector): method get_name (line 30) | def get_name(cls): FILE: Trading/Exchange/bitfinex_websocket_feed/tests/test_unauthenticated_mocked_feeds.py function test_start_spot_websocket (line 31) | async def test_start_spot_websocket(): FILE: Trading/Exchange/bitget/bitget_exchange.py class Bitget (line 21) | class Bitget(exchanges.RestExchange): method get_name (line 31) | def get_name(cls): method get_adapter_class (line 34) | def get_adapter_class(self): method get_additional_connector_config (line 37) | def get_additional_connector_config(self): class BitgetCCXTAdapter (line 47) | class BitgetCCXTAdapter(exchanges.CCXTAdapter): method fix_order (line 49) | def fix_order(self, raw, **kwargs): method fix_trades (line 54) | def fix_trades(self, raw, **kwargs): FILE: Trading/Exchange/bitget_websocket_feed/bitget_websocket.py class BitgetCCXTWebsocketConnector (line 21) | class BitgetCCXTWebsocketConnector(exchanges.CCXTWebsocketConnector): method get_name (line 30) | def get_name(cls): method get_adapter_class (line 33) | def get_adapter_class(self, adapter_class): FILE: Trading/Exchange/bithumb/bithumb_exchange.py class Bithumb (line 19) | class Bithumb(exchanges.RestExchange): method get_name (line 23) | def get_name(cls): method get_symbol_prices (line 26) | async def get_symbol_prices(self, symbol, time_frame, limit: int = Non... FILE: Trading/Exchange/bitmart/bitmart_exchange.py class BitMartConnector (line 25) | class BitMartConnector(exchanges.CCXTConnector): method _client_factory (line 27) | def _client_factory( method _patched_handle_errors_factory (line 37) | def _patched_handle_errors_factory(self, client: ccxt.async_support.Ex... method _keys_adapter (line 70) | def _keys_adapter(self, creds: exchanges.ExchangeCredentialsData) -> e... class BitMart (line 77) | class BitMart(exchanges.RestExchange): method get_name (line 91) | def get_name(cls): method get_adapter_class (line 94) | def get_adapter_class(self): method get_additional_connector_config (line 97) | def get_additional_connector_config(self): method get_account_id (line 106) | async def get_account_id(self, **kwargs: dict) -> str: class BitMartCCXTAdapter (line 111) | class BitMartCCXTAdapter(exchanges.CCXTAdapter): method fix_order (line 112) | def fix_order(self, raw, **kwargs): FILE: Trading/Exchange/bitmart_websocket_feed/bitmart_websocket.py class BitMartCCXTWebsocketConnector (line 21) | class BitMartCCXTWebsocketConnector(exchanges.CCXTWebsocketConnector): method get_name (line 30) | def get_name(cls): method get_adapter_class (line 33) | def get_adapter_class(self, adapter_class): FILE: Trading/Exchange/bitmex/bitmex_exchange.py class Bitmex (line 20) | class Bitmex(exchanges.RestExchange): method get_name (line 31) | def get_name(cls): method get_supported_exchange_types (line 35) | def get_supported_exchange_types(cls) -> list: FILE: Trading/Exchange/bitso/bitso_exchange.py class Bitso (line 19) | class Bitso(exchanges.RestExchange): method get_name (line 27) | def get_name(cls): FILE: Trading/Exchange/bitstamp/bitstamp_exchange.py class Bitstamp (line 19) | class Bitstamp(exchanges.RestExchange): method get_name (line 27) | def get_name(cls): method get_symbol_prices (line 30) | async def get_symbol_prices(self, symbol, time_frame, limit: int = Non... FILE: Trading/Exchange/bybit/bybit_exchange.py class Bybit (line 31) | class Bybit(exchanges.RestExchange): method __init__ (line 102) | def __init__( method get_additional_connector_config (line 110) | def get_additional_connector_config(self): method get_adapter_class (line 124) | def get_adapter_class(self): method get_name (line 128) | def get_name(cls) -> str: method get_supported_exchange_types (line 132) | def get_supported_exchange_types(cls) -> list: method initialize_impl (line 141) | async def initialize_impl(self): method _check_unified_account (line 146) | async def _check_unified_account(self): method get_open_orders (line 162) | async def get_open_orders(self, symbol: str = None, since: int = None, method get_order (line 172) | async def get_order( method cancel_order (line 182) | async def cancel_order( method create_order (line 192) | async def create_order(self, order_type: trading_enums.TraderOrderType... method _get_stop_trigger_direction (line 212) | def _get_stop_trigger_direction(self, side): method _create_market_stop_loss_order (line 217) | async def _create_market_stop_loss_order(self, symbol, quantity, price... method _edit_order (line 234) | async def _edit_order(self, exchange_order_id: str, order_type: tradin... method _verify_order (line 248) | async def _verify_order(self, created_order, order_type, symbol, price... method set_symbol_partial_take_profit_stop_loss (line 252) | async def set_symbol_partial_take_profit_stop_loss(self, symbol: str, ... method get_order_additional_params (line 268) | def get_order_additional_params(self, order) -> dict: method _get_margin_type_query_params (line 276) | def _get_margin_type_query_params(self, symbol, **kwargs): method set_symbol_margin_type (line 285) | async def set_symbol_margin_type(self, symbol: str, isolated: bool, **... method get_bundled_order_parameters (line 289) | def get_bundled_order_parameters(self, order, stop_loss_price=None, ta... method _get_position_idx (line 306) | def _get_position_idx(self, contract): class BybitCCXTAdapter (line 327) | class BybitCCXTAdapter(exchanges.CCXTAdapter): method fix_order (line 351) | def fix_order(self, raw, **kwargs): method _adapt_order_type (line 402) | def _adapt_order_type(self, fixed): method fix_ticker (line 417) | def fix_ticker(self, raw, **kwargs): method parse_position (line 423) | def parse_position(self, fixed, **kwargs): method parse_funding_rate (line 502) | def parse_funding_rate(self, fixed, from_ticker=False, **kwargs): method parse_mark_price (line 538) | def parse_mark_price(self, fixed, from_ticker=False, **kwargs) -> dict: method fix_trades (line 553) | def fix_trades(self, raw, **kwargs): FILE: Trading/Exchange/bybit_websocket_feed/bybit_websocket.py class BybitCCXTWebsocketConnector (line 21) | class BybitCCXTWebsocketConnector(exchanges.CCXTWebsocketConnector): method get_name (line 30) | def get_name(cls): method get_adapter_class (line 33) | def get_adapter_class(self, adapter_class): FILE: Trading/Exchange/coinbase/coinbase_exchange.py function _refresh_alias_symbols (line 57) | def _refresh_alias_symbols(client): function _coinbase_retrier (line 66) | def _coinbase_retrier(f): class CoinbaseConnector (line 95) | class CoinbaseConnector(ccxt_connector.CCXTConnector): method _client_factory (line 97) | def _client_factory( method _keys_adapter (line 104) | def _keys_adapter(self, creds: exchanges.ExchangeCredentialsData) -> e... method _load_markets (line 117) | async def _load_markets( method register_simulator_connector_fee_methods (line 133) | def register_simulator_connector_fee_methods( method simulator_connector_get_fees (line 142) | def simulator_connector_get_fees(cls, symbol: str): method _apply_base_fee_tiers (line 151) | def _apply_base_fee_tiers(self): method _get_base_tier_fees (line 161) | def _get_base_tier_fees(self) -> (float, float): method _edit_order_by_cancel_and_create (line 181) | async def _edit_order_by_cancel_and_create( method get_balance (line 202) | async def get_balance(self, **kwargs: dict): method _paginated_request (line 218) | async def _paginated_request(self, func, *args, **kwargs): method _get_next_cursor (line 238) | def _get_next_cursor(self, response: dict, func_name: str) -> str: method _ensure_auth (line 249) | async def _ensure_auth(self): class Coinbase (line 280) | class Coinbase(exchanges.RestExchange): method get_name (line 368) | def get_name(cls): method get_adapter_class (line 371) | def get_adapter_class(self): method get_default_reference_market (line 375) | def get_default_reference_market(exchange_name: str) -> str: method get_alias_symbols (line 378) | def get_alias_symbols(self) -> set[str]: method supports_native_edit_order (line 384) | def supports_native_edit_order(self, order_type: trading_enums.TraderO... method get_account_id (line 391) | async def get_account_id(self, **kwargs: dict) -> str: method get_max_orders_count (line 434) | def get_max_orders_count(self, symbol: str, order_type: trading_enums.... method _is_up_to_date_api_key (line 438) | def _is_up_to_date_api_key(self) -> bool: method get_symbol_prices (line 446) | async def get_symbol_prices(self, symbol: str, time_frame: commons_enu... method get_recent_trades (line 453) | async def get_recent_trades(self, symbol, limit=50, **kwargs): method get_price_ticker (line 458) | async def get_price_ticker(self, symbol: str, **kwargs: dict) -> typin... method get_all_currencies_price_ticker (line 463) | async def get_all_currencies_price_ticker(self, **kwargs: dict) -> typ... method cancel_order (line 468) | async def cancel_order( method get_balance (line 474) | async def get_balance(self, **kwargs: dict): method _create_order_with_retry (line 482) | async def _create_order_with_retry(self, order_type, symbol, quantity:... method get_open_orders (line 495) | async def get_open_orders(self, symbol=None, since=None, limit=None, *... method get_order (line 500) | async def get_order( method _create_market_stop_loss_order (line 510) | async def _create_market_stop_loss_order(self, symbol, quantity, price... method _get_ohlcv_params (line 517) | def _get_ohlcv_params(self, time_frame, input_limit, **kwargs): method is_authenticated_request (line 528) | def is_authenticated_request(self, url: str, method: str, headers: dic... method is_market_open_for_order_type (line 539) | def is_market_open_for_order_type(self, symbol: str, order_type: tradi... class CoinbaseCCXTAdapter (line 561) | class CoinbaseCCXTAdapter(exchanges.CCXTAdapter): method _register_exchange_fees (line 563) | def _register_exchange_fees(self, order_or_trade): method _update_stop_order_or_trade_type_and_price (line 575) | def _update_stop_order_or_trade_type_and_price(self, order_or_trade: d... method fix_order (line 616) | def fix_order(self, raw, **kwargs): method fix_trades (line 664) | def fix_trades(self, raw, **kwargs): FILE: Trading/Exchange/coinbase_pro/coinbase_pro_exchange.py class CoinbasePro (line 21) | class CoinbasePro(exchanges.RestExchange): method get_name (line 27) | def get_name(cls): method get_adapter_class (line 30) | def get_adapter_class(self): method get_my_recent_trades (line 33) | async def get_my_recent_trades(self, symbol=None, since=None, limit=No... method get_open_orders (line 39) | async def get_open_orders(self, symbol=None, since=None, limit=None, *... method get_closed_orders (line 45) | async def get_closed_orders(self, symbol=None, since=None, limit=None,... method _fix_limit (line 51) | def _fix_limit(self, limit: int) -> int: method _uniformize_trades (line 54) | def _uniformize_trades(self, trades): class CoinbaseProCCXTAdapter (line 68) | class CoinbaseProCCXTAdapter(exchanges.CCXTAdapter): method fix_trades (line 70) | def fix_trades(self, raw, **kwargs): FILE: Trading/Exchange/coinbase_pro_websocket_feed/coinbase_pro_websocket.py class CoinbaseProCCXTWebsocketConnector (line 21) | class CoinbaseProCCXTWebsocketConnector(exchanges.CCXTWebsocketConnector): method get_name (line 30) | def get_name(cls): method get_adapter_class (line 33) | def get_adapter_class(self, adapter_class): FILE: Trading/Exchange/coinbase_pro_websocket_feed/tests/test_unauthenticated_mocked_feeds.py function test_start_spot_websocket (line 30) | async def test_start_spot_websocket(): FILE: Trading/Exchange/coinbase_websocket_feed/coinbase_websocket.py class CoinbaseCCXTWebsocketConnector (line 21) | class CoinbaseCCXTWebsocketConnector(exchanges.CCXTWebsocketConnector): method get_name (line 30) | def get_name(cls): method _get_keys_adapter (line 33) | def _get_keys_adapter(self): method get_adapter_class (line 36) | def get_adapter_class(self, adapter_class): FILE: Trading/Exchange/coinex/coinex_exchange.py class Coinex (line 24) | class Coinex(exchanges.RestExchange): method get_name (line 42) | def get_name(cls): method get_adapter_class (line 45) | def get_adapter_class(self): method get_additional_connector_config (line 48) | def get_additional_connector_config(self): method get_account_id (line 57) | async def get_account_id(self, **kwargs: dict) -> str: method is_authenticated_request (line 61) | def is_authenticated_request(self, url: str, method: str, headers: dic... method get_open_orders (line 72) | async def get_open_orders(self, symbol=None, since=None, limit=None, *... method get_closed_orders (line 78) | async def get_closed_orders(self, symbol=None, since=None, limit=None,... method _fix_limit (line 84) | def _fix_limit(self, limit: int) -> int: class CoinexCCXTAdapter (line 88) | class CoinexCCXTAdapter(exchanges.CCXTAdapter): method fix_order (line 90) | def fix_order(self, raw, **kwargs): method fix_trades (line 110) | def fix_trades(self, raw, **kwargs): method fix_ticker (line 124) | def fix_ticker(self, raw, **kwargs): FILE: Trading/Exchange/coinex_websocket_feed/coinex_websocket.py class CoinexCCXTWebsocketConnector (line 21) | class CoinexCCXTWebsocketConnector(exchanges.CCXTWebsocketConnector): method get_name (line 30) | def get_name(cls): FILE: Trading/Exchange/configurable_default_ccxt_rest/configurable_default_rest_ccxt_exchange.py class ConfigurableDefaultCCXTRestExchange (line 19) | class ConfigurableDefaultCCXTRestExchange(exchanges.DefaultRestExchange): method load_user_inputs_from_class (line 22) | def load_user_inputs_from_class(cls, tentacles_setup_config, tentacle_... FILE: Trading/Exchange/cryptocom/cryptocom_exchange.py class CryptoCom (line 19) | class CryptoCom(exchanges.RestExchange): method get_name (line 29) | def get_name(cls): FILE: Trading/Exchange/cryptocom_websocket_feed/cryptocom_websocket.py class CryptoComCCXTWebsocketConnector (line 21) | class CryptoComCCXTWebsocketConnector(exchanges.CCXTWebsocketConnector): method get_name (line 30) | def get_name(cls): FILE: Trading/Exchange/gateio/gateio_exchange.py class GateIO (line 23) | class GateIO(exchanges.RestExchange): method get_name (line 37) | def get_name(cls): method get_adapter_class (line 40) | def get_adapter_class(self): method get_open_orders (line 43) | async def get_open_orders(self, symbol=None, since=None, limit=None, *... class GateioCCXTAdapter (line 51) | class GateioCCXTAdapter(exchanges.CCXTAdapter): method fix_ticker (line 53) | def fix_ticker(self, raw, **kwargs): FILE: Trading/Exchange/gateio_websocket_feed/gateio_websocket.py class GateIOCCXTWebsocketConnector (line 21) | class GateIOCCXTWebsocketConnector(exchanges.CCXTWebsocketConnector): method get_name (line 30) | def get_name(cls): method get_adapter_class (line 33) | def get_adapter_class(self, adapter_class): FILE: Trading/Exchange/gateio_websocket_feed/tests/test_unauthenticated_mocked_feeds.py function test_start_spot_websocket (line 31) | async def test_start_spot_websocket(): FILE: Trading/Exchange/hitbtc/hitbtc_exchange.py class Hitbtc (line 20) | class Hitbtc(exchanges.RestExchange): method get_name (line 26) | def get_name(cls): method get_symbol_prices (line 29) | async def get_symbol_prices(self, symbol, time_frame, limit: int = Non... FILE: Trading/Exchange/hollaex/hollaex_exchange.py class FeeTiers (line 42) | class FeeTiers(enum.Enum): class hollaexConnector (line 47) | class hollaexConnector(exchanges.CCXTConnector): method load_symbol_markets (line 49) | async def load_symbol_markets( method disable_quick_trade_only_pairs (line 65) | async def disable_quick_trade_only_pairs(self): method _disable_pair (line 81) | def _disable_pair(self, symbol: str): method _parse_quick_trades_only_pairs (line 85) | def _parse_quick_trades_only_pairs(self, exchange_constants: dict) -> ... method _refresh_exchange_fee_tiers (line 107) | async def _refresh_exchange_fee_tiers(self, all_markets: list[dict]): method simulator_connector_calculate_fees_factory (line 164) | def simulator_connector_calculate_fees_factory(cls, exchange_name: str... method simulator_connector_get_fees_factory (line 177) | def simulator_connector_get_fees_factory(cls, exchange_name: str, tier... method register_simulator_connector_fee_methods (line 184) | def register_simulator_connector_fee_methods( method calculate_fees (line 193) | def calculate_fees( method get_fees (line 210) | def get_fees(self, symbol): method _calculate_fetched_fees (line 240) | def _calculate_fetched_fees( method _get_fee_tiers (line 275) | def _get_fee_tiers(cls, rest_exchange: typing.Optional[exchanges.RestE... method _get_fees (line 286) | def _get_fees(cls, exchange_name: str, tiers: FeeTiers, symbol: str): method _get_default_fee_symbol (line 296) | def _get_default_fee_symbol(cls, exchange: str): method _get_fetched_fees (line 307) | def _get_fetched_fees(cls, exchange: str, tier_to_use: FeeTiers, symbo... class hollaex (line 341) | class hollaex(exchanges.RestExchange): method __init__ (line 406) | def __init__( method get_adapter_class (line 416) | def get_adapter_class(self): method init_user_inputs_from_class (line 420) | def init_user_inputs_from_class(cls, inputs: dict) -> None: method get_additional_connector_config (line 438) | def get_additional_connector_config(self): method get_api_url (line 443) | def get_api_url(self): method get_configured_fee_tiers (line 446) | def get_configured_fee_tiers(self) -> typing.Optional[FeeTiers]: method get_custom_url_config (line 452) | def get_custom_url_config(cls, tentacle_config: dict, exchange_name: s... method get_exchange_details (line 460) | def get_exchange_details(cls, tentacle_config, exchange_name) -> typin... method get_patched_urls (line 464) | def get_patched_urls(cls, api_url: str): method get_name (line 475) | def get_name(cls): method is_configurable (line 479) | def is_configurable(cls): method is_authenticated_request (line 482) | def is_authenticated_request(self, url: str, method: str, headers: dic... method get_max_orders_count (line 489) | def get_max_orders_count(self, symbol: str, order_type: trading_enums.... method get_account_id (line 493) | async def get_account_id(self, **kwargs: dict) -> str: method get_closed_orders (line 498) | async def get_closed_orders(self, symbol: str = None, since: int = None, class HollaexCCXTAdapter (line 509) | class HollaexCCXTAdapter(exchanges.CCXTAdapter): method fix_order (line 511) | def fix_order(self, raw, symbol=None, **kwargs): method _fix_fees (line 529) | def _fix_fees(self, info, fixed): method fix_ticker (line 536) | def fix_ticker(self, raw, **kwargs): FILE: Trading/Exchange/hollaex_autofilled/hollaex_autofilled_exchange.py class HollaexAutofilled (line 37) | class HollaexAutofilled(hollaex): method supported_autofill_exchanges (line 49) | def supported_autofill_exchanges(cls, tentacle_config): method init_user_inputs_from_class (line 53) | def init_user_inputs_from_class(cls, inputs: dict) -> None: method get_autofilled_exchange_details (line 57) | async def get_autofilled_exchange_details(cls, aiohttp_session, tentac... method _apply_fetched_details (line 63) | def _apply_fetched_details(self, config, exchange_manager): method fetch_exchange_config (line 67) | async def fetch_exchange_config( method _get_user_agent (line 87) | def _get_user_agent(cls): method _get_headers (line 91) | def _get_headers(cls): method _cached_fetch_autofilled_config (line 99) | async def _cached_fetch_autofilled_config(cls, tentacle_config, exchan... method _retry_fetch_when_rate_limit (line 117) | async def _retry_fetch_when_rate_limit(cls, session, url): method _supports_autofill (line 147) | def _supports_autofill(self, exchange_name): method _get_kit_url (line 155) | def _get_kit_url(cls, tentacle_config, exchange_name) -> str: method _has_websocket (line 164) | def _has_websocket(cls, tentacle_config, exchange_name): method _get_autofilled_config (line 168) | def _get_autofilled_config(cls, tentacle_config, exchange_name): method get_exchange_details (line 172) | def get_exchange_details(cls, tentacle_config, exchange_name) -> typin... method _parse_autofilled_exchange_details (line 182) | def _parse_autofilled_exchange_details(cls, tentacle_config, kit_detai... method _apply_config (line 307) | def _apply_config(self, autofilled_exchange_details: exchanges.Exchang... method is_supporting_sandbox (line 313) | def is_supporting_sandbox(cls) -> bool: method get_rest_name (line 317) | def get_rest_name(cls, exchange_manager): method get_associated_websocket_exchange_name (line 320) | def get_associated_websocket_exchange_name(self): method get_name (line 324) | def get_name(cls): FILE: Trading/Exchange/hollaex_autofilled_websocket_feed/hollaex_autofilled_websocket.py class HollaexAutofilledCCXTWebsocketConnector (line 20) | class HollaexAutofilledCCXTWebsocketConnector(HollaexCCXTWebsocketConnec... method _get_logger_name (line 21) | def _get_logger_name(self): method _get_visible_name (line 24) | def _get_visible_name(self): method get_name (line 28) | def get_name(cls): method get_feed_name (line 31) | def get_feed_name(self): FILE: Trading/Exchange/hollaex_websocket_feed/hollaex_websocket.py class HollaexCCXTWebsocketConnector (line 23) | class HollaexCCXTWebsocketConnector(exchanges.CCXTWebsocketConnector): method _create_client (line 32) | def _create_client(self, force_unauth=False): method _update_urls (line 43) | def _update_urls(self, additional_connector_config): method get_name (line 57) | def get_name(cls): FILE: Trading/Exchange/htx/htx_exchange.py class Htx (line 20) | class Htx(exchanges.RestExchange): method get_name (line 29) | def get_name(cls): method get_adapter_class (line 32) | def get_adapter_class(self): method get_additional_connector_config (line 35) | def get_additional_connector_config(self): method get_symbol_prices (line 44) | async def get_symbol_prices(self, symbol, time_frame, limit: int = 500... class HtxCCXTAdapter (line 52) | class HtxCCXTAdapter(exchanges.CCXTAdapter): method fix_order (line 54) | def fix_order(self, raw, **kwargs): FILE: Trading/Exchange/htx_websocket_feed/htx_websocket.py class HtxCCXTWebsocketConnector (line 21) | class HtxCCXTWebsocketConnector(exchanges.CCXTWebsocketConnector): method get_name (line 30) | def get_name(cls): method get_adapter_class (line 33) | def get_adapter_class(self, adapter_class): FILE: Trading/Exchange/huobi/huobi_exchange.py class Huobi (line 19) | class Huobi(htx_exchange.Htx): method get_name (line 22) | def get_name(cls): FILE: Trading/Exchange/huobi_websocket_feed/huobi_websocket.py class HuobiCCXTWebsocketConnector (line 20) | class HuobiCCXTWebsocketConnector(htx_websocket.HtxCCXTWebsocketConnector): method get_name (line 23) | def get_name(cls): FILE: Trading/Exchange/huobi_websocket_feed/tests/test_unauthenticated_mocked_feeds.py function test_start_spot_websocket (line 31) | async def test_start_spot_websocket(): FILE: Trading/Exchange/hyperliquid/hyperliquid_exchange.py class HyperliquidConnector (line 23) | class HyperliquidConnector(exchanges.CCXTConnector): method _client_factory (line 25) | def _client_factory( method _keys_adapter (line 32) | def _keys_adapter(self, creds: exchanges.ExchangeCredentialsData) -> e... class Hyperliquid (line 40) | class Hyperliquid(exchanges.RestExchange): method get_name (line 49) | def get_name(cls): method get_adapter_class (line 52) | def get_adapter_class(self): method get_additional_connector_config (line 55) | def get_additional_connector_config(self): class HyperLiquidCCXTAdapter (line 65) | class HyperLiquidCCXTAdapter(exchanges.CCXTAdapter): method fix_ticker (line 67) | def fix_ticker(self, raw, **kwargs): method fix_market_status (line 73) | def fix_market_status(self, raw, remove_price_limits=False, **kwargs): FILE: Trading/Exchange/hyperliquid_websocket_feed/hyperliquid_websocket.py class HyperliquidCCXTWebsocketConnector (line 21) | class HyperliquidCCXTWebsocketConnector(exchanges.CCXTWebsocketConnector): method get_name (line 31) | def get_name(cls): method get_adapter_class (line 34) | def get_adapter_class(self, adapter_class): FILE: Trading/Exchange/kraken/kraken_exchange.py class Kraken (line 23) | class Kraken(exchanges.RestExchange): method __init__ (line 31) | def __init__( method get_name (line 40) | def get_name(cls): method get_adapter_class (line 43) | def get_adapter_class(self): method get_recent_trades (line 46) | async def get_recent_trades(self, symbol, limit=RECENT_TRADE_FIXED_LIM... method get_order_book (line 52) | async def get_order_book(self, symbol, limit=5, **kwargs): method get_symbol_prices (line 59) | async def get_symbol_prices(self, symbol, time_frame, limit: int = Non... class KrakenCCXTAdapter (line 67) | class KrakenCCXTAdapter(exchanges.CCXTAdapter): method fix_ticker (line 69) | def fix_ticker(self, raw, **kwargs): FILE: Trading/Exchange/kraken_websocket_feed/kraken_websocket.py class KrakenCCXTWebsocketConnector (line 21) | class KrakenCCXTWebsocketConnector(exchanges.CCXTWebsocketConnector): method get_name (line 30) | def get_name(cls): FILE: Trading/Exchange/kraken_websocket_feed/tests/test_unauthenticated_mocked_feeds.py function test_start_spot_websocket (line 31) | async def test_start_spot_websocket(): FILE: Trading/Exchange/kucoin/kucoin_exchange.py function _kucoin_retrier (line 39) | def _kucoin_retrier(f): class KucoinConnector (line 70) | class KucoinConnector(ccxt_connector.CCXTConnector): method _load_markets (line 73) | async def _load_markets( class Kucoin (line 86) | class Kucoin(exchanges.RestExchange): method get_name (line 189) | def get_name(cls): method get_rest_name (line 193) | def get_rest_name(cls, exchange_manager): method get_adapter_class (line 198) | def get_adapter_class(self): method get_supported_exchange_types (line 202) | def get_supported_exchange_types(cls) -> list: method supports_api_leverage_update (line 211) | def supports_api_leverage_update(self, symbol: str) -> bool: method set_symbol_leverage (line 228) | async def set_symbol_leverage(self, symbol: str, leverage: float, **kw... method get_max_orders_count (line 235) | def get_max_orders_count(self, symbol: str, order_type: trading_enums.... method supports_native_edit_order (line 242) | def supports_native_edit_order(self, order_type: trading_enums.TraderO... method get_account_id (line 247) | async def get_account_id(self, **kwargs: dict) -> str: method get_market_status (line 307) | def get_market_status(self, symbol, price_example=None, with_fixer=True): method get_symbol_prices (line 327) | async def get_symbol_prices(self, symbol, time_frame, limit: int = 200... method get_recent_trades (line 334) | async def get_recent_trades(self, symbol, limit=50, **kwargs): method get_order_book (line 341) | async def get_order_book(self, symbol, limit=20, **kwargs): method get_price_ticker (line 346) | async def get_price_ticker(self, symbol: str, **kwargs: dict) -> typin... method get_all_currencies_price_ticker (line 350) | async def get_all_currencies_price_ticker(self, **kwargs: dict) -> typ... method should_log_on_ddos_exception (line 353) | def should_log_on_ddos_exception(self, exception) -> bool: method is_authenticated_request (line 359) | def is_authenticated_request(self, url: str, method: str, headers: dic... method get_order_additional_params (line 366) | def get_order_additional_params(self, order) -> dict: method _update_balance (line 375) | async def _update_balance(self, balance, currency, **kwargs): method get_balance (line 379) | async def get_balance(self, **kwargs: dict): method fetch_stop_order_in_different_request (line 398) | def fetch_stop_order_in_different_request(self, symbol: str) -> bool: method get_open_orders (line 404) | async def get_open_orders(self, symbol=None, since=None, limit=None, *... method get_order (line 412) | async def get_order( method create_order (line 421) | async def create_order(self, order_type: trading_enums.TraderOrderType... method edit_order (line 433) | async def edit_order(self, exchange_order_id: str, order_type: trading... method _set_margin_mode_param_if_necessary (line 446) | def _set_margin_mode_param_if_necessary(self, symbol, params, lower=Fa... method cancel_order (line 461) | async def cancel_order( method _create_order_with_retry (line 468) | async def _create_order_with_retry(self, order_type, symbol, quantity:... method get_my_recent_trades (line 480) | async def get_my_recent_trades(self, symbol: str = None, since: int = ... method set_symbol_margin_type (line 484) | async def set_symbol_margin_type(self, symbol: str, isolated: bool, **... method get_position (line 501) | async def get_position(self, symbol: str, **kwargs: dict) -> dict: method set_symbol_partial_take_profit_stop_loss (line 569) | async def set_symbol_partial_take_profit_stop_loss(self, symbol: str, ... class KucoinCCXTAdapter (line 576) | class KucoinCCXTAdapter(exchanges.CCXTAdapter): method fix_order (line 587) | def fix_order(self, raw, symbol=None, **kwargs): method fix_trades (line 593) | def fix_trades(self, raw, **kwargs): method _adapt_order_type (line 600) | def _adapt_order_type(self, fixed): method parse_funding_rate (line 664) | def parse_funding_rate(self, fixed, from_ticker=False, **kwargs): method parse_position (line 685) | def parse_position(self, fixed, **kwargs): FILE: Trading/Exchange/kucoin_websocket_feed/kucoin_websocket.py class KucoinCCXTWebsocketConnector (line 21) | class KucoinCCXTWebsocketConnector(exchanges.CCXTWebsocketConnector): method get_name (line 59) | def get_name(cls): method get_feed_name (line 62) | def get_feed_name(self): method update_exchange_feeds (line 68) | def update_exchange_feeds(cls, exchange_manager): method get_adapter_class (line 74) | def get_adapter_class(self, adapter_class): FILE: Trading/Exchange/kucoin_websocket_feed/tests/test_unauthenticated_mocked_feeds.py function test_start_spot_websocket (line 30) | async def test_start_spot_websocket(): FILE: Trading/Exchange/lbank/lbank_exchange.py class LBankSignConnectorMixin (line 25) | class LBankSignConnectorMixin: method __init__ (line 26) | def __init__(self): method _lazy_maybe_force_signed_requests (line 30) | def _lazy_maybe_force_signed_requests(self, origin_ccxt_sign): method _force_sign (line 55) | def _force_sign(self, path, api, method, params, headers, body): class LBankConnector (line 122) | class LBankConnector(exchanges.CCXTConnector, LBankSignConnectorMixin): method __init__ (line 124) | def __init__(self, *args, **kwargs): method _create_client (line 130) | def _create_client(self, force_unauth=False): method register_client_mocks (line 134) | def register_client_mocks(self): method parse_order_mock (line 138) | def parse_order_mock(self, client): class LBank (line 152) | class LBank(exchanges.RestExchange): method get_name (line 162) | def get_name(cls): method get_adapter_class (line 165) | def get_adapter_class(self): method get_account_id (line 168) | async def get_account_id(self, **kwargs: dict) -> str: method get_additional_connector_config (line 172) | def get_additional_connector_config(self): method is_authenticated_request (line 181) | def is_authenticated_request(self, url: str, method: str, headers: dic... class LBankCCXTAdapter (line 193) | class LBankCCXTAdapter(exchanges.CCXTAdapter): FILE: Trading/Exchange/lbank_websocket_feed/lbank_websocket.py class LBankCCXTWebsocketConnector (line 24) | class LBankCCXTWebsocketConnector(exchanges.CCXTWebsocketConnector, lban... method __init__ (line 33) | def __init__(self, *args, **kwargs): method _create_client (line 37) | def _create_client(self): method _should_authenticate (line 41) | def _should_authenticate(self): method get_name (line 49) | def get_name(cls): method get_adapter_class (line 52) | def get_adapter_class(self, adapter_class): FILE: Trading/Exchange/mexc/mexc_exchange.py class MEXCConnector (line 34) | class MEXCConnector(exchanges.CCXTConnector): method __init__ (line 36) | def __init__(self, *args, **kwargs): method _create_client (line 40) | def _create_client(self, force_unauth=False): method _lazy_maybe_force_signed_requests (line 44) | def _lazy_maybe_force_signed_requests(self, origin_ccxt_sign): method _force_sign (line 64) | def _force_sign(self, path, api, method, params, headers, body): class MEXC (line 130) | class MEXC(exchanges.RestExchange): method get_name (line 163) | def get_name(cls): method get_adapter_class (line 166) | def get_adapter_class(self): method get_additional_connector_config (line 169) | def get_additional_connector_config(self): method get_account_id (line 179) | async def get_account_id(self, **kwargs: dict) -> str: method get_max_orders_count (line 193) | def get_max_orders_count(self, symbol: str, order_type: trading_enums.... method is_authenticated_request (line 197) | def is_authenticated_request(self, url: str, method: str, headers: dic... method get_all_tradable_symbols (line 208) | async def get_all_tradable_symbols(self, active_only=True) -> set[str]: method _create_specific_order (line 217) | async def _create_specific_order(self, order_type, symbol, quantity: d... method _mexc_handled_symbols_filter (line 228) | async def _mexc_handled_symbols_filter(self, symbol): method get_open_orders (line 239) | async def get_open_orders(self, symbol: str = None, since: int = None,... method get_closed_orders (line 245) | async def get_closed_orders(self, symbol: str = None, since: int = Non... method get_order (line 251) | async def get_order( method _filter_orders (line 267) | def _filter_orders(self, orders: list, open_only: bool) -> list: class APIHandledSymbols (line 281) | class APIHandledSymbols: method __init__ (line 287) | def __init__(self, update_interval): method should_be_updated (line 292) | def should_be_updated(self): method update (line 295) | async def update(self, exchange): class MEXCCCXTAdapter (line 311) | class MEXCCCXTAdapter(exchanges.CCXTAdapter): method fix_order (line 313) | def fix_order(self, raw, **kwargs): FILE: Trading/Exchange/mexc_websocket_feed/mexc_websocket.py class MEXCCCXTWebsocketConnector (line 21) | class MEXCCCXTWebsocketConnector(exchanges.CCXTWebsocketConnector): method get_name (line 30) | def get_name(cls): method get_adapter_class (line 33) | def get_adapter_class(self, adapter_class): FILE: Trading/Exchange/myokx/myokx_exchange.py class MyOkx (line 20) | class MyOkx(okx_exchange.Okx): method get_name (line 23) | def get_name(cls): method get_supported_exchange_types (line 27) | def get_supported_exchange_types(cls) -> list: FILE: Trading/Exchange/myokx_websocket_feed/myokx_websocket.py class MyOKXCCXTWebsocketConnector (line 20) | class MyOKXCCXTWebsocketConnector(okx_websocket_feed.OKXCCXTWebsocketCon... method get_name (line 23) | def get_name(cls): FILE: Trading/Exchange/ndax/ndax_exchange.py class Ndax (line 20) | class Ndax(exchanges.RestExchange): method get_name (line 28) | def get_name(cls): method get_symbol_prices (line 31) | async def get_symbol_prices(self, symbol, time_frame, limit: int = Non... FILE: Trading/Exchange/okcoin/okcoin_exchange.py class Okcoin (line 19) | class Okcoin(okx_tentacle.Okx): method get_name (line 21) | def get_name(cls): FILE: Trading/Exchange/okx/okx_exchange.py class Okx (line 90) | class Okx(exchanges.RestExchange): method get_name (line 178) | def get_name(cls): method get_adapter_class (line 181) | def get_adapter_class(self): method is_supporting_sandbox (line 185) | def is_supporting_sandbox(cls) -> bool: method get_supported_exchange_types (line 189) | def get_supported_exchange_types(cls) -> list: method is_authenticated_request (line 198) | def is_authenticated_request(self, url: str, method: str, headers: dic... method _fix_limit (line 205) | def _fix_limit(self, limit: int) -> int: method get_account_id (line 208) | async def get_account_id(self, **kwargs: dict) -> str: method get_max_orders_count (line 217) | def get_max_orders_count(self, symbol: str, order_type: trading_enums.... method get_sub_account_list (line 221) | async def get_sub_account_list(self): method get_order_additional_params (line 234) | def get_order_additional_params(self, order) -> dict: method get_bundled_order_parameters (line 241) | def get_bundled_order_parameters(self, order, stop_loss_price=None, ta... method _get_all_typed_orders (line 270) | async def _get_all_typed_orders(self, method, symbol=None, since=None,... method get_open_orders (line 289) | async def get_open_orders(self, symbol=None, since=None, limit=None, *... method get_closed_orders (line 294) | async def get_closed_orders(self, symbol=None, since=None, limit=None,... method get_order (line 299) | async def get_order( method order_request_kwargs_factory (line 318) | def order_request_kwargs_factory( method _is_oco_order (line 343) | def _is_oco_order(self, params): method create_order (line 352) | async def create_order(self, order_type: trading_enums.TraderOrderType... method _get_ccxt_margin_type (line 366) | def _get_ccxt_margin_type(self, symbol, contract=None): method _get_margin_query_params (line 373) | def _get_margin_query_params(self, symbol, **kwargs): method get_symbol_leverage (line 391) | async def get_symbol_leverage(self, symbol: str, **kwargs: dict): method set_symbol_leverage (line 406) | async def set_symbol_leverage(self, symbol: str, leverage: float, **kw... method set_symbol_margin_type (line 417) | async def set_symbol_margin_type(self, symbol: str, isolated: bool, **... method get_position (line 422) | async def get_position(self, symbol: str, **kwargs: dict) -> dict: method _update_position_with_leverage_data (line 441) | async def _update_position_with_leverage_data(self, symbol, position): method set_symbol_partial_take_profit_stop_loss (line 452) | async def set_symbol_partial_take_profit_stop_loss(self, symbol: str, ... method _get_used_order_types (line 458) | def _get_used_order_types(self): class OKXCCXTAdapter (line 467) | class OKXCCXTAdapter(exchanges.CCXTAdapter): method fix_order (line 492) | def fix_order(self, raw, symbol=None, **kwargs): method _adapt_order_type (line 497) | def _adapt_order_type(self, fixed): method parse_position (line 536) | def parse_position(self, fixed, force_empty=False, **kwargs): method parse_margin_type (line 550) | def parse_margin_type(self, margin_mode): method parse_position_mode (line 557) | def parse_position_mode(self, position_mode): method parse_leverage (line 562) | def parse_leverage(self, fixed, **kwargs): method parse_funding_rate (line 572) | def parse_funding_rate(self, fixed, from_ticker=False, **kwargs): FILE: Trading/Exchange/okx_websocket_feed/okx_websocket.py class OKXCCXTWebsocketConnector (line 21) | class OKXCCXTWebsocketConnector(exchanges.CCXTWebsocketConnector): method get_name (line 30) | def get_name(cls): FILE: Trading/Exchange/okx_websocket_feed/tests/test_unauthenticated_mocked_feeds.py function test_start_spot_websocket (line 30) | async def test_start_spot_websocket(): FILE: Trading/Exchange/okxus/okxus_exchange.py class OkxUs (line 20) | class OkxUs(okx_exchange.Okx): method get_name (line 23) | def get_name(cls): method get_supported_exchange_types (line 27) | def get_supported_exchange_types(cls) -> list: FILE: Trading/Exchange/okxus_websocket_feed/okxus_websocket.py class OkxUsCCXTWebsocketConnector (line 20) | class OkxUsCCXTWebsocketConnector(okx_websocket_feed.OKXCCXTWebsocketCon... method get_name (line 23) | def get_name(cls): FILE: Trading/Exchange/phemex/phemex_exchange.py class Phemex (line 26) | class Phemex(exchanges.RestExchange): method get_name (line 32) | def get_name(cls): method get_adapter_class (line 35) | def get_adapter_class(self): method _get_adapted_limit (line 38) | def _get_adapted_limit(self, limit): method get_symbol_prices (line 46) | async def get_symbol_prices(self, symbol, time_frame, limit: int = 500... method get_kline_price (line 51) | async def get_kline_price(self, symbol: str, time_frame: commons_enums... method create_order (line 55) | async def create_order(self, order_type: trading_enums.TraderOrderType... method _get_ohlcv_params (line 69) | def _get_ohlcv_params(self, time_frame, limit, **kwargs): method cancel_order (line 80) | async def cancel_order( method get_order (line 89) | async def get_order( method _get_order_from_trades (line 106) | async def _get_order_from_trades(self, symbol, exchange_order_id, orde... class PhemexCCXTAdapter (line 116) | class PhemexCCXTAdapter(exchanges.CCXTAdapter): method fix_order (line 119) | def fix_order(self, raw, **kwargs): FILE: Trading/Exchange/phemex_websocket_feed/phemex_websocket.py class PhemexCCXTWebsocketConnector (line 21) | class PhemexCCXTWebsocketConnector(exchanges.CCXTWebsocketConnector): method get_name (line 30) | def get_name(cls): FILE: Trading/Exchange/poloniex/poloniex_exchange.py class Poloniex (line 20) | class Poloniex(exchanges.RestExchange): method get_name (line 25) | def get_name(cls): FILE: Trading/Exchange/polymarket/ccxt/polymarket_abstract.py class ImplicitAPI (line 4) | class ImplicitAPI: FILE: Trading/Exchange/polymarket/ccxt/polymarket_async.py class polymarket (line 31) | class polymarket(Exchange, ImplicitAPI): method describe (line 33) | def describe(self) -> Any: method get_signature_type (line 465) | def get_signature_type(self, params={}): method get_side (line 482) | def get_side(self, sideString: str, params={}): method fetch_markets (line 505) | async def fetch_markets(self, params={}) -> List[Market]: method parse_market (line 547) | def parse_market(self, market: dict) -> Market: method fetch_order_book (line 790) | async def fetch_order_book(self, symbol: str, limit: Int = None, param... method fetch_order_books (line 819) | async def fetch_order_books(self, symbols: Strings = None, limit: Int ... method parse_order_book (line 876) | def parse_order_book(self, orderbook: dict, symbol: Str = None, timest... method fetch_ticker (line 952) | async def fetch_ticker(self, symbol: str, params={}) -> Ticker: method fetch_tickers (line 1048) | async def fetch_tickers(self, symbols: Strings = None, params={}) -> T... method parse_ticker (line 1131) | def parse_ticker(self, ticker: dict, market: Market = None) -> Ticker: method fetch_trades (line 1314) | async def fetch_trades(self, symbol: str, since: Int = None, limit: In... method parse_trade (line 1359) | def parse_trade(self, trade: dict, market: Market = None) -> Trade: method fetch_ohlcv (line 1517) | async def fetch_ohlcv(self, symbol: str, timeframe: str = '1h', since:... method parse_ohlcv (line 1588) | def parse_ohlcv(self, ohlcv: Any, market: Market = None) -> list: method get_rounding_config (line 1611) | def get_rounding_config(self, tickSize: str) -> dict: method round_down (line 1644) | def round_down(self, value: str, decimals: float) -> str: method round_normal (line 1653) | def round_normal(self, value: str, decimals: float) -> str: method round_up (line 1662) | def round_up(self, value: str, decimals: float) -> str: method decimal_places (line 1671) | def decimal_places(self, value: str) -> float: method to_token_decimals (line 1682) | def to_token_decimals(self, value: str, decimals: float) -> str: method build_and_sign_order (line 1693) | async def build_and_sign_order(self, tokenId: str, side: str, size: st... method build_order (line 1900) | async def build_order(self, symbol: str, type: OrderType, side: OrderS... method create_order (line 2005) | async def create_order(self, symbol: str, type: OrderType, side: Order... method create_orders (line 2065) | async def create_orders(self, orders: List[OrderRequest], params={}) -... method create_market_order (line 2145) | async def create_market_order(self, symbol: str, side: OrderSide, amou... method cancel_order (line 2159) | async def cancel_order(self, id: str, symbol: Str = None, params={}) -... method cancel_orders (line 2206) | async def cancel_orders(self, ids: List[str], symbol: Str = None, para... method cancel_all_orders (line 2252) | async def cancel_all_orders(self, symbol: Str = None, params={}) -> Li... method fetch_order (line 2304) | async def fetch_order(self, id: str, symbol: Str = None, params={}) ->... method fetch_orders (line 2325) | async def fetch_orders(self, symbol: Str = None, since: Int = None, li... method fetch_open_orders (line 2385) | async def fetch_open_orders(self, symbol: Str = None, since: Int = Non... method parse_order (line 2397) | def parse_order(self, order: dict, market: Market = None) -> Order: method parse_order_status (line 2514) | def parse_order_status(self, status: Str) -> Str: method parse_order_type (line 2533) | def parse_order_type(self, type: Str) -> Str: method parse_time_in_force (line 2543) | def parse_time_in_force(self, timeInForce: Str) -> Str: method fetch_time (line 2557) | async def fetch_time(self, params={}) -> Int: method fetch_status (line 2580) | async def fetch_status(self, params={}): method fetch_trading_fee (line 2607) | async def fetch_trading_fee(self, symbol: str, params={}) -> TradingFe... method fetch_open_interest (line 2663) | async def fetch_open_interest(self, symbol: str, params={}): method parse_open_interest (line 2684) | def parse_open_interest(self, interest: dict, market: Market = None): method fetch_my_trades (line 2724) | async def fetch_my_trades(self, symbol: Str = None, since: Int = None,... method fetch_user_trades (line 2796) | async def fetch_user_trades(self, user: str, symbol: Str = None, since... method fetch_balance (line 2857) | async def fetch_balance(self, params={}): method get_notifications (line 2931) | async def get_notifications(self, params={}): method drop_notifications (line 2954) | async def drop_notifications(self, params={}): method get_balance_allowance (line 2978) | async def get_balance_allowance(self, params={}): method update_balance_allowance (line 3012) | async def update_balance_allowance(self, params={}): method is_order_scoring (line 3035) | async def is_order_scoring(self, params={}): method are_orders_scoring (line 3055) | async def are_orders_scoring(self, params={}): method clob_public_get_markets (line 3075) | async def clob_public_get_markets(self, params={}): method gamma_public_get_markets (line 3089) | async def gamma_public_get_markets(self, params={}): method gamma_public_get_markets_id (line 3099) | async def gamma_public_get_markets_id(self, params={}): method gamma_public_get_markets_id_tags (line 3112) | async def gamma_public_get_markets_id_tags(self, params={}): method gamma_public_get_markets_slug_slug (line 3129) | async def gamma_public_get_markets_slug_slug(self, params={}): method gamma_public_get_events (line 3146) | async def gamma_public_get_events(self, params={}): method gamma_public_get_events_id (line 3161) | async def gamma_public_get_events_id(self, params={}): method gamma_public_get_series (line 3178) | async def gamma_public_get_series(self, params={}): method gamma_public_get_series_id (line 3193) | async def gamma_public_get_series_id(self, params={}): method gamma_public_get_search (line 3210) | async def gamma_public_get_search(self, params={}): method gamma_public_get_comments (line 3228) | async def gamma_public_get_comments(self, params={}): method gamma_public_get_comments_id (line 3243) | async def gamma_public_get_comments_id(self, params={}): method gamma_public_get_sports (line 3260) | async def gamma_public_get_sports(self, params={}): method gamma_public_get_sports_id (line 3275) | async def gamma_public_get_sports_id(self, params={}): method data_public_get_positions (line 3292) | async def data_public_get_positions(self, params={}): method data_public_get_trades (line 3317) | async def data_public_get_trades(self, params={}): method data_public_get_activity (line 3332) | async def data_public_get_activity(self, params={}): method data_public_get_holders (line 3349) | async def data_public_get_holders(self, params={}): method data_public_get_total_value (line 3366) | async def data_public_get_total_value(self, params={}): method data_public_get_closed_positions (line 3381) | async def data_public_get_closed_positions(self, params={}): method data_public_get_traded (line 3402) | async def data_public_get_traded(self, params={}): method data_public_get_open_interest (line 3417) | async def data_public_get_open_interest(self, params={}): method data_public_get_live_volume (line 3442) | async def data_public_get_live_volume(self, params={}): method bridge_public_get_supported_assets (line 3457) | async def bridge_public_get_supported_assets(self, params={}): method bridge_public_post_deposit (line 3468) | async def bridge_public_post_deposit(self, params={}): method create_deposit_address (line 3485) | async def create_deposit_address(self, code: str, params={}): method clob_public_get_orderbook_token_id (line 3526) | async def clob_public_get_orderbook_token_id(self, params={}): method clob_public_post_books (line 3540) | async def clob_public_post_books(self, params={}): method clob_public_get_market_trades_events (line 3561) | async def clob_public_get_market_trades_events(self, params={}): method clob_public_get_prices_history (line 3603) | async def clob_public_get_prices_history(self, params={}): method clob_public_get_time (line 3654) | async def clob_public_get_time(self, params={}): method clob_public_get_ok (line 3667) | async def clob_public_get_ok(self, params={}): method clob_public_get_fee_rate (line 3680) | async def clob_public_get_fee_rate(self, params={}): method clob_public_get_price (line 3698) | async def clob_public_get_price(self, params={}): method clob_public_get_prices (line 3720) | async def clob_public_get_prices(self, params={}): method clob_public_post_prices (line 3738) | async def clob_public_post_prices(self, params={}): method clob_public_get_midpoint (line 3759) | async def clob_public_get_midpoint(self, params={}): method clob_public_get_midpoints (line 3777) | async def clob_public_get_midpoints(self, params={}): method clob_public_get_spread (line 3800) | async def clob_public_get_spread(self, params={}): method clob_public_get_last_trade_price (line 3818) | async def clob_public_get_last_trade_price(self, params={}): method clob_public_get_last_trades_prices (line 3836) | async def clob_public_get_last_trades_prices(self, params={}): method clob_public_get_trades (line 3859) | async def clob_public_get_trades(self, params={}): method clob_public_get_tick_size (line 3896) | async def clob_public_get_tick_size(self, params={}): method clob_public_get_neg_risk (line 3914) | async def clob_public_get_neg_risk(self, params={}): method clob_public_post_spreads (line 3932) | async def clob_public_post_spreads(self, params={}): method clob_private_get_order (line 3955) | async def clob_private_get_order(self, params={}): method clob_private_get_orders (line 3972) | async def clob_private_get_orders(self, params={}): method clob_private_post_order (line 3985) | async def clob_private_post_order(self, params={}): method clob_private_post_orders (line 4027) | async def clob_private_post_orders(self, params={}): method clob_private_delete_order (line 4044) | async def clob_private_delete_order(self, params={}): method clob_private_delete_orders (line 4064) | async def clob_private_delete_orders(self, params={}): method clob_private_delete_cancel_all (line 4081) | async def clob_private_delete_cancel_all(self, params={}): method clob_private_delete_cancel_market_orders (line 4094) | async def clob_private_delete_cancel_market_orders(self, params={}): method clob_private_get_trades (line 4116) | async def clob_private_get_trades(self, params={}): method clob_private_get_builder_trades (line 4132) | async def clob_private_get_builder_trades(self, params={}): method clob_private_get_notifications (line 4146) | async def clob_private_get_notifications(self, params={}): method clob_private_delete_notifications (line 4157) | async def clob_private_delete_notifications(self, params={}): method clob_private_get_balance_allowance (line 4169) | async def clob_private_get_balance_allowance(self, params={}): method clob_private_put_balance_allowance (line 4181) | async def clob_private_put_balance_allowance(self, params={}): method clob_private_get_is_order_scoring (line 4194) | async def clob_private_get_is_order_scoring(self, params={}): method clob_private_post_are_orders_scoring (line 4211) | async def clob_private_post_are_orders_scoring(self, params={}): method get_main_wallet_address (line 4229) | def get_main_wallet_address(self): method get_proxy_wallet_address (line 4241) | def get_proxy_wallet_address(self): method get_builder_wallet_address (line 4254) | def get_builder_wallet_address(self): method get_user_total_value (line 4265) | async def get_user_total_value(self, userAddress: str = None) -> dict: method get_user_positions (line 4301) | async def get_user_positions(self, userAddress: str = None, params={})... method get_user_activity (line 4326) | async def get_user_activity(self, userAddress: str = None, params={}) ... method parse_user_activity (line 4357) | def parse_user_activity(self, activity: dict, market: Market = None) -... method format_address (line 4383) | def format_address(self, address: str = None): method normalize_address (line 4390) | def normalize_address(self, address: str) -> str: method hash_message (line 4396) | def hash_message(self, message: str) -> str: method get_contract_config (line 4404) | def get_contract_config(self, chainID: float) -> dict: method sign_message (line 4412) | def sign_message(self, message: str, privateKey: str) -> str: method sign_hash (line 4416) | def sign_hash(self, hash: str, privateKey: str): method sign_typed_data (line 4425) | def sign_typed_data(self, domain: dict, types: dict, value: dict) -> str: method create_level1_headers (line 4434) | def create_level1_headers(self, walletAddress: str, nonce: float = Non... method get_clob_base_url (line 4476) | def get_clob_base_url(self, params={}) -> str: method parse_api_credentials (line 4493) | def parse_api_credentials(self, response: Any) -> dict: method create_api_key (line 4517) | async def create_api_key(self, params={}) -> dict: method derive_api_key (line 4547) | async def derive_api_key(self, params={}) -> dict: method create_or_derive_api_creds (line 4571) | async def create_or_derive_api_creds(self, params={}) -> dict: method set_api_creds (line 4593) | def set_api_creds(self, credentials: dict): method get_api_base_url (line 4606) | def get_api_base_url(self, params={}) -> str: method build_default_headers (line 4637) | def build_default_headers(self, method: str, existingHeaders: dict = N... method build_public_request (line 4660) | def build_public_request(self, baseUrl: str, pathWithParams: str, meth... method ensure_api_credentials (line 4682) | async def ensure_api_credentials(self, params={}) -> dict: method get_api_credentials (line 4711) | def get_api_credentials(self) -> dict: method build_request_path_and_payload (line 4737) | def build_request_path_and_payload(self, pathWithParams: str, method: ... method create_level2_signature (line 4770) | def create_level2_signature(self, timestamp: str, method: str, request... method create_level2_headers (line 4799) | def create_level2_headers(self, apiKey: str, timestamp: str, signature... method build_private_request (line 4842) | def build_private_request(self, baseUrl: str, pathWithParams: str, met... method sign (line 4892) | def sign(self, path, api: Any = [ 'clob', 'public' ], method='GET', pa... method handle_errors (line 4922) | def handle_errors(self, code: int, reason: str, url: str, method: str,... FILE: Trading/Exchange/polymarket/ccxt/polymarket_pro.py class polymarket (line 14) | class polymarket(polymarket): method describe (line 16) | def describe(self) -> Any: method watch_order_book (line 48) | async def watch_order_book(self, symbol: str, limit: Int = None, param... method watch_trades (line 81) | async def watch_trades(self, symbol: str, since: Int = None, limit: In... method watch_ticker (line 117) | async def watch_ticker(self, symbol: str, params={}) -> Ticker: method watch_orders (line 148) | async def watch_orders(self, symbol: Str = None, since: Int = None, li... method watch_my_trades (line 176) | async def watch_my_trades(self, symbol: Str = None, since: Int = None,... method handle_order_book (line 204) | def handle_order_book(self, client: Client, message): method handle_trades (line 293) | def handle_trades(self, client: Client, message): method handle_ticker (line 357) | def handle_ticker(self, client: Client, message): method handle_orders (line 460) | def handle_orders(self, client: Client, message): method handle_my_trades (line 504) | def handle_my_trades(self, client: Client, message): method handle_message (line 550) | def handle_message(self, client: Client, message): method handle_market_events (line 583) | def handle_market_events(self, client: Client, messages: List[Any]): method handle_market_event (line 590) | def handle_market_event(self, client: Client, message: Any, eventType:... method handle_user_event (line 606) | def handle_user_event(self, client: Client, message: Any, eventType: s... method authenticate (line 616) | async def authenticate(self, params={}): method watch (line 639) | async def watch(self, url: str, messageHash: str, message=None, subscr... method on_connected (line 650) | def on_connected(self, client: Client): FILE: Trading/Exchange/polymarket/ccxt/polymarket_sync.py class polymarket (line 31) | class polymarket(Exchange, ImplicitAPI): method describe (line 33) | def describe(self) -> Any: method get_signature_type (line 465) | def get_signature_type(self, params={}): method get_side (line 482) | def get_side(self, sideString: str, params={}): method fetch_markets (line 505) | def fetch_markets(self, params={}) -> List[Market]: method parse_market (line 547) | def parse_market(self, market: dict) -> Market: method fetch_order_book (line 790) | def fetch_order_book(self, symbol: str, limit: Int = None, params={}) ... method fetch_order_books (line 819) | def fetch_order_books(self, symbols: Strings = None, limit: Int = None... method parse_order_book (line 876) | def parse_order_book(self, orderbook: dict, symbol: Str = None, timest... method fetch_ticker (line 952) | def fetch_ticker(self, symbol: str, params={}) -> Ticker: method fetch_tickers (line 1048) | def fetch_tickers(self, symbols: Strings = None, params={}) -> Tickers: method parse_ticker (line 1131) | def parse_ticker(self, ticker: dict, market: Market = None) -> Ticker: method fetch_trades (line 1314) | def fetch_trades(self, symbol: str, since: Int = None, limit: Int = No... method parse_trade (line 1359) | def parse_trade(self, trade: dict, market: Market = None) -> Trade: method fetch_ohlcv (line 1517) | def fetch_ohlcv(self, symbol: str, timeframe: str = '1h', since: Int =... method parse_ohlcv (line 1588) | def parse_ohlcv(self, ohlcv: Any, market: Market = None) -> list: method get_rounding_config (line 1611) | def get_rounding_config(self, tickSize: str) -> dict: method round_down (line 1644) | def round_down(self, value: str, decimals: float) -> str: method round_normal (line 1653) | def round_normal(self, value: str, decimals: float) -> str: method round_up (line 1662) | def round_up(self, value: str, decimals: float) -> str: method decimal_places (line 1671) | def decimal_places(self, value: str) -> float: method to_token_decimals (line 1682) | def to_token_decimals(self, value: str, decimals: float) -> str: method build_and_sign_order (line 1693) | def build_and_sign_order(self, tokenId: str, side: str, size: str, pri... method build_order (line 1900) | def build_order(self, symbol: str, type: OrderType, side: OrderSide, a... method create_order (line 2005) | def create_order(self, symbol: str, type: OrderType, side: OrderSide, ... method create_orders (line 2065) | def create_orders(self, orders: List[OrderRequest], params={}) -> List... method create_market_order (line 2145) | def create_market_order(self, symbol: str, side: OrderSide, amount: fl... method cancel_order (line 2159) | def cancel_order(self, id: str, symbol: Str = None, params={}) -> Order: method cancel_orders (line 2206) | def cancel_orders(self, ids: List[str], symbol: Str = None, params={})... method cancel_all_orders (line 2252) | def cancel_all_orders(self, symbol: Str = None, params={}) -> List[Ord... method fetch_order (line 2304) | def fetch_order(self, id: str, symbol: Str = None, params={}) -> Order: method fetch_orders (line 2325) | def fetch_orders(self, symbol: Str = None, since: Int = None, limit: I... method fetch_open_orders (line 2385) | def fetch_open_orders(self, symbol: Str = None, since: Int = None, lim... method parse_order (line 2397) | def parse_order(self, order: dict, market: Market = None) -> Order: method parse_order_status (line 2514) | def parse_order_status(self, status: Str) -> Str: method parse_order_type (line 2533) | def parse_order_type(self, type: Str) -> Str: method parse_time_in_force (line 2543) | def parse_time_in_force(self, timeInForce: Str) -> Str: method fetch_time (line 2557) | def fetch_time(self, params={}) -> Int: method fetch_status (line 2580) | def fetch_status(self, params={}): method fetch_trading_fee (line 2607) | def fetch_trading_fee(self, symbol: str, params={}) -> TradingFeeInter... method fetch_open_interest (line 2663) | def fetch_open_interest(self, symbol: str, params={}): method parse_open_interest (line 2684) | def parse_open_interest(self, interest: dict, market: Market = None): method fetch_my_trades (line 2724) | def fetch_my_trades(self, symbol: Str = None, since: Int = None, limit... method fetch_user_trades (line 2796) | def fetch_user_trades(self, user: str, symbol: Str = None, since: Int ... method fetch_balance (line 2857) | def fetch_balance(self, params={}): method get_notifications (line 2931) | def get_notifications(self, params={}): method drop_notifications (line 2954) | def drop_notifications(self, params={}): method get_balance_allowance (line 2978) | def get_balance_allowance(self, params={}): method update_balance_allowance (line 3012) | def update_balance_allowance(self, params={}): method is_order_scoring (line 3035) | def is_order_scoring(self, params={}): method are_orders_scoring (line 3055) | def are_orders_scoring(self, params={}): method clob_public_get_markets (line 3075) | def clob_public_get_markets(self, params={}): method gamma_public_get_markets (line 3089) | def gamma_public_get_markets(self, params={}): method gamma_public_get_markets_id (line 3099) | def gamma_public_get_markets_id(self, params={}): method gamma_public_get_markets_id_tags (line 3112) | def gamma_public_get_markets_id_tags(self, params={}): method gamma_public_get_markets_slug_slug (line 3129) | def gamma_public_get_markets_slug_slug(self, params={}): method gamma_public_get_events (line 3146) | def gamma_public_get_events(self, params={}): method gamma_public_get_events_id (line 3161) | def gamma_public_get_events_id(self, params={}): method gamma_public_get_series (line 3178) | def gamma_public_get_series(self, params={}): method gamma_public_get_series_id (line 3193) | def gamma_public_get_series_id(self, params={}): method gamma_public_get_search (line 3210) | def gamma_public_get_search(self, params={}): method gamma_public_get_comments (line 3228) | def gamma_public_get_comments(self, params={}): method gamma_public_get_comments_id (line 3243) | def gamma_public_get_comments_id(self, params={}): method gamma_public_get_sports (line 3260) | def gamma_public_get_sports(self, params={}): method gamma_public_get_sports_id (line 3275) | def gamma_public_get_sports_id(self, params={}): method data_public_get_positions (line 3292) | def data_public_get_positions(self, params={}): method data_public_get_trades (line 3317) | def data_public_get_trades(self, params={}): method data_public_get_activity (line 3332) | def data_public_get_activity(self, params={}): method data_public_get_holders (line 3349) | def data_public_get_holders(self, params={}): method data_public_get_total_value (line 3366) | def data_public_get_total_value(self, params={}): method data_public_get_closed_positions (line 3381) | def data_public_get_closed_positions(self, params={}): method data_public_get_traded (line 3402) | def data_public_get_traded(self, params={}): method data_public_get_open_interest (line 3417) | def data_public_get_open_interest(self, params={}): method data_public_get_live_volume (line 3442) | def data_public_get_live_volume(self, params={}): method bridge_public_get_supported_assets (line 3457) | def bridge_public_get_supported_assets(self, params={}): method bridge_public_post_deposit (line 3468) | def bridge_public_post_deposit(self, params={}): method create_deposit_address (line 3485) | def create_deposit_address(self, code: str, params={}): method clob_public_get_orderbook_token_id (line 3526) | def clob_public_get_orderbook_token_id(self, params={}): method clob_public_post_books (line 3540) | def clob_public_post_books(self, params={}): method clob_public_get_market_trades_events (line 3561) | def clob_public_get_market_trades_events(self, params={}): method clob_public_get_prices_history (line 3603) | def clob_public_get_prices_history(self, params={}): method clob_public_get_time (line 3654) | def clob_public_get_time(self, params={}): method clob_public_get_ok (line 3667) | def clob_public_get_ok(self, params={}): method clob_public_get_fee_rate (line 3680) | def clob_public_get_fee_rate(self, params={}): method clob_public_get_price (line 3698) | def clob_public_get_price(self, params={}): method clob_public_get_prices (line 3720) | def clob_public_get_prices(self, params={}): method clob_public_post_prices (line 3738) | def clob_public_post_prices(self, params={}): method clob_public_get_midpoint (line 3759) | def clob_public_get_midpoint(self, params={}): method clob_public_get_midpoints (line 3777) | def clob_public_get_midpoints(self, params={}): method clob_public_get_spread (line 3800) | def clob_public_get_spread(self, params={}): method clob_public_get_last_trade_price (line 3818) | def clob_public_get_last_trade_price(self, params={}): method clob_public_get_last_trades_prices (line 3836) | def clob_public_get_last_trades_prices(self, params={}): method clob_public_get_trades (line 3859) | def clob_public_get_trades(self, params={}): method clob_public_get_tick_size (line 3896) | def clob_public_get_tick_size(self, params={}): method clob_public_get_neg_risk (line 3914) | def clob_public_get_neg_risk(self, params={}): method clob_public_post_spreads (line 3932) | def clob_public_post_spreads(self, params={}): method clob_private_get_order (line 3955) | def clob_private_get_order(self, params={}): method clob_private_get_orders (line 3972) | def clob_private_get_orders(self, params={}): method clob_private_post_order (line 3985) | def clob_private_post_order(self, params={}): method clob_private_post_orders (line 4027) | def clob_private_post_orders(self, params={}): method clob_private_delete_order (line 4044) | def clob_private_delete_order(self, params={}): method clob_private_delete_orders (line 4064) | def clob_private_delete_orders(self, params={}): method clob_private_delete_cancel_all (line 4081) | def clob_private_delete_cancel_all(self, params={}): method clob_private_delete_cancel_market_orders (line 4094) | def clob_private_delete_cancel_market_orders(self, params={}): method clob_private_get_trades (line 4116) | def clob_private_get_trades(self, params={}): method clob_private_get_builder_trades (line 4132) | def clob_private_get_builder_trades(self, params={}): method clob_private_get_notifications (line 4146) | def clob_private_get_notifications(self, params={}): method clob_private_delete_notifications (line 4157) | def clob_private_delete_notifications(self, params={}): method clob_private_get_balance_allowance (line 4169) | def clob_private_get_balance_allowance(self, params={}): method clob_private_put_balance_allowance (line 4181) | def clob_private_put_balance_allowance(self, params={}): method clob_private_get_is_order_scoring (line 4194) | def clob_private_get_is_order_scoring(self, params={}): method clob_private_post_are_orders_scoring (line 4211) | def clob_private_post_are_orders_scoring(self, params={}): method get_main_wallet_address (line 4229) | def get_main_wallet_address(self): method get_proxy_wallet_address (line 4241) | def get_proxy_wallet_address(self): method get_builder_wallet_address (line 4254) | def get_builder_wallet_address(self): method get_user_total_value (line 4265) | def get_user_total_value(self, userAddress: str = None) -> dict: method get_user_positions (line 4301) | def get_user_positions(self, userAddress: str = None, params={}) -> dict: method get_user_activity (line 4326) | def get_user_activity(self, userAddress: str = None, params={}) -> dict: method parse_user_activity (line 4357) | def parse_user_activity(self, activity: dict, market: Market = None) -... method format_address (line 4383) | def format_address(self, address: str = None): method normalize_address (line 4390) | def normalize_address(self, address: str) -> str: method hash_message (line 4396) | def hash_message(self, message: str) -> str: method get_contract_config (line 4404) | def get_contract_config(self, chainID: float) -> dict: method sign_message (line 4412) | def sign_message(self, message: str, privateKey: str) -> str: method sign_hash (line 4416) | def sign_hash(self, hash: str, privateKey: str): method sign_typed_data (line 4425) | def sign_typed_data(self, domain: dict, types: dict, value: dict) -> str: method create_level1_headers (line 4434) | def create_level1_headers(self, walletAddress: str, nonce: float = Non... method get_clob_base_url (line 4476) | def get_clob_base_url(self, params={}) -> str: method parse_api_credentials (line 4493) | def parse_api_credentials(self, response: Any) -> dict: method create_api_key (line 4517) | def create_api_key(self, params={}) -> dict: method derive_api_key (line 4547) | def derive_api_key(self, params={}) -> dict: method create_or_derive_api_creds (line 4571) | def create_or_derive_api_creds(self, params={}) -> dict: method set_api_creds (line 4593) | def set_api_creds(self, credentials: dict): method get_api_base_url (line 4606) | def get_api_base_url(self, params={}) -> str: method build_default_headers (line 4637) | def build_default_headers(self, method: str, existingHeaders: dict = N... method build_public_request (line 4660) | def build_public_request(self, baseUrl: str, pathWithParams: str, meth... method ensure_api_credentials (line 4682) | def ensure_api_credentials(self, params={}) -> dict: method get_api_credentials (line 4711) | def get_api_credentials(self) -> dict: method build_request_path_and_payload (line 4737) | def build_request_path_and_payload(self, pathWithParams: str, method: ... method create_level2_signature (line 4770) | def create_level2_signature(self, timestamp: str, method: str, request... method create_level2_headers (line 4799) | def create_level2_headers(self, apiKey: str, timestamp: str, signature... method build_private_request (line 4842) | def build_private_request(self, baseUrl: str, pathWithParams: str, met... method sign (line 4892) | def sign(self, path, api: Any = [ 'clob', 'public' ], method='GET', pa... method handle_errors (line 4922) | def handle_errors(self, code: int, reason: str, url: str, method: str,... FILE: Trading/Exchange/polymarket/polymarket_exchange.py class PolymarketConnector (line 23) | class PolymarketConnector(exchanges.CCXTConnector): method _client_factory (line 25) | def _client_factory( method _keys_adapter (line 32) | def _keys_adapter(self, creds: exchanges.ExchangeCredentialsData) -> e... class Polymarket (line 40) | class Polymarket(exchanges.RestExchange): method get_name (line 47) | def get_name(cls): method get_additional_connector_config (line 50) | def get_additional_connector_config(self): FILE: Trading/Exchange/polymarket/script/download.py function apply_patches (line 49) | def apply_patches(file_path: str, patches: List[Tuple[str, str]]) -> None: function copy_files (line 82) | def copy_files() -> None: FILE: Trading/Exchange/polymarket_websocket_feed/polymarket_websocket.py class PolymarketWebsocketConnector (line 21) | class PolymarketWebsocketConnector(exchanges.CCXTWebsocketConnector): method get_name (line 30) | def get_name(cls): FILE: Trading/Exchange/upbitexchange/upbit_exchange.py class UpbitExchange (line 19) | class UpbitExchange(exchanges.RestExchange): method get_name (line 25) | def get_name(cls): FILE: Trading/Exchange/wavesexchange/wavesexchange_exchange.py class WavesExchange (line 23) | class WavesExchange(exchanges.RestExchange): method get_name (line 29) | def get_name(cls): method get_adapter_class (line 32) | def get_adapter_class(self): method get_symbol_prices (line 35) | async def get_symbol_prices(self, symbol: str, time_frame: commons_enu... class WavesCCXTAdapter (line 44) | class WavesCCXTAdapter(exchanges.CCXTAdapter): method fix_ticker (line 46) | def fix_ticker(self, raw, **kwargs): FILE: Trading/Mode/arbitrage_trading_mode/arbitrage_container.py class ArbitrageContainer (line 22) | class ArbitrageContainer: method __init__ (line 26) | def __init__(self, own_exchange_price: decimal.Decimal, target_price: ... method is_similar (line 36) | def is_similar(self, own_exchange_price: decimal.Decimal, state): method is_expired (line 60) | def is_expired(self, other_exchanges_average_price): method should_be_discarded_after_order_cancel (line 68) | def should_be_discarded_after_order_cancel(self, order_id): method is_watching_this_order (line 72) | def is_watching_this_order(self, order_id): FILE: Trading/Mode/arbitrage_trading_mode/arbitrage_trading.py class ArbitrageTradingMode (line 39) | class ArbitrageTradingMode(trading_modes.AbstractTradingMode): method __init__ (line 41) | def __init__(self, config, exchange_manager): method init_user_inputs (line 45) | def init_user_inputs(self, inputs: dict) -> None: method get_current_state (line 83) | def get_current_state(self) -> (str, float): method get_mode_producer_classes (line 87) | def get_mode_producer_classes(self) -> list: method get_mode_consumer_classes (line 90) | def get_mode_consumer_classes(self) -> list: method create_consumers (line 93) | async def create_consumers(self) -> list: method _order_notification_callback (line 103) | async def _order_notification_callback(self, exchange, exchange_id, cr... method get_is_trading_on_exchange (line 115) | def get_is_trading_on_exchange(cls, exchange_name, tentacles_setup_con... method get_is_symbol_wildcard (line 127) | def get_is_symbol_wildcard(cls) -> bool: method is_backtestable (line 134) | def is_backtestable(): class ArbitrageModeConsumer (line 138) | class ArbitrageModeConsumer(trading_modes.AbstractTradingModeConsumer): method __init__ (line 145) | def __init__(self, trading_mode): method on_reload_config (line 149) | def on_reload_config(self): method create_new_orders (line 159) | async def create_new_orders(self, symbol, final_note, state, **kwargs): method _create_initial_arbitrage_order (line 169) | async def _create_initial_arbitrage_order(self, arbitrage_container): method _create_secondary_arbitrage_order (line 201) | async def _create_secondary_arbitrage_order(self, arbitrage_container,... method _get_quantity_from_holdings (line 260) | def _get_quantity_from_holdings(self, current_symbol_holding, market_q... method _get_stop_loss_price (line 266) | def _get_stop_loss_price(self, symbol_market, starting_price, now_sell... class ArbitrageModeProducer (line 276) | class ArbitrageModeProducer(trading_modes.AbstractTradingModeProducer): method __init__ (line 278) | def __init__(self, channel, config, trading_mode, exchange_manager): method on_reload_config (line 288) | def on_reload_config(self): method inner_start (line 300) | async def inner_start(self) -> None: method order_filled_callback (line 327) | async def order_filled_callback(self, filled_order): method order_cancelled_callback (line 350) | async def order_cancelled_callback(self, cancelled_order): method _own_exchange_mark_price_callback (line 364) | async def _own_exchange_mark_price_callback( method _mark_price_callback (line 383) | async def _mark_price_callback( method _analyse_arbitrage_opportunities (line 402) | async def _analyse_arbitrage_opportunities(self): method _is_traded_state (line 421) | def _is_traded_state(self, state): method _trigger_arbitrage_opportunity (line 429) | async def _trigger_arbitrage_opportunity(self, other_exchanges_average... method _create_arbitrage_initial_order (line 438) | async def _create_arbitrage_initial_order(self, arbitrage_container): method _trigger_arbitrage_secondary_order (line 450) | async def _trigger_arbitrage_secondary_order(self, arbitrage: arbitrag... method _create_arbitrage_secondary_order (line 473) | async def _create_arbitrage_secondary_order(self, arbitrage_container,... method _ensure_no_existing_arbitrage_on_this_price (line 486) | def _ensure_no_existing_arbitrage_on_this_price(self, state): method _get_arbitrage (line 492) | def _get_arbitrage(self, order_id): method _ensure_no_expired_opportunities (line 498) | async def _ensure_no_expired_opportunities(self, other_exchanges_avera... method _cancel_order (line 511) | async def _cancel_order(self, arbitrage_container) -> bool: method _log_arbitrage_opportunity_details (line 531) | def _log_arbitrage_opportunity_details(self, other_exchanges_average_p... method _log_results (line 540) | def _log_results(self, arbitrage, success, filled_quantity): method _close_arbitrage (line 547) | def _close_arbitrage(self, arbitrage): method _get_open_arbitrages (line 552) | def _get_open_arbitrages(self): method _register_state (line 555) | def _register_state(self, new_state, price_difference): method _exchange_added_callback (line 561) | async def _exchange_added_callback(self, bot_id: str, subject: str, ac... method _subscribe_exchange_id_mark_price (line 567) | async def _subscribe_exchange_id_mark_price(self, exchange_id): method set_final_eval (line 580) | async def set_final_eval(self, matrix_id: str, cryptocurrency: str, sy... method get_should_cancel_loaded_orders (line 585) | def get_should_cancel_loaded_orders(cls) -> bool: method stop (line 588) | async def stop(self): FILE: Trading/Mode/arbitrage_trading_mode/tests/__init__.py function exchange (line 38) | async def exchange(exchange_name, backtesting=None, symbol="BTC/USDT"): FILE: Trading/Mode/arbitrage_trading_mode/tests/test_arbitrage_container.py function test_is_similar_with_prices_close_to_own_price (line 22) | def test_is_similar_with_prices_close_to_own_price(): function test_is_similar_with_prices_close_to_own_price_very_low_prices (line 42) | def test_is_similar_with_prices_close_to_own_price_very_low_prices(): function test_is_similar_with_prices_in_arbitrage_range (line 75) | def test_is_similar_with_prices_in_arbitrage_range(): function test_is_expired (line 91) | def test_is_expired(): function test_is_expired_very_low_prices (line 103) | def test_is_expired_very_low_prices(): function test_should_be_discarded_after_order_cancel (line 117) | def test_should_be_discarded_after_order_cancel(): function test_is_watching_this_order (line 125) | def test_is_watching_this_order(): FILE: Trading/Mode/arbitrage_trading_mode/tests/test_arbitrage_trading_mode_consumer.py function test_init (line 31) | async def test_init(): function test_create_new_orders (line 46) | async def test_create_new_orders(): function test_create_initial_arbitrage_order (line 82) | async def test_create_initial_arbitrage_order(): function test_create_secondary_arbitrage_order (line 111) | async def test_create_secondary_arbitrage_order(): function test_get_quantity_from_holdings (line 184) | async def test_get_quantity_from_holdings(): function test_get_stop_loss_price (line 192) | async def test_get_stop_loss_price(): FILE: Trading/Mode/arbitrage_trading_mode/tests/test_arbitrage_trading_mode_producer.py function test_init (line 30) | async def test_init(): function test_own_exchange_mark_price_callback (line 45) | async def test_own_exchange_mark_price_callback(): function test_mark_price_callback (line 62) | async def test_mark_price_callback(): function test_order_filled_callback (line 90) | async def test_order_filled_callback(): function test_order_cancelled_callback (line 157) | async def test_order_cancelled_callback(): function test_analyse_arbitrage_opportunities (line 185) | async def test_analyse_arbitrage_opportunities(): function test_trigger_arbitrage_opportunity (line 302) | async def test_trigger_arbitrage_opportunity(): function test_log_arbitrage_opportunity_details (line 317) | async def test_log_arbitrage_opportunity_details(): function test_trigger_arbitrage_secondary_order (line 356) | async def test_trigger_arbitrage_secondary_order(): function test_ensure_no_existing_arbitrage_on_this_price (line 401) | async def test_ensure_no_existing_arbitrage_on_this_price(): function test_get_arbitrage (line 423) | async def test_get_arbitrage(): function test_ensure_no_expired_opportunities (line 434) | async def test_ensure_no_expired_opportunities(): function test_close_arbitrage (line 455) | async def test_close_arbitrage(): function test_get_open_arbitrages (line 467) | async def test_get_open_arbitrages(): function test_register_state (line 482) | async def test_register_state(): function get_order_dict (line 491) | def get_order_dict(order_id, symbol, price, quantity, status, order_type... FILE: Trading/Mode/blank_trading_mode/blank_trading.py class BlankTradingMode (line 21) | class BlankTradingMode(trading_modes.AbstractTradingMode): method is_backtestable (line 27) | def is_backtestable(): method get_supported_exchange_types (line 31) | def get_supported_exchange_types(cls) -> list: FILE: Trading/Mode/daily_trading_mode/daily_trading.py class OrderDetails (line 42) | class OrderDetails: class DailyTradingMode (line 47) | class DailyTradingMode(trading_modes.AbstractTradingMode): method init_user_inputs (line 49) | def init_user_inputs(self, inputs: dict) -> None: method get_supported_exchange_types (line 166) | def get_supported_exchange_types(cls) -> list: method get_current_state (line 175) | def get_current_state(self) -> (str, float): method get_mode_producer_classes (line 179) | def get_mode_producer_classes(self) -> list: method get_mode_consumer_classes (line 182) | def get_mode_consumer_classes(self) -> list: method get_is_symbol_wildcard (line 186) | def get_is_symbol_wildcard(cls) -> bool: class DailyTradingModeConsumer (line 190) | class DailyTradingModeConsumer(trading_modes.AbstractTradingModeConsumer): method __init__ (line 210) | def __init__(self, trading_mode): method flush (line 275) | def flush(self): method _get_limit_price_from_risk (line 287) | def _get_limit_price_from_risk(self, eval_note): method _get_stop_price_from_risk (line 310) | def _get_stop_price_from_risk(self, is_long): method _get_limit_quantity_from_risk (line 320) | async def _get_limit_quantity_from_risk(self, ctx, eval_note, max_quan... method _get_market_quantity_from_risk (line 372) | async def _get_market_quantity_from_risk(self, ctx, eval_note, max_qua... method _get_ratio (line 407) | def _get_ratio(self, currency): method _get_quantity_ratio (line 415) | def _get_quantity_ratio(self, currency): method _get_max_amount_from_max_ratio (line 425) | def _get_max_amount_from_max_ratio(self, max_ratio, quantity, currency... method _get_split_take_profit_details (line 444) | def _get_split_take_profit_details( method _create_order (line 461) | async def _create_order( method create_new_orders (line 548) | async def create_new_orders(self, symbol, final_note, state, **kwargs): class DailyTradingModeProducer (line 969) | class DailyTradingModeProducer(trading_modes.AbstractTradingModeProducer): method __init__ (line 971) | def __init__(self, channel, config, trading_mode, exchange_manager): method stop (line 983) | async def stop(self): method set_final_eval (line 988) | async def set_final_eval(self, matrix_id: str, cryptocurrency: str, sy... method _get_delta_risk (line 1012) | def _get_delta_risk(self): method create_state (line 1015) | async def create_state(self, cryptocurrency: str, symbol: str): method get_should_cancel_loaded_orders (line 1045) | def get_should_cancel_loaded_orders(cls): method _set_state (line 1048) | async def _set_state(self, cryptocurrency: str, symbol: str, new_state): method _cancel_position_opening_orders (line 1080) | async def _cancel_position_opening_orders(self, symbol) -> signals.Sig... method _send_alert_notification (line 1097) | async def _send_alert_notification(self, symbol, new_state): FILE: Trading/Mode/daily_trading_mode/tests/test_daily_trading_mode.py function test_run_independent_backtestings_with_memory_check (line 29) | async def test_run_independent_backtestings_with_memory_check(): FILE: Trading/Mode/daily_trading_mode/tests/test_daily_trading_mode_consumer.py function tools (line 50) | async def tools(): function future_tools (line 106) | async def future_tools(): function _stop (line 171) | async def _stop(exchange_manager): function test_valid_create_new_orders_no_ref_market_as_quote (line 180) | async def test_valid_create_new_orders_no_ref_market_as_quote(tools): function test_valid_create_new_orders_ref_market_as_quote (line 351) | async def test_valid_create_new_orders_ref_market_as_quote(tools): function test_invalid_create_new_orders (line 465) | async def test_invalid_create_new_orders(tools): function test_create_new_orders_with_dusts_included (line 492) | async def test_create_new_orders_with_dusts_included(tools): function test_split_create_new_orders (line 521) | async def test_split_create_new_orders(tools): function test_valid_create_new_orders_without_stop_order (line 639) | async def test_valid_create_new_orders_without_stop_order(tools): function _get_evaluations_gradient (line 679) | def _get_evaluations_gradient(step): function _get_states_gradient_with_invald_states (line 684) | def _get_states_gradient_with_invald_states(): function _get_irrationnal_numbers (line 690) | def _get_irrationnal_numbers(): function _reset_portfolio (line 696) | def _reset_portfolio(exchange_manager): function test_create_orders_using_a_lot_of_different_inputs_with_portfolio_reset (line 703) | async def test_create_orders_using_a_lot_of_different_inputs_with_portfo... function test_create_order_using_a_lot_of_different_inputs_without_portfolio_reset (line 776) | async def test_create_order_using_a_lot_of_different_inputs_without_port... function test_create_multiple_buy_orders_after_fill (line 860) | async def test_create_multiple_buy_orders_after_fill(tools): function ensure_smaller_orders (line 884) | async def ensure_smaller_orders(consumer, symbol, trader): function test_create_new_orders_with_cancel_policy (line 928) | async def test_create_new_orders_with_cancel_policy(tools): function test_chained_stop_loss_and_take_profit_orders (line 986) | async def test_chained_stop_loss_and_take_profit_orders(tools): function test_chained_multiple_take_profit_orders (line 1123) | async def test_chained_multiple_take_profit_orders(tools): function test_chained_multiple_take_profit_with_filled_tp_trailing_stop_orders (line 1267) | async def test_chained_multiple_take_profit_with_filled_tp_trailing_stop... function test_create_stop_loss_orders (line 1327) | async def test_create_stop_loss_orders(tools): function test_get_limit_quantity_from_risk (line 1376) | async def test_get_limit_quantity_from_risk(tools): function test_get_market_quantity_from_risk (line 1437) | async def test_get_market_quantity_from_risk(tools): function test_target_profit_mode (line 1498) | async def test_target_profit_mode(tools): function test_target_profit_mode_futures_trading (line 1573) | async def test_target_profit_mode_futures_trading(future_tools): FILE: Trading/Mode/daily_trading_mode/tests/test_daily_trading_mode_producer.py function tools (line 47) | async def tools(symbol="BTC/USDT"): function _stop (line 92) | async def _stop(trader): function test_default_values (line 99) | async def test_default_values(tools): function test_set_state (line 104) | async def test_set_state(tools): function test_get_delta_risk (line 233) | async def test_get_delta_risk(tools): function test_create_state (line 241) | async def test_create_state(tools): function test_set_final_eval (line 259) | async def test_set_final_eval(tools): function test_finalize (line 279) | async def test_finalize(tools): function _check_open_orders_count (line 299) | async def _check_open_orders_count(trader, count): function _check_trades_count (line 303) | def _check_trades_count(trader, count): FILE: Trading/Mode/dca_trading_mode/dca_trading.py class TriggerMode (line 42) | class TriggerMode(enum.Enum): class DCATradingModeConsumer (line 47) | class DCATradingModeConsumer(trading_modes.AbstractTradingModeConsumer): method create_new_orders (line 74) | async def create_new_orders(self, symbol, _, state, **kwargs): method _cancel_existing_orders_if_replaceable (line 237) | async def _cancel_existing_orders_if_replaceable( method _can_create_entry_orders_regarding_min_exchange_order_size (line 282) | async def _can_create_entry_orders_regarding_min_exchange_order_size( method _is_above_exchange_min_order_size (line 323) | def _is_above_exchange_min_order_size(self, quantity, price, symbol_ma... method _create_entry_order (line 332) | async def _create_entry_order( method _create_entry_with_chained_exit_orders (line 389) | async def _create_entry_with_chained_exit_orders( method _is_max_asset_ratio_reached (line 499) | def _is_max_asset_ratio_reached(self, symbol): method _split_entry_quantity (line 515) | def _split_entry_quantity(quantity, target_exits_count, lowest_price, ... method skip_portfolio_available_check_before_creating_orders (line 532) | def skip_portfolio_available_check_before_creating_orders(self) -> bool: class DCATradingModeProducer (line 542) | class DCATradingModeProducer(trading_modes.AbstractTradingModeProducer): method __init__ (line 549) | def __init__(self, channel, config, trading_mode, exchange_manager): method stop (line 554) | async def stop(self): method set_final_eval (line 561) | async def set_final_eval(self, matrix_id: str, cryptocurrency: str, sy... method _should_trigger_init_entry (line 611) | def _should_trigger_init_entry(self): method trigger_dca (line 616) | async def trigger_dca(self, cryptocurrency: str, symbol: str, state: t... method _process_pre_entry_actions (line 631) | async def _process_pre_entry_actions(self, symbol: str, side=trading_e... method _process_entries (line 654) | async def _process_entries(self, cryptocurrency: str, symbol: str, sta... method _process_exits (line 673) | async def _process_exits(self, cryptocurrency: str, symbol: str, state... method dca_task (line 677) | async def dca_task(self): method inner_start (line 699) | async def inner_start(self) -> None: method get_channels_registration (line 704) | def get_channels_registration(self): method get_extra_init_symbol_topics (line 715) | def get_extra_init_symbol_topics(self) -> typing.Optional[list]: method delayed_start (line 722) | async def delayed_start(self): method _send_alert_notification (line 725) | async def _send_alert_notification(self, symbol, state, step): class DCATradingMode (line 746) | class DCATradingMode(trading_modes.AbstractTradingMode): method __init__ (line 754) | def __init__(self, config, exchange_manager): method init_user_inputs (line 786) | def init_user_inputs(self, inputs: dict) -> None: method get_default_config (line 1014) | def get_default_config( method get_is_symbol_wildcard (line 1067) | def get_is_symbol_wildcard(cls) -> bool: method get_supported_exchange_types (line 1071) | def get_supported_exchange_types(cls) -> list: method get_current_state (line 1080) | def get_current_state(self) -> (str, float): method single_exchange_process_optimize_initial_portfolio (line 1087) | async def single_exchange_process_optimize_initial_portfolio( method single_exchange_process_health_check (line 1100) | async def single_exchange_process_health_check(self, chained_orders: l... method _get_lost_funds_to_sell (line 1145) | def _get_lost_funds_to_sell(self, common_quote: str, chained_orders: l... FILE: Trading/Mode/dca_trading_mode/tests/test_dca_trading_mode.py function tools (line 61) | async def tools(): function futures_tools (line 73) | async def futures_tools(): function test_run_independent_backtestings_with_memory_check (line 84) | async def test_run_independent_backtestings_with_memory_check(): function _get_config (line 163) | def _get_config(tools, update): function test_init_default_values (line 169) | async def test_init_default_values(tools): function test_init_config_values (line 191) | async def test_init_config_values(tools): function test_inner_start (line 231) | async def test_inner_start(tools): function test_dca_task (line 250) | async def test_dca_task(tools): function test_trigger_dca (line 293) | async def test_trigger_dca(tools): function test_process_entries (line 329) | async def test_process_entries(tools): function test_get_channels_registration (line 369) | async def test_get_channels_registration(tools): function _process_exits (line 380) | async def _process_exits(tools): function test_split_entry_quantity (line 390) | async def test_split_entry_quantity(tools): function test_create_entry_with_chained_exit_orders (line 414) | async def test_create_entry_with_chained_exit_orders(tools): function test_skip_create_entry_order_when_too_many_live_exit_orders (line 603) | async def test_skip_create_entry_order_when_too_many_live_exit_orders(to... function test_create_entry_order (line 681) | async def test_create_entry_order(tools): function test_create_entry_order_with_max_ratio (line 729) | async def test_create_entry_order_with_max_ratio(tools): function test_create_create_order_if_possible_with_funds_already_locked (line 763) | async def test_create_create_order_if_possible_with_funds_already_locked... function test_is_max_asset_ratio_reached (line 799) | async def test_is_max_asset_ratio_reached(tools): function test_create_new_orders (line 833) | async def test_create_new_orders(tools): function test_create_new_orders_fully_used_portfolio (line 1061) | async def test_create_new_orders_fully_used_portfolio(tools): function test_create_new_buy_orders_fees_in_quote (line 1133) | async def test_create_new_buy_orders_fees_in_quote(tools): function test_create_new_buy_orders_futures_trading (line 1196) | async def test_create_new_buy_orders_futures_trading(futures_tools): function test_create_set_leverage_on_futures_trading (line 1250) | async def test_create_set_leverage_on_futures_trading(futures_tools): function test_single_exchange_process_optimize_initial_portfolio (line 1288) | async def test_single_exchange_process_optimize_initial_portfolio(tools): function test_single_exchange_process_health_check (line 1311) | async def test_single_exchange_process_health_check(tools): function _check_open_orders_count (line 1461) | async def _check_open_orders_count(trader, count): function _get_tools (line 1465) | async def _get_tools(symbol="BTC/USDT"): function _get_futures_tools (line 1505) | async def _get_futures_tools(symbol="BTC/USDT:USDT"): function _init_mode (line 1554) | async def _init_mode(tools, config): function _fill_order (line 1560) | async def _fill_order(order, trader, trigger_update_callback=True, ignor... function _stop (line 1574) | async def _stop(exchange_manager): FILE: Trading/Mode/dip_analyser_trading_mode/dip_analyser_trading.py class DipAnalyserTradingMode (line 36) | class DipAnalyserTradingMode(trading_modes.AbstractTradingMode): method __init__ (line 38) | def __init__(self, config, exchange_manager): method init_user_inputs (line 42) | def init_user_inputs(self, inputs: dict) -> None: method get_supported_exchange_types (line 107) | def get_supported_exchange_types(cls) -> list: method get_current_state (line 116) | def get_current_state(self) -> (str, float): method get_mode_producer_classes (line 120) | def get_mode_producer_classes(self) -> list: method get_mode_consumer_classes (line 123) | def get_mode_consumer_classes(self) -> list: method create_consumers (line 126) | async def create_consumers(self) -> list: method _order_notification_callback (line 137) | async def _order_notification_callback(self, exchange, exchange_id, cr... method get_is_symbol_wildcard (line 144) | def get_is_symbol_wildcard(cls) -> bool: class DipAnalyserTradingModeConsumer (line 148) | class DipAnalyserTradingModeConsumer(trading_modes.AbstractTradingModeCo... method __init__ (line 180) | def __init__(self, trading_mode): method on_reload_config (line 184) | def on_reload_config(self): method create_new_orders (line 207) | async def create_new_orders(self, symbol, final_note, state, **kwargs): method create_buy_order (line 223) | async def create_buy_order(self, symbol, timeout, volume_weight, price... method create_sell_orders (line 282) | async def create_sell_orders( method _create_exit_with_stop_loss_if_enabled (line 339) | async def _create_exit_with_stop_loss_if_enabled(self, sell_order_to_c... method _register_buy_order (line 370) | def _register_buy_order(self, order_id, price_weight): method unregister_buy_order (line 373) | def unregister_buy_order(self, order_id): method _get_buy_quantity_from_weight (line 376) | async def _get_buy_quantity_from_weight(self, ctx, volume_weight, mark... method _get_sell_target_for_registered_order (line 414) | def _get_sell_target_for_registered_order(self, order_id): method get_limit_price (line 426) | def get_limit_price(self, price): method _generate_sell_orders (line 430) | def _generate_sell_orders(self, sell_orders_count, quantity, sell_weig... class DipAnalyserTradingModeProducer (line 459) | class DipAnalyserTradingModeProducer(trading_modes.AbstractTradingModePr... method __init__ (line 462) | def __init__(self, channel, config, trading_mode, exchange_manager): method on_reload_config (line 472) | def on_reload_config(self): method stop (line 479) | async def stop(self): method set_final_eval (line 484) | async def set_final_eval(self, matrix_id: str, cryptocurrency: str, sy... method create_state (line 499) | async def create_state(self): method order_filled_callback (line 510) | async def order_filled_callback(self, filled_order): method _create_sell_order_if_enabled (line 525) | async def _create_sell_order_if_enabled(self, order_id, sell_quantity,... method _create_bottom_order (line 538) | async def _create_bottom_order(self, notification_candle_time, volume_... method _create_buy_order_if_enabled (line 543) | async def _create_buy_order_if_enabled(self, notification_candle_time,... method get_should_cancel_loaded_orders (line 566) | def get_should_cancel_loaded_orders(cls): method _get_current_buy_orders (line 569) | def _get_current_buy_orders(self): method _cancel_buy_orders (line 575) | async def _cancel_buy_orders(self): FILE: Trading/Mode/dip_analyser_trading_mode/tests/test_dip_analyser_trading_mode.py function tools (line 49) | async def tools(): function test_run_independent_backtestings_with_memory_check (line 60) | async def test_run_independent_backtestings_with_memory_check(): function test_init (line 75) | async def test_init(tools): function test_create_limit_bottom_order (line 99) | async def test_create_limit_bottom_order(tools): function test_create_market_bottom_order (line 150) | async def test_create_market_bottom_order(tools): function test_create_bottom_order_with_configured_quantity (line 204) | async def test_create_bottom_order_with_configured_quantity(tools): function test_create_too_large_bottom_order (line 239) | async def test_create_too_large_bottom_order(tools): function test_create_too_small_bottom_order (line 252) | async def test_create_too_small_bottom_order(tools): function test_create_bottom_order_replace_current (line 263) | async def test_create_bottom_order_replace_current(tools): function test_create_sell_orders_without_stop_loss (line 364) | async def test_create_sell_orders_without_stop_loss(tools): function test_create_sell_orders_with_stop_loss (line 436) | async def test_create_sell_orders_with_stop_loss(tools): function test_create_too_large_sell_orders (line 519) | async def test_create_too_large_sell_orders(tools): function test_create_too_small_sell_orders (line 557) | async def test_create_too_small_sell_orders(tools): function test_order_fill_callback_with_limit_entry (line 608) | async def test_order_fill_callback_with_limit_entry(tools): function test_order_fill_callback_with_market_entry (line 657) | async def test_order_fill_callback_with_market_entry(tools): function test_order_fill_callback_without_fees (line 693) | async def test_order_fill_callback_without_fees(tools): function test_order_fill_callback_without_fees_adapted_rounding (line 720) | async def test_order_fill_callback_without_fees_adapted_rounding(tools): function test_order_fill_callback_not_in_db (line 750) | async def test_order_fill_callback_not_in_db(tools): function _check_open_orders_count (line 791) | async def _check_open_orders_count(trader, count): function _get_tools (line 795) | async def _get_tools(symbol="BTC/USDT"): function _fill_order (line 834) | async def _fill_order(order, trader, trigger_update_callback=True, ignor... function _stop (line 848) | async def _stop(exchange_manager): FILE: Trading/Mode/grid_trading_mode/grid_trading.py class AllowedPriceRange (line 30) | class AllowedPriceRange: class GridTradingMode (line 35) | class GridTradingMode(staggered_orders_trading.StaggeredOrdersTradingMode): method init_user_inputs (line 48) | def init_user_inputs(self, inputs: dict) -> None: method get_default_pair_config (line 223) | def get_default_pair_config( method get_mode_producer_classes (line 251) | def get_mode_producer_classes(self) -> list: method get_mode_consumer_classes (line 254) | def get_mode_consumer_classes(self) -> list: method user_commands_callback (line 257) | async def user_commands_callback(self, bot_id, subject, action, data) ... method get_user_commands (line 270) | def get_user_commands(cls) -> dict: class GridTradingModeConsumer (line 292) | class GridTradingModeConsumer(staggered_orders_trading.StaggeredOrdersTr... class GridTradingModeProducer (line 296) | class GridTradingModeProducer(staggered_orders_trading.StaggeredOrdersTr... method __init__ (line 302) | def __init__(self, channel, config, trading_mode, exchange_manager): method read_config (line 312) | def read_config(self): method _handle_staggered_orders (line 362) | async def _handle_staggered_orders( method trigger_staggered_orders_creation (line 385) | async def trigger_staggered_orders_creation(self): method _load_symbol_trading_config (line 395) | def _load_symbol_trading_config(self) -> bool: method _apply_default_symbol_config (line 400) | def _apply_default_symbol_config(self) -> bool: method _generate_staggered_orders (line 423) | async def _generate_staggered_orders(self, current_price, ignore_avail... method _get_origin_orders_count (line 565) | def _get_origin_orders_count(self, recent_trades, open_orders): method _get_grid_trades_or_orders (line 582) | def _get_grid_trades_or_orders(self, trades_or_orders): method _init_allowed_price_ranges (line 628) | def _init_allowed_price_ranges(self, current_price): method _check_params (line 637) | def _check_params(self): method _create_new_orders_bundle (line 642) | def _create_new_orders_bundle( method _get_order_count_and_average_quantity (line 660) | def _get_order_count_and_average_quantity(self, current_price, selling... method _get_max_theoretical_orders_count (line 672) | def _get_max_theoretical_orders_count(self): FILE: Trading/Mode/grid_trading_mode/tests/open_orders_data.py function get_full_sol_usdt_open_orders (line 7) | async def get_full_sol_usdt_open_orders(exchange_manager) -> list[person... FILE: Trading/Mode/grid_trading_mode/tests/test_grid_trading_mode.py function _init_trading_mode (line 52) | async def _init_trading_mode(config, exchange_manager, symbol): function _get_tools (line 66) | async def _get_tools(symbol, btc_holdings=None, additional_portfolio={},... function _stop (line 122) | async def _stop(exchange_manager): function test_run_independent_backtestings_with_memory_check (line 131) | async def test_run_independent_backtestings_with_memory_check(): function test_init_allowed_price_ranges_with_flat_values (line 143) | async def test_init_allowed_price_ranges_with_flat_values(): function test_init_allowed_price_ranges_with_percent_values (line 161) | async def test_init_allowed_price_ranges_with_percent_values(): function test_create_orders_with_default_config (line 188) | async def test_create_orders_with_default_config(): function test_create_orders_without_enough_funds_for_all_orders_16_total_orders (line 249) | async def test_create_orders_without_enough_funds_for_all_orders_16_tota... function test_create_orders_without_enough_funds_for_all_orders_3_total_orders (line 297) | async def test_create_orders_without_enough_funds_for_all_orders_3_total... function test_create_orders_with_fixed_volume_per_order (line 345) | async def test_create_orders_with_fixed_volume_per_order(): function test_start_with_existing_valid_orders (line 373) | async def test_start_with_existing_valid_orders(): function test_start_after_offline_filled_orders_without_recent_trades (line 433) | async def test_start_after_offline_filled_orders_without_recent_trades(): function test_start_after_offline_filled_orders_with_recent_trades (line 499) | async def test_start_after_offline_filled_orders_with_recent_trades(): function test_start_after_offline_filled_orders_close_to_price_with_recent_trades_considering_fees (line 559) | async def test_start_after_offline_filled_orders_close_to_price_with_rec... function test_start_after_offline_filled_orders_close_to_price_with_recent_trades_ignoring_fees_with_enough_available_funds (line 612) | async def test_start_after_offline_filled_orders_close_to_price_with_rec... function test_start_after_offline_filled_orders_close_to_price_with_recent_trades_ignoring_fees_without_enough_available_sell_funds (line 664) | async def test_start_after_offline_filled_orders_close_to_price_with_rec... function test_start_after_offline_filled_orders_close_to_price_with_recent_trades_ignoring_fees_without_enough_available_buy_funds (line 720) | async def test_start_after_offline_filled_orders_close_to_price_with_rec... function test_start_after_offline_full_sell_side_filled_orders_with_recent_trades (line 780) | async def test_start_after_offline_full_sell_side_filled_orders_with_rec... function test_start_after_offline_full_sell_side_filled_orders_price_back (line 824) | async def test_start_after_offline_full_sell_side_filled_orders_price_ba... function test_start_after_offline_full_buy_side_filled_orders_price_back_with_recent_trades (line 884) | async def test_start_after_offline_full_buy_side_filled_orders_price_bac... function test_start_after_offline_buy_side_10_filled (line 927) | async def test_start_after_offline_buy_side_10_filled(): function test_start_after_offline_x_filled_and_price_back_should_sell_to_recreate_buy (line 979) | async def test_start_after_offline_x_filled_and_price_back_should_sell_t... function test_start_after_offline_1_filled_and_price_back_should_NOT_sell_to_recreate_buy_but_just_create_a_sell_order (line 1032) | async def test_start_after_offline_1_filled_and_price_back_should_NOT_se... function test_start_after_offline_1_filled_and_price_back_should_NOT_sell_to_recreate_buy_but_just_create_a_sell_order_with_surrounding_partially_filled_orders (line 1089) | async def test_start_after_offline_1_filled_and_price_back_should_NOT_se... function test_start_after_offline_1_filled_and_price_back_should_NOT_buy_to_recreate_sell_but_just_create_a_buy_order (line 1165) | async def test_start_after_offline_1_filled_and_price_back_should_NOT_bu... function test_start_after_offline_2_filled_and_price_back_should_buy_to_recreate_sell (line 1223) | async def test_start_after_offline_2_filled_and_price_back_should_buy_to... function test_start_after_offline_x_filled_and_price_back_should_buy_to_recreate_sell (line 1282) | async def test_start_after_offline_x_filled_and_price_back_should_buy_to... function test_start_after_offline_x_filled_and_missing_should_recreate_1_sell (line 1335) | async def test_start_after_offline_x_filled_and_missing_should_recreate_... function test_start_after_offline_x_filled_and_missing_should_recreate_5_sell_orders_no_recent_trade (line 1412) | async def test_start_after_offline_x_filled_and_missing_should_recreate_... function test_start_after_offline_x_filled_and_missing_should_recreate_5_buy_orders_no_recent_trade (line 1495) | async def test_start_after_offline_x_filled_and_missing_should_recreate_... function test_start_after_offline_1_filled_should_create_buy_considering_fees (line 1573) | async def test_start_after_offline_1_filled_should_create_buy_considerin... function test_start_after_offline_1_filled_should_create_buy_ignoring_fees (line 1630) | async def test_start_after_offline_1_filled_should_create_buy_ignoring_f... function test_start_after_offline_1_filled_should_create_sell (line 1687) | async def test_start_after_offline_1_filled_should_create_sell(): function test_start_after_offline_with_added_funds_increasing_orders_count (line 1733) | async def test_start_after_offline_with_added_funds_increasing_orders_co... function test_start_after_offline_with_added_funds_increasing_order_sizes (line 1823) | async def test_start_after_offline_with_added_funds_increasing_order_siz... function test_start_after_offline_only_buy_orders_remaining (line 1953) | async def test_start_after_offline_only_buy_orders_remaining(): function test_start_after_offline_only_sell_orders_remaining (line 2026) | async def test_start_after_offline_only_sell_orders_remaining(): function test_start_after_offline_no_missing_order (line 2099) | async def test_start_after_offline_no_missing_order(): function test_whole_grid_trailing_up_and_down (line 2137) | async def test_whole_grid_trailing_up_and_down(): function test_order_by_order_trailing_up_and_down (line 2267) | async def test_order_by_order_trailing_up_and_down(): function _assert_adapt_order_quantity_because_fees (line 2507) | def _assert_adapt_order_quantity_because_fees(get_fees_for_currency=False): function _assert_missing_orders_count (line 2525) | def _assert_missing_orders_count(trading_mode_producer, expected_count): function _wait_for_orders_creation (line 2544) | async def _wait_for_orders_creation(orders_count=1): function _check_open_orders_count (line 2549) | async def _check_open_orders_count(exchange_manager, count): function _fill_order (line 2554) | async def _fill_order(order, exchange_manager, trigger_update_callback=T... function _check_created_orders (line 2575) | def _check_created_orders(producer, orders, initial_price): FILE: Trading/Mode/index_trading_mode/index_distribution.py function get_uniform_distribution (line 12) | def get_uniform_distribution(coins) -> typing.List: function get_linear_distribution (line 32) | def get_linear_distribution(weight_by_coin: dict[str, decimal.Decimal]) ... function get_smoothed_distribution (line 48) | def get_smoothed_distribution(weight_by_coin: dict[str, decimal.Decimal]... FILE: Trading/Mode/index_trading_mode/index_trading.py class IndexActivity (line 37) | class IndexActivity(enum.Enum): class RebalanceSkipDetails (line 42) | class RebalanceSkipDetails(enum.Enum): class RebalanceDetails (line 47) | class RebalanceDetails(enum.Enum): class SynchronizationPolicy (line 56) | class SynchronizationPolicy(enum.Enum): class RebalanceAborted (line 61) | class RebalanceAborted(Exception): class IndexTradingModeConsumer (line 69) | class IndexTradingModeConsumer(trading_modes.AbstractTradingModeConsumer): method __init__ (line 73) | def __init__(self, trading_mode): method create_new_orders (line 77) | async def create_new_orders(self, symbol, _, state, **kwargs): method _rebalance_portfolio (line 89) | async def _rebalance_portfolio(self, details: dict, initial_dependenci... method _sell_indexed_coins_for_reference_market (line 137) | async def _sell_indexed_coins_for_reference_market( method _get_coins_to_sell (line 190) | def _get_coins_to_sell(self, details: dict) -> list: method _can_simply_buy_coins_without_selling (line 195) | def _can_simply_buy_coins_without_selling(self, details: dict) -> bool: method _get_simple_buy_coins (line 216) | def _get_simple_buy_coins(self, details: dict) -> list: method _ensure_enough_funds_to_buy_after_selling (line 239) | async def _ensure_enough_funds_to_buy_after_selling(self): method _split_reference_market_into_indexed_coins (line 247) | async def _split_reference_market_into_indexed_coins( method _get_symbols_and_amounts (line 275) | async def _get_symbols_and_amounts(self, coins_to_buy, reference_marke... method _buy_coin (line 320) | async def _buy_coin(self, symbol, ideal_amount, dependencies: typing.O... class IndexTradingModeProducer (line 374) | class IndexTradingModeProducer(trading_modes.AbstractTradingModeProducer): method __init__ (line 391) | def __init__(self, channel, config, trading_mode, exchange_manager): method stop (line 396) | async def stop(self): method ohlcv_callback (line 401) | async def ohlcv_callback(self, exchange: str, exchange_id: str, crypto... method kline_callback (line 405) | async def kline_callback(self, exchange: str, exchange_id: str, crypto... method _check_index_if_necessary (line 409) | async def _check_index_if_necessary(self): method ensure_index (line 435) | async def ensure_index(self): method _trigger_rebalance (line 462) | async def _trigger_rebalance(self, rebalance_details: dict, dependenci... method _send_alert_notification (line 479) | async def _send_alert_notification(self): method _notify_if_missing_too_many_coins (line 494) | def _notify_if_missing_too_many_coins(self): method _register_coins_update (line 502) | def _register_coins_update(self, rebalance_details: dict) -> bool: method _register_removed_coin (line 533) | def _register_removed_coin(self, rebalance_details: dict, available_tr... method _register_quote_asset_rebalance (line 561) | def _register_quote_asset_rebalance(self, rebalance_details: dict) -> ... method _empty_rebalance_details (line 575) | def _empty_rebalance_details(self) -> dict: method _get_rebalance_details (line 585) | def _get_rebalance_details(self) -> (bool, dict): method _should_rebalance_due_to_non_indexed_quote_assets_ratio (line 633) | def _should_rebalance_due_to_non_indexed_quote_assets_ratio(self, non_... method _sum_ratios (line 662) | def _sum_ratios(rebalance_details: dict, key: str) -> decimal.Decimal: method _get_non_indexed_quote_assets_ratio (line 668) | def _get_non_indexed_quote_assets_ratio(self) -> decimal.Decimal: method _resolve_swaps (line 681) | def _resolve_swaps(self, details: dict): method get_channels_registration (line 710) | def get_channels_registration(self): method cancel_traded_pairs_open_orders_if_any (line 723) | async def cancel_traded_pairs_open_orders_if_any(self) -> typing.Optio... class IndexTradingMode (line 744) | class IndexTradingMode(trading_modes.AbstractTradingMode): method __init__ (line 750) | def __init__(self, config, exchange_manager): method init_user_inputs (line 766) | def init_user_inputs(self, inputs: dict) -> None: method get_tentacle_config_traded_symbols (line 892) | def get_tentacle_config_traded_symbols(cls, config: dict, reference_ma... method is_updating_at_each_price_change (line 898) | def is_updating_at_each_price_change(self): method automatically_update_historical_config_on_set_intervals (line 901) | def automatically_update_historical_config_on_set_intervals(self) -> b... method ensure_updated_coins_distribution (line 907) | def ensure_updated_coins_distribution(self, adapt_to_holdings: bool = ... method _get_filtered_traded_coins (line 919) | def _get_filtered_traded_coins(self, ratio_per_asset: dict): method get_coins_to_consider_for_ratio (line 933) | def get_coins_to_consider_for_ratio(self) -> list: method get_ideal_distribution (line 937) | def get_ideal_distribution(cls, config: dict): method get_default_historical_time_frame (line 941) | def get_default_historical_time_frame() -> typing.Optional[commons_enu... method use_backtesting_accurate_price_update (line 945) | def use_backtesting_accurate_price_update() -> bool: method get_config_history_propagated_tentacles_config_keys (line 953) | def get_config_history_propagated_tentacles_config_keys() -> list[str]: method _get_currently_applied_historical_config_according_to_holdings (line 965) | def _get_currently_applied_historical_config_according_to_holdings( method _is_index_config_applied (line 994) | def _is_index_config_applied(self, config: dict, traded_bases: set[str... method _get_config_min_ratio (line 1034) | def _get_config_min_ratio(self, config: dict) -> decimal.Decimal: method _get_supported_distribution (line 1055) | def _get_supported_distribution(self, adapt_to_holdings: bool, force_l... method get_removed_coins_from_config (line 1106) | def get_removed_coins_from_config(self, available_traded_bases) -> list: method get_target_ratio (line 1158) | def get_target_ratio(self, currency) -> decimal.Decimal: method get_is_symbol_wildcard (line 1171) | def get_is_symbol_wildcard(cls) -> bool: method get_supported_exchange_types (line 1175) | def get_supported_exchange_types(cls) -> list: method get_current_state (line 1183) | def get_current_state(self) -> tuple: method single_exchange_process_optimize_initial_portfolio (line 1186) | async def single_exchange_process_optimize_initial_portfolio( FILE: Trading/Mode/index_trading_mode/tests/test_index_distribution.py function test_get_uniform_distribution (line 7) | def test_get_uniform_distribution(): function test_get_linear_distribution (line 43) | def test_get_linear_distribution(): function test_get_smoothed_distribution (line 89) | def test_get_smoothed_distribution(): FILE: Trading/Mode/index_trading_mode/tests/test_index_trading_mode.py function tools (line 59) | async def tools(): function test_run_independent_backtestings_with_memory_check (line 70) | async def test_run_independent_backtestings_with_memory_check(): function _get_config (line 105) | def _get_config(tools, update): function test_init_default_values (line 111) | async def test_init_default_values(tools): function test_init_config_values (line 125) | async def test_init_config_values(tools): function test_single_exchange_process_optimize_initial_portfolio (line 301) | async def test_single_exchange_process_optimize_initial_portfolio(tools): function test_get_target_ratio_with_config (line 353) | async def test_get_target_ratio_with_config(tools): function test_get_target_ratio_without_config (line 383) | async def test_get_target_ratio_without_config(tools): function test_ohlcv_callback (line 418) | async def test_ohlcv_callback(tools): function test_notify_if_missing_too_many_coins (line 458) | async def test_notify_if_missing_too_many_coins(tools): function test_ensure_index (line 484) | async def test_ensure_index(tools): function test_cancel_traded_pairs_open_orders_if_any (line 614) | async def test_cancel_traded_pairs_open_orders_if_any(tools): function test_trigger_rebalance (line 635) | async def test_trigger_rebalance(tools): function test_get_rebalance_details (line 654) | async def test_get_rebalance_details(tools): function test_get_rebalance_details_with_usdt_without_coin_distribution_update (line 886) | async def test_get_rebalance_details_with_usdt_without_coin_distribution... function test_get_rebalance_details_with_usdt_and_coin_distribution_update (line 930) | async def test_get_rebalance_details_with_usdt_and_coin_distribution_upd... function test_should_rebalance_due_to_non_indexed_quote_assets_ratio (line 976) | async def test_should_rebalance_due_to_non_indexed_quote_assets_ratio(to... function test_get_removed_coins_from_config_sell_removed_coins_asap (line 1031) | async def test_get_removed_coins_from_config_sell_removed_coins_asap(too... function test_get_removed_coins_from_config_sell_removed_on_ratio_rebalance (line 1087) | async def test_get_removed_coins_from_config_sell_removed_on_ratio_rebal... function test_create_new_orders (line 1153) | async def test_create_new_orders(tools): function test_rebalance_portfolio (line 1173) | async def test_rebalance_portfolio(tools): function test_ensure_enough_funds_to_buy_after_selling (line 1335) | async def test_ensure_enough_funds_to_buy_after_selling(tools): function test_can_simply_buy_coins_without_selling (line 1349) | async def test_can_simply_buy_coins_without_selling(tools): function test_get_simple_buy_coins (line 1458) | async def test_get_simple_buy_coins(tools): function test_sell_indexed_coins_for_reference_market (line 1542) | async def test_sell_indexed_coins_for_reference_market(tools): function test_get_coins_to_sell (line 1615) | async def test_get_coins_to_sell(tools): function test_resolve_swaps (line 1669) | async def test_resolve_swaps(tools): function test_split_reference_market_into_indexed_coins (line 1739) | async def test_split_reference_market_into_indexed_coins(tools): function test_get_symbols_and_amounts (line 1858) | async def test_get_symbols_and_amounts(tools): function test_buy_coin (line 1925) | async def test_buy_coin(tools): function test_buy_coin_using_limit_order (line 2006) | async def test_buy_coin_using_limit_order(tools): function _get_tools (line 2109) | async def _get_tools(symbol="BTC/USDT"): function _init_mode (line 2151) | async def _init_mode(tools, config): function _stop (line 2157) | async def _stop(exchange_manager): function test_automatically_update_historical_config_on_set_intervals (line 2164) | async def test_automatically_update_historical_config_on_set_intervals(t... function test_ensure_updated_coins_distribution (line 2193) | async def test_ensure_updated_coins_distribution(tools): function test_get_supported_distribution (line 2271) | async def test_get_supported_distribution(tools): function test_get_currently_applied_historical_config_according_to_holdings (line 2469) | async def test_get_currently_applied_historical_config_according_to_hold... function test_is_index_config_applied (line 2567) | async def test_is_index_config_applied(tools): function test_get_config_min_ratio (line 2831) | async def test_get_config_min_ratio(tools): FILE: Trading/Mode/market_making_trading_mode/market_making_trading.py class OrderData (line 41) | class OrderData: class OrderAction (line 48) | class OrderAction: class CreateOrderAction (line 53) | class CreateOrderAction(OrderAction): method from_book_order_data (line 57) | def from_book_order_data(cls, symbol, order: order_book_distribution.B... class CancelOrderAction (line 69) | class CancelOrderAction(OrderAction): class OrdersUpdatePlan (line 74) | class OrdersUpdatePlan: method __str__ (line 82) | def __str__(self): class SkippedAction (line 93) | class SkippedAction(Exception): class MarketMakingTradingMode (line 97) | class MarketMakingTradingMode(trading_modes.AbstractTradingMode): method init_user_inputs (line 119) | def init_user_inputs(self, inputs: dict) -> None: method get_current_state (line 151) | def get_current_state(self) -> (str, float): method get_mode_producer_classes (line 169) | def get_mode_producer_classes(self) -> list: method get_mode_consumer_classes (line 172) | def get_mode_consumer_classes(self) -> list: method get_forced_updater_channels (line 176) | async def get_forced_updater_channels( method get_is_trading_on_exchange (line 192) | def get_is_trading_on_exchange(cls, exchange_name, tentacles_setup_con... method get_is_using_trading_mode_on_exchange (line 201) | def get_is_using_trading_mode_on_exchange(cls, exchange_name, tentacle... method has_trading_exchange_configuration (line 210) | def has_trading_exchange_configuration(cls, exchange_name, tentacle_co... method get_pair_settings_for_exchange (line 216) | def get_pair_settings_for_exchange(cls, target_exchange_name, tentacle... method get_pair_settings (line 221) | def get_pair_settings(self) -> list: method is_exchange_compatible_pair_setting (line 227) | def is_exchange_compatible_pair_setting(cls, trading_config: dict, tar... method get_is_symbol_wildcard (line 233) | def get_is_symbol_wildcard(cls) -> bool: method is_backtestable (line 237) | def is_backtestable(): method is_ignoring_cancelled_orders_trades (line 241) | def is_ignoring_cancelled_orders_trades(cls) -> bool: method create_consumers (line 244) | async def create_consumers(self) -> list: method _order_notification_callback (line 254) | async def _order_notification_callback( method set_default_config (line 265) | def set_default_config(self): method get_order_book_distribution (line 269) | def get_order_book_distribution(cls, pair_config: dict) -> order_book_... class MarketMakingTradingModeConsumer (line 282) | class MarketMakingTradingModeConsumer(trading_modes.AbstractTradingModeC... method skip_portfolio_available_check_before_creating_orders (line 287) | def skip_portfolio_available_check_before_creating_orders(self) -> bool: method create_new_orders (line 296) | async def create_new_orders(self, symbol, final_note, state, **kwargs): method _process_plan (line 313) | async def _process_plan(self, order_actions_plan: OrdersUpdatePlan, cu... method _log_actions_report (line 348) | def _log_actions_report( method _process_action (line 361) | async def _process_action( method create_order (line 397) | async def create_order(self, order_data, current_price, symbol_market,... method _should_skip (line 459) | def _should_skip( class MarketMakingTradingModeProducer (line 478) | class MarketMakingTradingModeProducer(trading_modes.AbstractTradingModeP... method __init__ (line 486) | def __init__(self, channel, config, trading_mode, exchange_manager): method _load_symbol_trading_config (line 521) | def _load_symbol_trading_config(self) -> bool: method read_config (line 525) | def read_config(self): method start (line 560) | async def start(self) -> None: method set_final_eval (line 566) | async def set_final_eval(self, matrix_id: str, cryptocurrency: str, sy... method _schedule_order_refresh (line 570) | def _schedule_order_refresh(self): method _ensure_market_making_orders_and_reschedule (line 574) | async def _ensure_market_making_orders_and_reschedule(self): method _reschedule_if_necessary (line 595) | async def _reschedule_if_necessary(self, can_create_orders: bool): method _ensure_market_making_orders (line 606) | async def _ensure_market_making_orders(self, trigger_source: str): method create_state (line 618) | async def create_state(self, current_price, symbol_market, trigger_sou... method _is_previous_plan_still_processing (line 649) | def _is_previous_plan_still_processing(self) -> bool: method _handle_market_making_orders (line 652) | async def _handle_market_making_orders( method _send_missing_funds_critical_notification (line 923) | async def _send_missing_funds_critical_notification(self, missing_all_... method _can_create_all_order (line 942) | def _can_create_all_order(self, created_orders: list[order_book_distri... method _get_swapped_book_orders (line 953) | def _get_swapped_book_orders( method _get_create_missing_orders_plan (line 987) | def _get_create_missing_orders_plan( method _get_replace_full_book_plan (line 1001) | def _get_replace_full_book_plan( method _get_alternated_cancel_and_create_order_actions (line 1016) | def _get_alternated_cancel_and_create_order_actions( method _get_prioritized_orders (line 1041) | def _get_prioritized_orders( method _get_orders_to_cancel (line 1075) | def _get_orders_to_cancel( method _is_outdated (line 1090) | def _is_outdated( method _sort_orders (line 1097) | def _sort_orders(self, open_orders: list) -> list: method get_should_cancel_loaded_orders (line 1109) | def get_should_cancel_loaded_orders(cls): method _schedule_order_actions (line 1112) | async def _schedule_order_actions(self, order_actions_plan: OrdersUpda... method _get_orders_to_create (line 1131) | def _get_orders_to_create( method _get_daily_volume (line 1180) | def _get_daily_volume(self, reference_price: decimal.Decimal) -> (deci... method _get_available_funds (line 1192) | def _get_available_funds(self) -> (decimal.Decimal, decimal.Decimal): method _get_all_theoretically_available_funds (line 1199) | def _get_all_theoretically_available_funds(self, open_orders: list) ->... method get_market_making_orders (line 1212) | def get_market_making_orders(self) -> list[trading_personal_data.Order]: method _is_missing_open_orders (line 1222) | def _is_missing_open_orders( method on_new_reference_price (line 1241) | async def on_new_reference_price(self, reference_price: decimal.Decima... method _on_reference_price_update (line 1268) | async def _on_reference_price_update(self): method order_filled_callback (line 1275) | async def order_filled_callback(self, order: dict): method _mark_price_callback (line 1284) | async def _mark_price_callback( method _subscribe_to_exchange_mark_price (line 1298) | async def _subscribe_to_exchange_mark_price(self, exchange_id: str, ex... method already_subscribed_to_channel (line 1317) | def already_subscribed_to_channel(self, exchange_id: str, specs: tradi... method _get_reference_price (line 1323) | async def _get_reference_price(self) -> decimal.Decimal: FILE: Trading/Mode/market_making_trading_mode/order_book_distribution.py class InferredOrderData (line 43) | class InferredOrderData: class BookOrderData (line 53) | class BookOrderData: method get_base_amount (line 58) | def get_base_amount(self) -> decimal.Decimal: class FullBookRebalanceRequired (line 62) | class FullBookRebalanceRequired(Exception): class MissingOrderException (line 66) | class MissingOrderException(Exception): class MissingAllBids (line 70) | class MissingAllBids(MissingOrderException): class MissingAllAsks (line 74) | class MissingAllAsks(MissingOrderException): class MissingAllOrders (line 78) | class MissingAllOrders(MissingOrderException): class OrderBookDistribution (line 82) | class OrderBookDistribution: method __init__ (line 83) | def __init__( method get_ideal_total_volume (line 98) | def get_ideal_total_volume( method compute_distribution (line 113) | def compute_distribution( method get_shape_distance_from (line 133) | def get_shape_distance_from( method is_spread_according_to_config (line 157) | def is_spread_according_to_config(self, orders: list[BookOrderData], o... method infer_full_order_data_after_swaps (line 197) | def infer_full_order_data_after_swaps( method _get_sided_orders_distance_from_ideal (line 242) | def _get_sided_orders_distance_from_ideal( method _should_use_artificial_funds (line 303) | def _should_use_artificial_funds( method _are_total_order_volumes_compatible_with_config (line 309) | def _are_total_order_volumes_compatible_with_config( method _get_target_orders (line 368) | def _get_target_orders( method can_create_at_least_one_order (line 405) | def can_create_at_least_one_order(self, sides: list[trading_enums.Trad... method _is_at_least_one_order_valid (line 412) | def _is_at_least_one_order_valid(self, orders: list[BookOrderData], sy... method validate_config (line 422) | def validate_config(self): method _get_sided_orders_details (line 443) | def _get_sided_orders_details( method _get_order_prices (line 476) | def _get_order_prices( method _infer_sided_order_data_after_swaps (line 487) | def _infer_sided_order_data_after_swaps( method _adapt_inferred_order_amounts (line 563) | def _adapt_inferred_order_amounts( method _get_order_volumes (line 668) | def _get_order_volumes( method _get_total_volume_to_use (line 701) | def _get_total_volume_to_use( method _get_market_depth_order_amounts (line 714) | def _get_market_depth_order_amounts( method _get_ideal_total_volume_to_use (line 725) | def _get_ideal_total_volume_to_use( method get_logger (line 770) | def get_logger(cls): function _quantize_decimal (line 774) | def _quantize_decimal(value: decimal.Decimal) -> decimal.Decimal: function get_sorted_sided_orders (line 781) | def get_sorted_sided_orders(orders: list[BookOrderData], closer_to_furth... FILE: Trading/Mode/market_making_trading_mode/reference_price.py class PriceSource (line 27) | class PriceSource: FILE: Trading/Mode/market_making_trading_mode/tests/test_market_making_trading.py function _get_mm_config (line 60) | def _get_mm_config(): function _init_trading_mode (line 70) | async def _init_trading_mode(config, exchange_manager, symbol): function _get_tools (line 82) | async def _get_tools(symbol, additional_portfolio={}): function _stop (line 128) | async def _stop(exchange_manager): function test_handle_market_making_orders_from_no_orders (line 135) | async def test_handle_market_making_orders_from_no_orders(): function test_handle_market_making_orders_missing_funds_for_buy_orders (line 244) | async def test_handle_market_making_orders_missing_funds_for_buy_orders(): FILE: Trading/Mode/market_making_trading_mode/tests/test_order_book_distribution.py function distribution (line 47) | def distribution(): function test_compute_distribution_base_config (line 56) | def test_compute_distribution_base_config(distribution): function test_compute_distribution_base_config_with_max_available_amounts (line 125) | def test_compute_distribution_base_config_with_max_available_amounts(dis... function test_infer_full_order_data_after_swaps (line 174) | def test_infer_full_order_data_after_swaps(distribution): function test_validate_config (line 213) | def test_validate_config(distribution): FILE: Trading/Mode/remote_trading_signals_trading_mode/remote_trading_signals_trading.py class RemoteTradingSignalsTradingMode (line 35) | class RemoteTradingSignalsTradingMode(trading_modes.AbstractTradingMode): method __init__ (line 37) | def __init__(self, config, exchange_manager): method init_user_inputs (line 42) | def init_user_inputs(self, inputs: dict) -> None: method get_supported_exchange_types (line 65) | def get_supported_exchange_types(cls) -> list: method get_current_state (line 74) | def get_current_state(self) -> (str, float): method get_mode_producer_classes (line 79) | def get_mode_producer_classes(self) -> list: method get_mode_consumer_classes (line 82) | def get_mode_consumer_classes(self) -> list: method create_producers (line 85) | async def create_producers(self, auto_start) -> list: method _subscribe_to_signal_feed (line 89) | async def _subscribe_to_signal_feed(self): method create_consumers (line 111) | async def create_consumers(self) -> list: method _remote_trading_signal_callback (line 123) | async def _remote_trading_signal_callback(self, identifier, exchange, ... method get_is_symbol_wildcard (line 129) | def get_is_symbol_wildcard(cls) -> bool: method is_backtestable (line 133) | def is_backtestable(): method is_following_trading_signals (line 136) | def is_following_trading_signals(self): method stop (line 139) | async def stop(self) -> None: class RemoteTradingSignalsModeConsumer (line 144) | class RemoteTradingSignalsModeConsumer(trading_modes.AbstractTradingMode... method __init__ (line 148) | def __init__(self, trading_mode): method init_user_inputs (line 155) | async def init_user_inputs(self, should_clear_inputs): method internal_callback (line 161) | async def internal_callback( method handle_signal (line 175) | async def handle_signal(self, symbol, data: commons_signals.Signal): method _handle_positions_signal (line 184) | async def _handle_positions_signal(self, symbol: str, signal: commons_... method _edit_position (line 191) | async def _edit_position(self, symbol: str, signal: commons_signals.Si... method _handle_signal_orders (line 199) | async def _handle_signal_orders(self, symbol: str, signal: commons_sig... method _group_orders (line 216) | async def _group_orders(self, orders_descriptions, symbol): method _cancel_orders (line 234) | async def _cancel_orders(self, orders_descriptions, symbol): method _edit_orders (line 244) | async def _edit_orders(self, orders_descriptions, symbol): method _get_quantity_from_signal_percent (line 261) | async def _get_quantity_from_signal_percent(self, order_description, s... method _bundle_order (line 302) | async def _bundle_order(self, order_description, to_create_orders, ign... method _chain_order (line 318) | async def _chain_order(self, order_description, created_orders, ignore... method _create_order (line 363) | async def _create_order(self, order_description, symbol, created_group... method _get_or_create_order_group (line 460) | def _get_or_create_order_group(self, order_description, group_id): method _create_orders (line 479) | async def _create_orders(self, orders_descriptions, symbol): method get_open_order_from_description (line 546) | def get_open_order_from_description(self, order_descriptions, symbol): method _is_compatible_order_type (line 574) | def _is_compatible_order_type(self, order, order_description): method _parse_signal_orders (line 581) | def _parse_signal_orders(self, signal: commons_signals.Signal): method _get_nested_signal_order_descriptions (line 598) | def _get_nested_signal_order_descriptions(self, order_description): method _update_orders_according_to_config (line 606) | def _update_orders_according_to_config(self, order_descriptions): method _update_according_to_config (line 610) | def _update_according_to_config(self, order_description): method _update_quantity_according_to_config (line 624) | def _update_quantity_according_to_config(self, order_description, quan... method _send_alert_notification (line 631) | async def _send_alert_notification(self, symbol, created, edited, canc... method _create_order_on_exchange (line 652) | async def _create_order_on_exchange(self, order, params): method _cancel_order_on_exchange (line 655) | async def _cancel_order_on_exchange(self, order): method _edit_order_on_exchange (line 658) | async def _edit_order_on_exchange(self, order, edited_quantity=None, e... method _set_leverage (line 666) | async def _set_leverage(self, symbol: str, leverage: decimal.Decimal, ... class RemoteTradingSignalsModeProducer (line 671) | class RemoteTradingSignalsModeProducer(trading_modes.AbstractTradingMode... method get_channels_registration (line 673) | def get_channels_registration(self): method signal_callback (line 677) | async def signal_callback(self, signal): method _set_state (line 694) | async def _set_state(self, cryptocurrency: str, symbol: str, new_state... method stop (line 706) | async def stop(self): FILE: Trading/Mode/remote_trading_signals_trading_mode/tests/__init__.py function local_trader (line 45) | async def local_trader(exchange_name="binance", backtesting=None, symbol... function mocked_sell_limit_signal (line 114) | def mocked_sell_limit_signal(): function mocked_sell_limit_signal_with_trailing_group (line 160) | def mocked_sell_limit_signal_with_trailing_group(): function mocked_update_leverage_signal (line 200) | def mocked_update_leverage_signal(): function mocked_buy_limit_signal (line 216) | def mocked_buy_limit_signal(): function mocked_bundle_stop_loss_in_sell_limit_signal (line 253) | def mocked_bundle_stop_loss_in_sell_limit_signal(mocked_sell_limit_signal): function mocked_bundle_stop_loss_in_sell_limit_in_market_signal (line 291) | def mocked_bundle_stop_loss_in_sell_limit_in_market_signal(mocked_sell_l... function mocked_bundle_trailing_stop_loss_in_sell_limit_in_market_signal (line 343) | def mocked_bundle_trailing_stop_loss_in_sell_limit_in_market_signal(mock... function mocked_bundle_trigger_above_stop_loss_in_sell_limit_in_market_signal (line 395) | def mocked_bundle_trigger_above_stop_loss_in_sell_limit_in_market_signal... function mocked_buy_market_signal (line 437) | def mocked_buy_market_signal(): FILE: Trading/Mode/remote_trading_signals_trading_mode/tests/test_remote_trading_signals_trading_consumer.py function test_internal_callback (line 39) | async def test_internal_callback(local_trader, mocked_sell_limit_signal,... function test_handle_signal_orders (line 97) | async def test_handle_signal_orders(local_trader, mocked_bundle_stop_los... function test_handle_signal_orders_trailing_stop_with_cancel_policy (line 169) | async def test_handle_signal_orders_trailing_stop_with_cancel_policy( function test_handle_signal_orders_trigger_above_stop_loss (line 211) | async def test_handle_signal_orders_trigger_above_stop_loss(local_trader... function test_handle_signal_orders_no_triggering_order (line 242) | async def test_handle_signal_orders_no_triggering_order( function test_handle_signal_orders_reduce_quantity_create_order (line 281) | async def test_handle_signal_orders_reduce_quantity_create_order(local_t... function test_handle_signal_orders_reduce_quantity_edit_order (line 304) | async def test_handle_signal_orders_reduce_quantity_edit_order(local_tra... function test_handle_signal_create_orders_not_enough_funds_using_min_amount (line 353) | async def test_handle_signal_create_orders_not_enough_funds_using_min_am... function test_handle_signal_create_orders_not_enough_available_funds_even_for_min_order (line 422) | async def test_handle_signal_create_orders_not_enough_available_funds_ev... function test_handle_signal_create_orders_not_enough_total_funds_even_for_min_order (line 465) | async def test_handle_signal_create_orders_not_enough_total_funds_even_f... function test_send_alert_notification (line 508) | async def test_send_alert_notification(local_trader): function _group_edit_cancel_create_order_signals (line 527) | def _group_edit_cancel_create_order_signals(to_group_id, group_id, group... function test_handle_positions_signal (line 654) | async def test_handle_positions_signal(local_trader, mocked_update_lever... function test_edit_position (line 670) | async def test_edit_position(local_trader, mocked_update_leverage_signal): FILE: Trading/Mode/remote_trading_signals_trading_mode/tests/test_remote_trading_signals_trading_producer.py function test_signal_callback (line 29) | async def test_signal_callback(local_trader, mocked_bundle_stop_loss_in_... FILE: Trading/Mode/signal_trading_mode/signal_trading.py class SignalTradingMode (line 23) | class SignalTradingMode(daily_trading_mode.DailyTradingMode): method get_supported_exchange_types (line 26) | def get_supported_exchange_types(cls) -> list: method get_current_state (line 35) | def get_current_state(self) -> (str, float): method get_mode_producer_classes (line 39) | def get_mode_producer_classes(self) -> list: method get_mode_consumer_classes (line 42) | def get_mode_consumer_classes(self) -> list: method get_is_symbol_wildcard (line 46) | def get_is_symbol_wildcard(cls) -> bool: class SignalTradingModeConsumer (line 50) | class SignalTradingModeConsumer(daily_trading_mode.DailyTradingModeConsu... method __init__ (line 51) | def __init__(self, trading_mode): class SignalTradingModeProducer (line 68) | class SignalTradingModeProducer(daily_trading_mode.DailyTradingModeProdu... method __init__ (line 69) | def __init__(self, channel, config, trading_mode, exchange_manager): FILE: Trading/Mode/staggered_orders_trading_mode/staggered_orders_trading.py class StrategyModes (line 42) | class StrategyModes(enum.Enum): class ForceResetOrdersException (line 51) | class ForceResetOrdersException(Exception): class TrailingAborted (line 55) | class TrailingAborted(Exception): class NoOrdersToTrail (line 59) | class NoOrdersToTrail(Exception): class OrderData (line 110) | class OrderData: class StaggeredOrdersTradingMode (line 119) | class StaggeredOrdersTradingMode(trading_modes.AbstractTradingMode): method init_user_inputs (line 150) | def init_user_inputs(self, inputs: dict) -> None: method get_current_state (line 233) | def get_current_state(self) -> (str, float): method get_mode_producer_classes (line 245) | def get_mode_producer_classes(self) -> list: method get_mode_consumer_classes (line 248) | def get_mode_consumer_classes(self) -> list: method create_consumers (line 251) | async def create_consumers(self) -> list: method _order_notification_callback (line 261) | async def _order_notification_callback(self, exchange, exchange_id, cr... method get_is_symbol_wildcard (line 273) | def get_is_symbol_wildcard(cls) -> bool: method set_default_config (line 276) | def set_default_config(self): method single_exchange_process_health_check (line 279) | async def single_exchange_process_health_check(self, chained_orders: l... method _should_rebalance_orders (line 288) | async def _should_rebalance_orders(self): method single_exchange_process_optimize_initial_portfolio (line 296) | async def single_exchange_process_optimize_initial_portfolio( method _cancel_associated_orders (line 337) | async def _cancel_associated_orders( method _convert_assets_into_target (line 357) | async def _convert_assets_into_target( method _buy_assets (line 377) | async def _buy_assets( method _get_converted_quote_amount_per_symbol (line 405) | def _get_converted_quote_amount_per_symbol(self, portfolio, pair_bases... class StaggeredOrdersTradingModeConsumer (line 422) | class StaggeredOrdersTradingModeConsumer(trading_modes.AbstractTradingMo... method __init__ (line 428) | def __init__(self, trading_mode): method cancel_orders_creation (line 432) | async def cancel_orders_creation(self): method create_new_orders (line 442) | async def create_new_orders(self, symbol, final_note, state, **kwargs): method create_order (line 463) | async def create_order( class StaggeredOrdersTradingModeProducer (line 537) | class StaggeredOrdersTradingModeProducer(trading_modes.AbstractTradingMo... method __init__ (line 564) | def __init__(self, channel, config, trading_mode, exchange_manager): method _load_symbol_trading_config (line 649) | def _load_symbol_trading_config(self) -> bool: method get_symbol_trading_config (line 656) | def get_symbol_trading_config(self, symbol): method read_config (line 662) | def read_config(self): method start (line 691) | async def start(self) -> None: method get_extra_init_symbol_topics (line 697) | def get_extra_init_symbol_topics(self) -> typing.Optional[list]: method stop (line 704) | async def stop(self): method set_final_eval (line 719) | async def set_final_eval(self, matrix_id: str, cryptocurrency: str, sy... method is_price_beyond_boundaries (line 723) | async def is_price_beyond_boundaries(self): method _schedule_order_refresh (line 735) | def _schedule_order_refresh(self): method _ensure_staggered_orders_and_reschedule (line 739) | async def _ensure_staggered_orders_and_reschedule(self): method trigger_staggered_orders_creation (line 768) | async def trigger_staggered_orders_creation(self): method start_mirroring_pause (line 774) | def start_mirroring_pause(self, delay): method stop_mirror_orders (line 782) | async def stop_mirror_orders(self, delay): method _ensure_staggered_orders (line 789) | async def _ensure_staggered_orders( method _get_new_state_price (line 802) | def _get_new_state_price(self): method create_state (line 805) | async def create_state(self, current_price, ignore_mirror_orders_only,... method order_filled_callback (line 816) | async def order_filled_callback(self, filled_order: dict): method _create_mirror_order (line 833) | def _create_mirror_order(self, filled_order: dict): method _get_available_funds_confirmed_order_volume (line 884) | def _get_available_funds_confirmed_order_volume(self, selling, price, ... method _compute_mirror_order_volume (line 898) | def _compute_mirror_order_volume(self, now_selling, filled_price, targ... method _ensure_trailing_and_create_order_when_possible (line 928) | async def _ensure_trailing_and_create_order_when_possible(self, new_or... method _lock_portfolio_and_create_order_when_possible (line 938) | async def _lock_portfolio_and_create_order_when_possible(self, new_ord... method _should_trigger_trailing (line 943) | def _should_trigger_trailing( method is_in_trailing_process (line 1011) | def is_in_trailing_process(self) -> bool: method _handle_staggered_orders (line 1021) | async def _handle_staggered_orders( method _should_lock_available_funds (line 1048) | def _should_lock_available_funds(self, trigger_trailing: bool) -> bool: method _ensure_current_price_in_limit_parameters (line 1055) | def _ensure_current_price_in_limit_parameters(self, current_price): method _log_window_error_or_warning (line 1074) | def _log_window_error_or_warning(self, message, using_error): method _generate_staggered_orders (line 1078) | async def _generate_staggered_orders( method _reset_orders (line 1151) | async def _reset_orders( method _reset_available_funds (line 1174) | def _reset_available_funds(self): method _ensure_used_funds (line 1185) | def _ensure_used_funds(self, new_buy_orders, new_sell_orders, existing... method _get_max_theoretical_orders_count (line 1206) | def _get_max_theoretical_orders_count(self): method _ensure_full_funds_usage (line 1211) | def _ensure_full_funds_usage(self, orders, existing_buy_orders_count, ... method get_trade_or_order_price (line 1266) | def get_trade_or_order_price(self, trade_or_order) -> decimal.Decimal: method _get_locked_funds (line 1274) | def _get_locked_funds(self, orders): method _get_order_locked_funds (line 1284) | def _get_order_locked_funds(self, order): method _set_increment_and_spread (line 1289) | def _set_increment_and_spread(self, current_price, candidate_flat_incr... method _get_interfering_orders_pairs (line 1304) | def _get_interfering_orders_pairs(self, orders): method _check_params (line 1320) | def _check_params(self): method _handle_missed_mirror_orders_fills (line 1327) | async def _handle_missed_mirror_orders_fills(self, sorted_trades, miss... method _pack_and_balance_missing_orders (line 1335) | async def _pack_and_balance_missing_orders(self, trades_with_missing_m... method _get_just_filled_unmirrored_missing_order_trade (line 1429) | def _get_just_filled_unmirrored_missing_order_trade(self, sorted_trade... method _find_missing_mirror_order_fills (line 1451) | def _find_missing_mirror_order_fills(self, sorted_trades, missing_orde... method _cancel_open_order (line 1474) | async def _cancel_open_order( method _prepare_trailing (line 1485) | async def _prepare_trailing( method _prepare_order_by_order_trailing (line 1514) | async def _prepare_order_by_order_trailing( method _cancel_replaced_orders (line 1574) | async def _cancel_replaced_orders( method _compute_trailing_replaced_orders (line 1592) | async def _compute_trailing_replaced_orders( method _convert_order_funds (line 1621) | async def _convert_order_funds( method _get_updated_trailing_orders (line 1656) | def _get_updated_trailing_orders( method _get_orders_to_replace_with_updated_price_for_trailing (line 1710) | def _get_orders_to_replace_with_updated_price_for_trailing( method _prepare_full_grid_trailing (line 1786) | async def _prepare_full_grid_trailing( method _analyse_current_orders_situation (line 1875) | def _analyse_current_orders_situation(self, sorted_orders, recently_cl... method _create_orders (line 1881) | def _create_orders(self, lower_bound, upper_bound, side, sorted_orders, method _create_new_orders_bundle (line 1924) | def _create_new_orders_bundle( method _fill_missing_orders (line 1944) | def _fill_missing_orders( method _get_surrounded_missing_order_quantity (line 2043) | def _get_surrounded_missing_order_quantity( method _get_spread_missing_order_quantity (line 2065) | def _get_spread_missing_order_quantity( method _get_quantity_from_existing_orders (line 2121) | def _get_quantity_from_existing_orders(self, price, sorted_orders, sel... method _get_quantity_from_existing_boundary_orders (line 2132) | def _get_quantity_from_existing_boundary_orders(self, price, sorted_or... method _get_quantity_from_recent_trades (line 2146) | def _get_quantity_from_recent_trades(self, price, max_quantity, recent... method _get_associated_trade (line 2158) | def _get_associated_trade(self, price, trades, selling): method _get_maximum_traded_funds (line 2180) | def _get_maximum_traded_funds(self, allowed_funds, total_available_fun... method _create_new_orders (line 2205) | def _create_new_orders(self, orders, current_price, selling, lower_bou... method _bootstrap_parameters (line 2235) | def _bootstrap_parameters(self, sorted_orders, recently_closed_trades,... method _is_just_closed_order (line 2451) | def _is_just_closed_order(self, price, recently_closed_trades): method _spread_in_recently_closed_order (line 2465) | def _spread_in_recently_closed_order(min_amount, max_amount, sorted_cl... method _merged_and_sort_not_virtual_orders (line 2472) | def _merged_and_sort_not_virtual_orders(buy_orders, sell_orders): method _filter_virtual_order (line 2478) | def _filter_virtual_order(orders): method _set_virtual_orders (line 2482) | def _set_virtual_orders(buy_orders, sell_orders, operational_depth): method _get_order_count_and_average_quantity (line 2502) | def _get_order_count_and_average_quantity(self, current_price, selling... method _use_variable_orders_volume (line 2524) | def _use_variable_orders_volume(self, side): method _get_orders_count_from_fixed_volume (line 2528) | def _get_orders_count_from_fixed_volume(self, selling, current_price, ... method _ensure_average_order_quantity (line 2533) | def _ensure_average_order_quantity(self, orders_count, current_price, ... method _adapt_orders_count_and_quantity (line 2575) | def _adapt_orders_count_and_quantity(self, holdings, min_quantity, mode): method _get_price_from_iteration (line 2588) | def _get_price_from_iteration(self, starting_bound, is_selling, iterat... method _get_quantity_from_iteration (line 2595) | def _get_quantity_from_iteration(self, average_order_quantity, mode, s... method _is_valid_order_quantity_for_exchange (line 2631) | def _is_valid_order_quantity_for_exchange(self, quantity, price): method _get_min_funds (line 2639) | def _get_min_funds(self, orders_count, min_order_quantity, mode, curre... method _get_average_quantity_from_exchange_minimal_requirements (line 2653) | def _get_average_quantity_from_exchange_minimal_requirements(exchange_... method _get_min_max_quantity (line 2659) | def _get_min_max_quantity(average_order_quantity, mode): method _create_order (line 2665) | async def _create_order(self, order, current_price, completing_trailin... method _create_not_virtual_orders (line 2680) | async def _create_not_virtual_orders( method _refresh_symbol_data (line 2697) | def _refresh_symbol_data(self, symbol_market): method get_should_cancel_loaded_orders (line 2714) | def get_should_cancel_loaded_orders(cls): method _remove_from_available_funds (line 2717) | def _remove_from_available_funds(self, currency, amount) -> None: method _set_initially_available_funds (line 2722) | def _set_initially_available_funds(self, currency, amount) -> None: method _is_initially_available_funds_set (line 2727) | def _is_initially_available_funds_set(self, currency) -> bool: method _get_available_funds (line 2733) | def _get_available_funds(self, currency) -> float: method get_lock (line 2741) | def get_lock(self): FILE: Trading/Mode/staggered_orders_trading_mode/tests/test_staggered_orders_trading_mode.py function _init_trading_mode (line 56) | async def _init_trading_mode(config, exchange_manager, symbol): function _get_tools (line 71) | async def _get_tools(symbol, btc_holdings=None, additional_portfolio={},... function _get_tools_multi_symbol (line 130) | async def _get_tools_multi_symbol(): function _stop (line 194) | async def _stop(exchange_manager): function test_run_independent_backtestings_with_memory_check (line 201) | async def test_run_independent_backtestings_with_memory_check(): function test_ensure_staggered_orders (line 213) | async def test_ensure_staggered_orders(): function test_multi_symbol (line 234) | async def test_multi_symbol(): function test_available_funds_management (line 278) | async def test_available_funds_management(): function test_ensure_staggered_orders_with_target_sell_and_buy_funds (line 360) | async def test_ensure_staggered_orders_with_target_sell_and_buy_funds(): function test_ensure_staggered_orders_with_unavailable_funds (line 389) | async def test_ensure_staggered_orders_with_unavailable_funds(): function test_get_maximum_traded_funds (line 420) | async def test_get_maximum_traded_funds(): function test_get_new_state_price (line 449) | async def test_get_new_state_price(): function test_set_increment_and_spread (line 460) | async def test_set_increment_and_spread(): function test_use_existing_orders_only (line 488) | async def test_use_existing_orders_only(): function test_create_orders_without_existing_orders_symmetrical_case_all_modes_price_100 (line 513) | async def test_create_orders_without_existing_orders_symmetrical_case_al... function test_create_orders_without_existing_orders_symmetrical_case_all_modes_price_347 (line 523) | async def test_create_orders_without_existing_orders_symmetrical_case_al... function test_create_orders_without_existing_orders_symmetrical_case_all_modes_price_0_347 (line 533) | async def test_create_orders_without_existing_orders_symmetrical_case_al... function test_create_orders_from_different_markets (line 552) | async def test_create_orders_from_different_markets(): function test_create_orders_from_different_very_close_refresh (line 601) | async def test_create_orders_from_different_very_close_refresh(): function test_create_orders_from_different_markets_not_enough_market_to_create_all_orders (line 658) | async def test_create_orders_from_different_markets_not_enough_market_to... function test_start_with_existing_valid_orders (line 694) | async def test_start_with_existing_valid_orders(): function test_price_initially_out_of_range_1 (line 746) | async def test_price_initially_out_of_range_1(): function test_price_initially_out_of_range_2 (line 762) | async def test_price_initially_out_of_range_2(): function test_price_going_out_of_range (line 777) | async def test_price_going_out_of_range(): function test_start_after_offline_filled_orders (line 813) | async def test_start_after_offline_filled_orders(): function test_health_check_during_filled_orders (line 851) | async def test_health_check_during_filled_orders(): function test_compute_minimum_funds_1 (line 882) | async def test_compute_minimum_funds_1(): function test_compute_minimum_funds_2 (line 908) | async def test_compute_minimum_funds_2(): function test_start_without_enough_funds_to_buy (line 934) | async def test_start_without_enough_funds_to_buy(): function test_start_without_enough_funds_to_sell (line 956) | async def test_start_without_enough_funds_to_sell(): function test_start_without_enough_funds_at_all (line 994) | async def test_start_without_enough_funds_at_all(): function test_settings_for_just_one_order_on_a_side (line 1007) | async def test_settings_for_just_one_order_on_a_side(): function test_order_fill_callback (line 1019) | async def test_order_fill_callback(): function test_order_fill_callback_with_mirror_delay (line 1131) | async def test_order_fill_callback_with_mirror_delay(): function test_compute_mirror_order_volume (line 1160) | async def test_compute_mirror_order_volume(): function test_create_order (line 1233) | async def test_create_order(): function test_create_state (line 1403) | async def test_create_state(): function test_create_new_orders (line 1468) | async def test_create_new_orders(): function test_ensure_current_price_in_limit_parameters (line 1520) | async def test_ensure_current_price_in_limit_parameters(): function test_single_exchange_process_optimize_initial_portfolio (line 1551) | async def test_single_exchange_process_optimize_initial_portfolio(): function test_prepare_trailing (line 1598) | async def test_prepare_trailing(): function test_prepare_order_by_order_trailing (line 1658) | async def test_prepare_order_by_order_trailing(): function test_compute_trailing_replaced_orders (line 1823) | async def test_compute_trailing_replaced_orders(): function test_cancel_replaced_orders (line 1900) | async def test_cancel_replaced_orders(): function test_convert_order_funds (line 1942) | async def test_convert_order_funds(): function test_get_updated_trailing_orders (line 2016) | async def test_get_updated_trailing_orders(): function test_get_orders_to_replace_with_updated_price_for_trailing_up (line 2168) | async def test_get_orders_to_replace_with_updated_price_for_trailing_up(): function test_get_orders_to_replace_with_updated_price_for_trailing_down (line 2284) | async def test_get_orders_to_replace_with_updated_price_for_trailing_dow... function test_prepare_full_grid_trailing (line 2400) | async def test_prepare_full_grid_trailing(): function test_should_trigger_trailing_not_all_buy_order_created (line 2493) | async def test_should_trigger_trailing_not_all_buy_order_created(): function test_should_trigger_trailing_all_buy_order_created (line 2545) | async def test_should_trigger_trailing_all_buy_order_created(): function test_order_notification_callback (line 2604) | async def test_order_notification_callback(): function test_create_mirror_order_considering_exchange_fees (line 2658) | async def test_create_mirror_order_considering_exchange_fees(): function test_create_mirror_order_ignoring_exchange_fees (line 2738) | async def test_create_mirror_order_ignoring_exchange_fees(): function test_ensure_full_funds_usage (line 2804) | async def test_ensure_full_funds_usage(): function _wait_for_orders_creation (line 2878) | async def _wait_for_orders_creation(orders_count=1): function _check_open_orders_count (line 2883) | async def _check_open_orders_count(exchange_manager, count): function _get_total_usd (line 2888) | def _get_total_usd(exchange_manager, btc_price): function _fill_order (line 2894) | async def _fill_order(order, exchange_manager, trigger_update_callback=T... function _test_mode (line 2915) | async def _test_mode(mode, expected_buy_count, expected_sell_count, pric... function _check_generate_orders (line 2944) | async def _check_generate_orders(exchange_manager, producer, expected_bu... function _check_orders (line 2983) | def _check_orders(orders, strategy_mode, producer, exchange_manager): function _light_check_orders (line 3087) | async def _light_check_orders(producer, exchange_manager, expected_buy_c... function _get_multi_symbol_staggered_config (line 3152) | def _get_multi_symbol_staggered_config(): FILE: Trading/Mode/trading_view_signals_trading_mode/tests/test_trading_view_signals_trading.py function tools (line 50) | async def tools(): function _stop (line 105) | async def _stop(exchange_manager): function test_parse_signal_data (line 114) | async def test_parse_signal_data(): function test_trading_view_signal_callback (line 202) | async def test_trading_view_signal_callback(tools): function test_signal_callback (line 298) | async def test_signal_callback(tools): function test_signal_callback_with_cancel_policies (line 571) | async def test_signal_callback_with_cancel_policies(tools): function compare_dict_with_nan (line 623) | def compare_dict_with_nan(d_1, d_2): FILE: Trading/Mode/trading_view_signals_trading_mode/trading_view_signals_trading.py class TradingViewServiceFeedImportMock (line 35) | class TradingViewServiceFeedImportMock: class TradingViewServiceFeed (line 36) | class TradingViewServiceFeed: method get_name (line 37) | def get_name(self, *args, **kwargs): class TradingViewSignalsTradingMode (line 52) | class TradingViewSignalsTradingMode(trading_modes.AbstractTradingMode): method __init__ (line 84) | def __init__(self, config, exchange_manager): method init_user_inputs (line 91) | def init_user_inputs(self, inputs: dict) -> None: method get_supported_exchange_types (line 119) | def get_supported_exchange_types(cls) -> list: method get_current_state (line 128) | def get_current_state(self) -> (str, float): method get_mode_producer_classes (line 132) | def get_mode_producer_classes(self) -> list: method get_mode_consumer_classes (line 135) | def get_mode_consumer_classes(self) -> list: method _get_feed_consumers (line 138) | async def _get_feed_consumers(self): method create_consumers (line 160) | async def create_consumers(self) -> list: method _adapt_symbol (line 165) | def _adapt_symbol(cls, parsed_data): method parse_signal_data (line 175) | def parse_signal_data(cls, signal_data: str, errors: list) -> dict: method is_compatible_trading_type (line 205) | def is_compatible_trading_type(cls, parsed_signal: dict, trading_type:... method _log_error_message_if_relevant (line 210) | def _log_error_message_if_relevant(self, parsed_data: dict, signal_dat... method is_relevant_signal (line 230) | def is_relevant_signal(self, parsed_data: dict) -> bool: method _trading_view_signal_callback (line 239) | async def _trading_view_signal_callback(self, data): method get_is_symbol_wildcard (line 262) | def get_is_symbol_wildcard(cls) -> bool: method is_backtestable (line 266) | def is_backtestable(): class TradingViewSignalsModeConsumer (line 270) | class TradingViewSignalsModeConsumer(daily_trading_mode.DailyTradingMode... method __init__ (line 271) | def __init__(self, trading_mode): class TradingViewSignalsModeProducer (line 291) | class TradingViewSignalsModeProducer(daily_trading_mode.DailyTradingMode... method __init__ (line 292) | def __init__(self, channel, config, trading_mode, exchange_manager): method get_channels_registration (line 302) | def get_channels_registration(self): method set_final_eval (line 306) | async def set_final_eval(self, matrix_id: str, cryptocurrency: str, sy... method _parse_pre_update_order_details (line 310) | def _parse_pre_update_order_details(self, parsed_data): method _parse_order_details (line 316) | async def _parse_order_details(self, ctx, parsed_data): method _parse_cancel_policy (line 397) | def _parse_cancel_policy(self, parsed_data): method _parse_additional_decimal_elements (line 417) | async def _parse_additional_decimal_elements(self, ctx, parsed_data, e... method _parse_element (line 424) | async def _parse_element(self, ctx, parsed_data, key, default, is_pric... method _parse_volume (line 436) | async def _parse_volume(self, ctx, parsed_data, side, target_price, al... method signal_callback (line 452) | async def signal_callback(self, parsed_data: dict, ctx): method _process_pre_state_update_actions (line 471) | async def _process_pre_state_update_actions(self, context, data: dict): method _set_state (line 480) | async def _set_state( method cancel_orders_from_order_data (line 505) | async def cancel_orders_from_order_data(self, symbol: str, order_data)... FILE: scripts/clear_cloudflare_cache.py function _send_purge_cache_request (line 11) | def _send_purge_cache_request(url: str, cloudflare_token: str, urls_to_p... function _get_tentacles_url (line 28) | def _get_tentacles_url(tentacle_url_identifier): function clear_cache (line 41) | def clear_cache(tentacle_url_identifiers):