StrategyModuleInformation#

tradeexecutor.strategy.strategy_module.StrategyModuleInformation class.

class StrategyModuleInformation[source]#

Bases: object

Describe elements that we need to have in a strategy module.

The class variables are the same name as found in the Python strategy module. They can be uppercase or lowercase - all strategy module variables are exported as lowercase.

__init__(source_code, trading_strategy_engine_version, trading_strategy_type, trading_strategy_cycle, trade_routing, reserve_currency, decide_trades, create_trading_universe, chain_id=None)#
Parameters
Return type

None

Methods

__init__(source_code, ...[, chain_id])

validate()

Check that the user inputted variable names look good.

Attributes

chain_id

Blockchain id on which this strategy operates

source_code

The source code of the strategy

trading_strategy_engine_version

trading_strategy_type

trading_strategy_cycle

trade_routing

reserve_currency

decide_trades

create_trading_universe

If execution_context.live_trading is true then this function is called for every execution cycle.

source_code: Optional[str]#

The source code of the strategy

Can be set None for strategies that are not public.

create_trading_universe: CreateTradingUniverseProtocol#

If execution_context.live_trading is true then this function is called for every execution cycle. If we are backtesting, then this function is called only once at the start of backtesting and the decide_trades need to deal with new and deprecated trading pairs.

chain_id: Optional[ChainId] = None#

Blockchain id on which this strategy operates

Valid for single chain strategies only

validate()[source]#

Check that the user inputted variable names look good.

Raises

StrategyModuleNotValid – If we could not load/parse strategy module for some reason

__init__(source_code, trading_strategy_engine_version, trading_strategy_type, trading_strategy_cycle, trade_routing, reserve_currency, decide_trades, create_trading_universe, chain_id=None)#
Parameters
Return type

None