def test_exit_position_without_account_value():
    # There should always be an account available if we are exiting the trade.
    mock_account_value_list = []
    mock_aux = 100
    mock_close = 11
    mock_comission = 0

    with pytest.raises(IndexError):
        exit_position(mock_account_value_list, mock_close, mock_aux, mock_comission)
Exemple #2
0
def test_exit_position_as_second_tick():
    mock_account_value_list = [500]
    mock_aux = 100
    mock_close = 11
    mock_comission = 0

    in_trade, new_aux, new_account_value, fee = exit_position(
        mock_account_value_list, mock_close, mock_aux, mock_comission)

    assert in_trade is False
    assert new_aux == 0
    assert fee == 0.0
    assert new_account_value == 1600
Exemple #3
0
def test_exit_position_basic():
    mock_account_value_list = [1000, 0]
    mock_aux = 100
    mock_close = 11
    mock_comission = 0

    in_trade, new_aux, new_account_value, fee = exit_position(
        mock_account_value_list, mock_close, mock_aux, mock_comission)

    assert in_trade is False
    assert new_aux == 0
    assert fee == 0.0
    assert new_account_value == 1100