def test_generate_edge_table(edge_conf, mocker): patch_exchange(mocker) edge_cli = EdgeCli(edge_conf) results = {} results['ETH/BTC'] = PairInfo(-0.01, 0.60, 2, 1, 3, 10, 60) assert edge_cli._generate_edge_table(results).count(':|') == 7 assert edge_cli._generate_edge_table(results).count('| ETH/BTC |') == 1 assert edge_cli._generate_edge_table(results).count( '| risk reward ratio | required risk reward | expectancy |') == 1
def test_edge_start(mocker, edge_conf) -> None: mock_calculate = mocker.patch('freqtrade.edge.edge_positioning.Edge.calculate', return_value=True) table_mock = mocker.patch('freqtrade.optimize.edge_cli.generate_edge_table') patch_exchange(mocker) edge_conf['stake_amount'] = 20 edge_cli = EdgeCli(edge_conf) edge_cli.start() assert mock_calculate.call_count == 1 assert table_mock.call_count == 1
def start_edge(args: Dict[str, Any]) -> None: """ Start Edge script :param args: Cli args from Arguments() :return: None """ from freqtrade.optimize.edge_cli import EdgeCli # Initialize configuration config = setup_configuration(args, RunMode.EDGE) logger.info('Starting freqtrade in Edge mode') # Initialize Edge object edge_cli = EdgeCli(config) edge_cli.start()
def test_edge_init(mocker, edge_conf) -> None: patch_exchange(mocker) edge_conf['stake_amount'] = 20 edge_cli = EdgeCli(edge_conf) assert edge_cli.config == edge_conf assert edge_cli.config['stake_amount'] == 'unlimited' assert callable(edge_cli.edge.calculate)
def test_edge_init_fee(mocker, edge_conf) -> None: patch_exchange(mocker) edge_conf['fee'] = 0.1234 edge_conf['stake_amount'] = 20 fee_mock = mocker.patch('freqtrade.exchange.Exchange.get_fee', MagicMock(return_value=0.5)) edge_cli = EdgeCli(edge_conf) assert edge_cli.edge.fee == 0.1234 assert fee_mock.call_count == 0
def test_edge_init(mocker, edge_conf) -> None: patch_exchange(mocker) edge_cli = EdgeCli(edge_conf) assert edge_cli.config == edge_conf assert callable(edge_cli.edge.calculate)