Exemplo n.º 1
0
    def test_market_order(self):
        # Arrange
        order = self.order_factory.market(
            symbol=BTCUSDT,
            order_side=OrderSide.BUY,
            quantity=Quantity("0.10000000"),
        )

        # Act
        result = BinanceOrderRequestBuilder.build_py(order)

        # Assert
        expected = {
            'newClientOrderId': 'O-19700101-000000-000-001-1',
            'recvWindow': 10000,
            'type': 'MARKET',
        }
        self.assertEqual(expected, result)
Exemplo n.º 2
0
    def test_limit_buy_post_only_order(self):
        # Arrange
        order = self.order_factory.limit(
            symbol=BTCUSDT,
            order_side=OrderSide.BUY,
            quantity=Quantity("1.0"),
            price=Price("50000"),
            post_only=True,
        )

        # Act
        result = BinanceOrderRequestBuilder.build_py(order)

        # Assert
        expected = {
            'newClientOrderId': 'O-19700101-000000-000-001-1',
            'recvWindow': 10000,
            'type': 'LIMIT_MAKER',
        }
        self.assertEqual(expected, result)
Exemplo n.º 3
0
    def test_stop_market_buy_order(self):
        # Arrange
        order = self.order_factory.stop_market(
            symbol=BTCUSDT,
            order_side=OrderSide.SELL,
            quantity=Quantity("1.0"),
            price=Price("100000"),
            time_in_force=TimeInForce.GTC,
        )

        # Act
        result = BinanceOrderRequestBuilder.build_py(order)

        # Assert
        expected = {
            'newClientOrderId': 'O-19700101-000000-000-001-1',
            'recvWindow': 10000,
            'stopPrice': '100000',
            'type': 'TAKE_PROFIT',
        }
        self.assertEqual(expected, result)
Exemplo n.º 4
0
    def test_limit_sell_fok_order(self):
        # Arrange
        order = self.order_factory.limit(
            symbol=BTCUSDT,
            order_side=OrderSide.SELL,
            quantity=Quantity("1.0"),
            price=Price("50000"),
            time_in_force=TimeInForce.FOK,
            post_only=False,
        )

        # Act
        result = BinanceOrderRequestBuilder.build_py(order)

        # Assert
        expected = {
            'newClientOrderId': 'O-19700101-000000-000-001-1',
            'recvWindow': 10000,
            'timeInForce': 'FOK',
            'type': 'LIMIT',
        }
        self.assertEqual(expected, result)