Exemple #1
0
def main():
    preprice = 0
    checknum = 0
    pretime = ''
    t = TApi.tconnect()
    time.sleep(3)
    t.ReqSettlementInfoConfirm()
    while True:
        md = getlastmd()
        price = md.split('|')[1]
        if md.split('|')[5] + md.split('|')[6] <> pretime:
            if preprice < price:
                checknum = checknum + 1
            elif preprice > price:
                checknum = checknum - 1
            else:
                pass
            preprice = price
            print price, checknum, pretime
            if checknum > 3:
                t.ReqOrderInsert('cu1311', 0, 1, price, 1)
            elif checknum < -2:
                t.ReqOrderInsert('cu1311', 0, 0, price, 1)
            checknum = cxhactive(checknum, price)
        pretime = md.split('|')[5] + md.split('|')[6]
        time.sleep(0.5)
Exemple #2
0
def main():
    preprice = 0
    checknum = 0
    pretime = ''
    t = TApi.tconnect()
    time.sleep(3)
    t.ReqSettlementInfoConfirm()
    while True:
        md = getlastmd()
        price = md.split('|')[1]
        if md.split('|')[5] + md.split('|')[6] <> pretime:
            if preprice < price:
                checknum = checknum + 1
            elif preprice > price:
                checknum = checknum - 1
            else:
                pass
            preprice = price
            print price,checknum,pretime
            if checknum > 3:
                t.ReqOrderInsert('cu1311', 0, 1, price, 1)
            elif checknum < -2:
                t.ReqOrderInsert('cu1311', 0, 0, price, 1)
            checknum = cxhactive(checknum, price)
        pretime = md.split('|')[5] + md.split('|')[6]
        time.sleep(0.5)
Exemple #3
0
def connect():
    config = ConfigParser.ConfigParser()
    config.readfp(open('./config/config.cfg'))
    traderapi = TApi.MyTraderApi(config.get('ACCOUNT', 'BrokerID'),
                                 config.get('ACCOUNT', 'UserID'),
                                 config.get('ACCOUNT', 'Password'))
    traderapi.SubscribePublicTopic(0)
    traderapi.SubscribePrivateTopic(0)
    traderapi.RegisterFront(config.get('SERVER', 'TServerIP'))
    traderapi.Init()
    return traderapi
Exemple #4
0
def main():
    t = TApi.tconnect()
    time.sleep(3)
    #t.ReqQryExchange()
    while True:
        t.qryOrder = []
        t.ReqQryOrder()
        time.sleep(5)
        nowtime = time.strftime("%H:%M:%S", time.localtime(time.time()))
        if t.qryOrder <> []:
            #print t.qryOrder
            for v in t.qryOrder:
                if timedelay(v[-1], nowtime) > 5:
                    t.ReqOrderAction(v[4], v[3])
        else:
            print "无须撤单", str(nowtime)
        time.sleep(0.5)
Exemple #5
0
def main():
    t = TApi.tconnect()
    time.sleep(3)
    config = ConfigParser.ConfigParser()
    config.readfp(open('./config/config.cfg'))
    profitamount = config.get('ACCOUNT', 'ProfitAmount')
    lossamount = config.get('ACCOUNT', 'LossAmount')
    cxhinstrument = config.get('ACCOUNT','CXHInstrument')
    print cxhinstrument, profitamount, lossamount
    while True:
        t.ReqQryInvestorPosition()
        time.sleep(2)
        md = cxh.getlastmd()
        price = md.split('|')[1]
        buyprice = md.split('|')[-4]
        sellprice = md.split('|')[-2]
        if t.investorPosition <> []:
            #print time.strftime("%H:%M:%S", time.localtime(time.time())),t.investorPosition
            for v in t.investorPosition:
            #v[1] 2多头 3空头
                if v[2] > 0:
                    positionProfit = v[-1]/v[2]
                    #print positionProfit
                    if positionProfit >= profitamount:
                        lossamount = profitamount
                        profitamount = profitamount * 2
                        #print lossamount,profitamount
                    if positionProfit >= profitamount and v[1] == '2':
                        t.ReqOrderInsert(cxhinstrument, 3, 1, sellprice, v[2])
                    elif positionProfit >= profitamount and v[1] == '3':
                        t.ReqOrderInsert(cxhinstrument, 3, 0, buyprice, v[2])
                    elif positionProfit < lossamount and v[1] == '2':
                        t.ReqOrderInsert(cxhinstrument, 3, 1, price, v[2])
                    elif positionProfit < lossamount and v[1] == '3':
                        t.ReqOrderInsert(cxhinstrument, 3, 0, price, v[2])
                if v[2] == 0:
                    profitamount = config.get('ACCOUNT', 'ProfitAmount')
                    lossamount = config.get('ACCOUNT', 'LossAmount')
        time.sleep(0.5)