예제 #1
0
 def connect(self):
     '''
     链接服务器
     :return:
     '''
     if self.client is None:
         self.client = TdxTradeApi(endpoint=self.endpoint,
                                   enc_key=bytes(self.key),
                                   enc_iv=bytes(self.iv))
예제 #2
0
class Trader(object):
    '''
    通达信自动交易
    '''
    client_id = None
    endpoint = None
    client = None
    key = None
    iv = None

    def __init__(self, endpoint, key, iv):
        self.client = TdxTradeApi(endpoint=endpoint,
                                  enc_key=bytes(key),
                                  enc_iv=bytes(iv))

    def config(self, **kwargs):
        self.client = TdxTradeApi(**kwargs)

    def status(self):
        '''
        服务器连通测试

        :return:
        '''
        return self.client.ping()

    def connect(self):
        '''
        链接服务器
        :return:
        '''
        if self.client is None:
            self.client = TdxTradeApi(endpoint=self.endpoint,
                                      enc_key=bytes(self.key),
                                      enc_iv=bytes(self.iv))

    # 登入
    def login(self, ip, port, version, yyb_id, account_id, trade_account,
              jy_passwrod, tx_password):
        '''
        登录服务器
        :param ip:
        :param port:
        :param version:
        :param yyb_id:
        :param account_id:
        :param trade_account:
        :param jy_passwrod:
        :param tx_password:
        :return:
        '''
        result = self.client.logon(ip, port, version, yyb_id, account_id,
                                   trade_account, jy_passwrod, tx_password)

        if result.get('success'):
            self.client_id = result.get('data').get('client_id')

        return self.client_id

    # 登出
    def logout(self):
        '''
        注销
        :return:
        '''
        return self.client.logoff(self.client_id)

    # 查询信息
    def query(self, category):
        '''
        查询信息

        :param category:
        :return:
        '''
        self.client.query_data(client_id=self.client_id, category=category)

    # 查询历史信息
    def history(self, category, begin_date, end_date):
        '''
        查询历史信息

        :param category:
        :param begin_date:
        :param end_date:
        :return:
        '''
        return self.client.query_history_data(self.client_id, category,
                                              begin_date, end_date)

    # 创建订单
    def order(self, category, price_type, gddm, zqdm, price, quantity):
        '''
        创建订单

        :param category:
        :param price_type:
        :param gddm:
        :param zqdm:
        :param price:
        :param quantity:
        :return:
        '''
        return self.client.send_order(self.client_id, category, price_type,
                                      gddm, zqdm, price, quantity)

    # 撤销订单
    def cancel(self, exchange_id, hth):
        '''
        撤销订单

        :param exchange_id:
        :param hth:
        :return:
        '''
        return self.client.cancel_order(self.client_id, exchange_id, hth)

    # 获取行情
    def quote(self, code):
        '''
        获取行情

        :param code:
        :return:
        '''
        return self.client.get_quote(self.client_id, code)

    # 融资融券账户直接还款
    def repay(self, amount):
        '''
        融资融券账户直接还款

        :param amount:
        :return:
        '''
        return self.client.repay(self.client_id, amount)

    # 获取所有正在登录的client账号列表
    def clients(self):
        '''
        获取所有正在登录的client账号列表

        :return:
        '''
        return self.client.get_active_clients()
예제 #3
0
 def config(self, **kwargs):
     self.client = TdxTradeApi(**kwargs)
예제 #4
0
 def __init__(self, endpoint, key, iv):
     self.client = TdxTradeApi(endpoint=endpoint,
                               enc_key=bytes(key),
                               enc_iv=bytes(iv))