}

# Instantiate your strategies to pass into the trading node. You could add
# custom options into the configuration file or even use another configuration
# file.

instrument_id = InstrumentId(
    symbol=Symbol("BTC/USD"),
    venue=Venue("BITMEX"),
)

strategy = EMACrossStopEntryTrail(
    instrument_id=instrument_id,
    bar_spec=BarSpecification(1, BarAggregation.MINUTE, PriceType.LAST),
    trade_size=Decimal("100"),
    fast_ema_period=10,
    slow_ema_period=20,
    atr_period=20,
    trail_atr_multiple=2.0,
    order_id_tag="001",
)

# Instantiate the node passing a list of strategies and configuration
node = TradingNode(strategies=[strategy], config=config)

# Stop and dispose of the node with SIGINT/CTRL+C
if __name__ == "__main__":
    try:
        node.start()
    finally:
        node.dispose()
# custom options into the configuration file or even use another configuration
# file.
strategy1 = EMACross(
    symbol=Symbol("ETH/USDT", Venue("BINANCE")),
    bar_spec=BarSpecification(1, BarAggregation.MINUTE, PriceType.LAST),
    trade_size=Decimal("0.02"),
    fast_ema_period=10,
    slow_ema_period=20,
    order_id_tag="003",
)

strategy2 = EMACrossStopEntryTrail(
    symbol=Symbol("BTC/USD", Venue("BITMEX")),
    bar_spec=BarSpecification(1, BarAggregation.MINUTE, PriceType.LAST),
    trade_size=Decimal("100"),
    fast_ema_period=10,
    slow_ema_period=20,
    atr_period=20,
    trail_atr_multiple=2.0,
    order_id_tag="004",
)

# Instantiate the node passing a list of strategies and configuration
node = TradingNode(strategies=[strategy1, strategy2], config=config)

# Stop and dispose of the node with SIGINT/CTRL+C
if __name__ == "__main__":
    try:
        node.start()
    finally:
        node.dispose()