def go(): app = CtpBee("last", __name__) # 风险控制层 # @app.risk_gateway.connect_via() # def conn(app: CtpBee): # """ # 用户可以在每个app实例下面来使用app.risk_control.connect_via() 来装饰函数 # 接受一个参数来访问到当前app的实例, 以此判断是否进行下单 , 需要注意, 如果一旦返回错误, 那么函数这单将无法下载 # """ # return False # return True # 或者 # def conn(app: CtpBee): # return False # return True # app.risk_control.connect(conn) info = { "CONNECT_INFO": { "userid": "089131", "password": "******", "brokerid": "9999", "md_address": "tcp://180.168.146.187:10131", "td_address": "tcp://180.168.146.187:10130", # "md_address": "tcp://218.202.237.33:10112", # "td_address": "tcp://218.202.237.33:10102", "product_info": "", "appid": "simnow_client_test", "auth_code": "0000000000000000", }, "INTERFACE": "ctp", "TD_FUNC": True, "MD_FUNC": True, } """ 载入配置信息 """ app.config.from_mapping(info) """ 载入用户层定义层 你可以编写多个继承CtpbeeApi ,然后实例化它, 记得传入app, 当然你可以通过app.remove_extension("data_recorder") data_recorder 就是下面传入的插件名字 """ data_recorder = DataRecorder("data_recorder", app) """ 启动 """ app.start() while True: app.query_position() sleep(1) app.query_account() sleep(1)
def run(app: CtpBee): while True: app.query_position() sleep(1) app.query_account() sleep(1)