Example #1
0
class Forceorder():
    def __init__(self):
        self.ev = EventEngine()
        self.ev.start()
        self.broke = BinanceFutures(self.ev)
        self.broke.start("btcusdt", [FORCEORDER])
        self.ev.register(FORCEORDER, self.callback)

    def callback(self, event):
        """
        {'e': 'forceOrder', 'E': 1594107015086,
        'o': {'s': 'BTCUSDT',
        'S': 'SELL',
        'o': 'LIMIT',
        'f': 'IOC',
        'q': '1.300',
        'p': '9206.39',
        'ap': '9242.01',
        'X': 'FILLED',
        'l': '1.084',
        'z': '1.300',
        'T': 1594107015081}}

        :param event:
        :return:
        """
        e = event.data
        try:
            data = e["o"]
            db.insert_one("forceorder", data)
        except Exception as e:
            log.debug(e)
Example #2
0
class BaseEngine():

    def __init__(self):
        self.event=EventEngine()
        self.strategy=None

    def run(self):
        self.register_event()

    def register_event(self):
        """"""
        self.event.register(EventType.TICKER, self.process_ticket_event)
        self.event.register(EventType.ORDER, self.process_order_event)
        self.event.register(EventType.TRADE, self.process_trade_event)
        self.event.register(EventType.POSITION, self.process_position_event)

    def process_bar_event(self, event):
        strategy = self.strategy
        call_strategy_func(strategy, strategy.on_bar, event)

    def process_ticket_event(self,event):
        strategy = self.strategy
        call_strategy_func(strategy, strategy.on_ticket, event)

    def process_order_event(self, event):
        strategy = self.strategy
        call_strategy_func(strategy, strategy.on_order, event)

    def process_trade_event(self, event):
        strategy = self.strategy
        call_strategy_func(strategy, strategy.on_trade, event)

    def process_position_event(self,event):
        strategy=self.strategy
        call_strategy_func(strategy,strategy.on_position,event)
Example #3
0
def test_subscribe():
    ev = EventEngine()
    ev.start()
    b = Bitmax(ev)
    b.start("btcusdt", [FORCEORDER])
    ev.register(FORCEORDER, on_sub)