예제 #1
0
    def data_started(self, data):
        pos = self.getposition(data)

        if pos.size < 0:
            order = SellOrder(data=data,
                              size=pos.size,
                              price=pos.price,
                              exectype=Order.Market,
                              simulated=True)

            order.addcomminfo(self.getcommissioninfo(data))
            order.execute(0, pos.size, pos.price, 0, 0.0, 0.0, pos.size, 0.0,
                          0.0, 0.0, 0.0, pos.size, pos.price)

            order.completed()
            self.notify.order(order)

        elif pos.size > 0:
            order = BuyOrder(data=data,
                             size=pos.size,
                             price=pos.price,
                             exectype=Order.Market,
                             simulated=True)

            order.addcomminfo(self.getcommissioninfo(data))
            order.execute(0, pos.size, pos.price, 0, 0.0, 0.0, pos.size, 0.0,
                          0.0, 0.0, 0.0, pos.size, pos.price)

            order.completed()
            self.notify(order)
예제 #2
0
    def _fill_external(self, data, size, price):
        if size == 0:
            return

        pos = self.getposition(data, clone=False)
        pos.update(size, price)

        if size < 0:
            order = SellOrder(data=data,
                              size=size,
                              price=price,
                              exectype=Order.Market,
                              simulated=True)
        else:
            order = BuyOrder(data=data,
                             size=size,
                             price=price,
                             exectype=Order.Market,
                             simulated=True)

        order.addcomminfo(self.getcommissioninfo(data))
        order.execute(0, size, price, 0, 0.0, 0.0, size, 0.0, 0.0, 0.0, 0.0,
                      size, price)

        order.completed()
        self.notify(order)
    def _fill_external(self, data, size, price):
        logger.debug("Fill external order: {}, {}, {}".format(
            data, size, price))
        if size == 0:
            return

        pos = self.getposition(data, clone=False)
        pos.update(size, price)

        if size < 0:
            order = SellOrder(data=data,
                              size=size,
                              price=price,
                              exectype=Order.Market,
                              simulated=True)
        else:
            order = BuyOrder(data=data,
                             size=size,
                             price=price,
                             exectype=Order.Market,
                             simulated=True)

        order.addcomminfo(self.getcommissioninfo(data))
        order.execute(0, size, price, 0, 0.0, 0.0, size, 0.0, 0.0, 0.0, 0.0,
                      size, price)
        order.completed()

        self.notify(order)
        self._ococheck(order)
        self.o.get_balance()
예제 #4
0
    def data_started(self, data):
        pos = self.getposition(data)

        if pos.size < 0:
            order = SellOrder(data=data,
                              size=pos.size, price=pos.price,
                              exectype=Order.Market,
                              simulated=True)

            order.addcomminfo(self.getcommissioninfo(data))
            order.execute(0, pos.size, pos.price,
                          0, 0.0, 0.0,
                          pos.size, 0.0, 0.0,
                          0.0, 0.0,
                          pos.size, pos.price)

            order.completed()
            self.notify.order(order)

        elif pos.size > 0:
            order = BuyOrder(data=data,
                             size=pos.size, price=pos.price,
                             exectype=Order.Market,
                             simulated=True)

            order.addcomminfo(self.getcommissioninfo(data))
            order.execute(0, pos.size, pos.price,
                          0, 0.0, 0.0,
                          pos.size, 0.0, 0.0,
                          0.0, 0.0,
                          pos.size, pos.price)

            order.completed()
            self.notify(order)
예제 #5
0
    def data_started(self, data):
        pos = self.getposition(data)

        if pos.size < 0:
            # pylint: disable=unexpected-keyword-arg
            order = SellOrder(
                data=data,
                size=pos.size,
                price=pos.price,
                exectype=Order.Market,
                simulated=True,
            )

            order.addcomminfo(self.getcommissioninfo(data))
            order.execute(
                0,
                pos.size,
                pos.price,
                0,
                0.0,
                0.0,
                pos.size,
                0.0,
                0.0,
                0.0,
                0.0,
                pos.size,
                pos.price,
            )

            order.completed()
            self.notify(order)

        elif pos.size > 0:
            # pylint: disable=unexpected-keyword-arg
            order = BuyOrder(
                data=data,
                size=pos.size,
                price=pos.price,
                exectype=Order.Market,
                simulated=True,
            )

            order.addcomminfo(self.getcommissioninfo(data))
            order.execute(
                0,
                pos.size,
                pos.price,
                0,
                0.0,
                0.0,
                pos.size,
                0.0,
                0.0,
                0.0,
                0.0,
                pos.size,
                pos.price,
            )

            order.completed()
            self.notify(order)