Example #1
0
def test_bar_append_new_low():
    trade_1 = Trade(123456, price=3.0, amount=1.0)
    trade_2 = Trade(123456, price=2.9, amount=1.0)
    trade_3 = Trade(123456, price=3.1, amount=1.0)
    bar = Bar(trade_1)
    bar.append(trade_2)
    bar.append(trade_3)
    assert bar.low == trade_2.price
Example #2
0
def test_bar_initial_attrs_from_trade():
    trade = Trade(123456, 3.0, 1.5)
    bar = Bar(trade)
    assert bar.dollar_value == trade.dollar_value
    assert bar.time == trade.timestamp
    assert bar.open == trade.price
    assert bar.high == trade.price
    assert bar.low == trade.price
    assert bar.close == trade.price
    assert bar.count == 1
Example #3
0
def test_mullti_strategy_on_new_bar_is_called():
    hub = Hub()
    publisher = Publisher(hub, 'test-publisher')
    trade = Trade(12345, price=1.0, amount=1.0)
    bar = Bar(trade)
    exchange = 'test'
    market = Markets.BTCEUR
    broker = BacktestBroker(hub)
    strat = NewBarTestMultiStrategy(hub, broker)
    publisher.publish([f'{exchange}-{market}', 'new-bar'], bar)
    assert strat.on_new_bar_called
Example #4
0
def test_bar_append_increases_dollar_value():
    trade_1 = Trade(123456, price=3.0, amount=1.0)
    trade_2 = Trade(123456, price=2.9, amount=1.0)
    bar = Bar(trade_1)
    bar.append(trade_2)
    assert bar.dollar_value == (trade_1.dollar_value + trade_2.dollar_value)
Example #5
0
def test_bar_append_increases_volume():
    trade_1 = Trade(123456, price=3.0, amount=1.0)
    trade_2 = Trade(123456, price=2.9, amount=1.0)
    bar = Bar(trade_1)
    bar.append(trade_2)
    assert bar.volume == (trade_1.amount + trade_2.amount)
Example #6
0
def test_bar_append_increases_count():
    trade_1 = Trade(123456, price=3.0, amount=1.0)
    trade_2 = Trade(123456, price=2.9, amount=1.0)
    bar = Bar(trade_1)
    bar.append(trade_2)
    assert bar.count == 2
Example #7
0
def test_bar_append_changes_close():
    trade_1 = Trade(123456, price=3.0, amount=1.0)
    trade_2 = Trade(123456, price=2.9, amount=1.0)
    bar = Bar(trade_1)
    bar.append(trade_2)
    assert bar.close == trade_2.price
Example #8
0
def test_bar_append_does_not_change_open():
    trade_1 = Trade(123456, price=3.0, amount=1.0)
    trade_2 = Trade(123456, price=2.9, amount=1.0)
    bar = Bar(trade_1)
    bar.append(trade_2)
    assert bar.open == trade_1.price