Exemple #1
0
def main():
    # >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
    huobi_setting = load_json("connect_huobi.json")
    binance_setting = load_json("connect_binance.json")
    setting_filename = "fsa_setting_test.json"
    # >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>

    event_engine = EventEngine()
    log_engine = LogEngine(event_engine, log_level=DEBUG, log_name='fsa1')

    fsa_engine = SpreadEngine(event_engine, setting_filename)

    fsa_engine.add_gateway(BinanceFuturesGateway)
    fsa_engine.add_gateway(HbdmGateway)
    fsa_engine.write_log('Add gateway finished!')

    fsa_engine.start()

    fsa_engine.connect(huobi_setting, 'HBDM')
    fsa_engine.connect(binance_setting, 'BINANCEFUTURES')
    fsa_engine.write_log('Gateways is connecting, and sleep 20 seconds!')
    sleep(15)

    while True:
        # print('sleep')
        sleep(10)
Exemple #2
0
def main():
    # >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
    gateway_setting = load_json("connect_okex.json")
    setting_filename = "fsa_setting_test_okex.json"
    # >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>

    event_engine = EventEngine()
    log_engine = LogEngine(event_engine, log_level=DEBUG, log_name='fsa1')

    fsa_engine = SpreadEngine(event_engine, setting_filename)

    fsa_engine.add_gateway(OkexGateway)
    fsa_engine.add_gateway(OkexsGateway)
    fsa_engine.write_log('Add gateway finished!')

    fsa_engine.start()

    fsa_engine.connect(gateway_setting, 'OKEX')
    fsa_engine.connect(gateway_setting, 'OKEXS')
    fsa_engine.write_log('Gateways is connecting, and sleep 20 seconds!')
    sleep(15)

    while True:
        # print('sleep')
        sleep(10)
Exemple #3
0
    def load_setting(self) -> None:
        """"""
        setting = load_json(self.setting_filename)

        for spread_setting in setting:
            self.add_spread(
                spread_setting["name"], spread_setting["leg_settings"],
                spread_setting["active_symbol"],
                spread_setting.get("min_volume",
                                   1), spread_setting["buy_price"],
                spread_setting["sell_price"], spread_setting["cover_price"],
                spread_setting["short_price"], spread_setting["max_pos"],
                spread_setting["lot_size"], spread_setting["payup"])
Exemple #4
0
db = get_sqlite('info.db')
DbContractData, DbAccountData, DbBarData = init_models(db)

def process_event(event:Event):
    print(event.type+ "*"*30)
    if isinstance(event.data, dict):
        print(event.data)
    else:
        print(event.data.__dict__)

event_engine = EventEngine()
event_engine.register(EVENT_LOG, process_event)
event_engine.start()

binance_setting = load_json("connect_binance.json")
gateway = BinanceGateway(event_engine)
gateway.connect(binance_setting)
gateway_futures = BinanceFuturesGateway(event_engine)
gateway_futures.connect(binance_setting)

# huobi_setting = load_json("connect_huobi.json")
# gateway = HuobiGateway(event_engine)
# gateway.connect(huobi_setting)
# gateway_futures = HbdmGateway(event_engine)
# gateway_futures.connect(huobi_setting)

sleep(5)

endtime = datetime.now()
starttime = endtime - timedelta(days=12)
from time import sleep
import sys
from pathlib import Path
sys.path.append(str(Path.cwd()))

from logging import DEBUG, INFO, CRITICAL
from myUtility import load_json
from myEvent import (Event, EventEngine, EVENT_ORDER, EVENT_TRADE,
                     EVENT_POSITION, EVENT_ACCOUNT, EVENT_CONTRACT, EVENT_LOG,
                     LogEngine)
from Digiccy1.binance_gateway_local import BinanceDepthGateway, BinanceFuturesDepthGateway
from Digiccy1.maker_arb import SpreadEngine

# >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
binance_setting = load_json("connect_binance_huqh109.json")
setting_filename = "maker_setting1_bi_test.json"
# >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>

event_engine = EventEngine()
log_engine = LogEngine(event_engine, log_level=DEBUG, log_name='fsa1_test')

fsa_engine = SpreadEngine(event_engine, setting_filename)

fsa_engine.add_gateway(BinanceDepthGateway)
fsa_engine.add_gateway(BinanceFuturesDepthGateway)
fsa_engine.write_log('Add gateway finished!')

fsa_engine.start()

fsa_engine.connect(binance_setting, 'BINANCE')
fsa_engine.connect(binance_setting, 'BINANCEFUTURES')
    EVENT_TICK,
    EVENT_ORDER,
    EVENT_TRADE,
    EVENT_POSITION,
    EVENT_ACCOUNT,
    EVENT_CONTRACT,
    EVENT_LOG,
)

from myObject import (TickData, OrderData, TradeData, AccountData,
                      ContractData, OrderRequest, CancelRequest,
                      SubscribeRequest, HistoryRequest)
from myConstant import (Direction, Exchange, Product, Status, OrderType,
                        Interval)

setting = load_json("connect_huobi.json")


def process_event(event: Event):
    print('event type:%s' % event.type)
    print("event data:%s" % event.data)


event_engine = EventEngine()
event_engine.register(EVENT_TICK, process_event)
event_engine.register(EVENT_CONTRACT, process_event)
event_engine.register(EVENT_POSITION, process_event)
# event_engine.register(EVENT_ACCOUNT, process_event)
event_engine.register(EVENT_LOG, process_event)
event_engine.start()
from time import sleep
from datetime import datetime, timedelta
from myUtility import load_json
from myEvent import (Event, EventEngine, EVENT_TICK, EVENT_ORDER, EVENT_TRADE,
                     EVENT_POSITION, EVENT_ACCOUNT, EVENT_CONTRACT, EVENT_LOG)
from myObject import (TickData, OrderData, TradeData, AccountData,
                      ContractData, OrderRequest, CancelRequest,
                      SubscribeRequest, HistoryRequest)
from myConstant import (Direction, Exchange, Product, Status, OrderType,
                        Interval, Exchange, EVENT_ACCOUNT_MARGIN,
                        EVENT_BORROW_MONEY, EVENT_REPAY_MONEY)
# from DatabaseManage.init_sqlite import get_sqlite, init_models
from Digiccy1.okex_gateway_local import OkexGateway, OkexfGateway, OkexsGateway

setting = load_json("connect_okex.json")
# db = get_sqlite('info.db')
# DbContractData, DbAccountData, DbBarData = init_models(db)


def process_event(event: Event):
    print(event.type + "*" * 30)
    if isinstance(event.data, dict):
        print(event.data)
    else:
        print(event.data.__dict__)


event_engine = EventEngine()
event_engine.register(EVENT_TICK, process_event)
# event_engine.register(EVENT_CONTRACT, process_event)