Exemplo n.º 1
0
    def api_get(self, method, params={}):
        # 现货API
        if self.account:
            apikey, secretkey = get_account_key("okex", self.account)
        okcoinSpot = OKCoinFuture(okcoinRESTURL, apikey, secretkey)
        if method == "future_userinfo_4fix":
            api_do = "okcoinSpot.%s()" % (method)
            return eval(api_do)

        elif method == "future_position_4fix":
            return okcoinSpot.future_position_4fix(params["symbol"],
                                                   params["contractType"],
                                                   params["type"])

        elif method == "trade":
            return okcoinSpot.future_trade(params["symbol"],
                                           params["contractType"],
                                           params["price"], params["amount"],
                                           params["type"],
                                           params["match_price"],
                                           params["lever_rate"])

        elif method == "ticker":
            return okcoinSpot.future_ticker(params["symbol"],
                                            params["contractType"])

        elif method == "order_info":
            return okcoinSpot.future_orderinfo(params["symbol"],
                                               params["contractType"],
                                               params["id"])

        elif method == "orders_info":
            return okcoinSpot.future_orderinfo(params["symbol"],
                                               params["contractType"],
                                               -1,
                                               status=1)

        elif method == "cancelOrder":
            return okcoinSpot.future_cancel(params["symbol"],
                                            params["contractType"],
                                            params["id"])
        elif method == "future_estimated_price":
            return okcoinSpot.future_estimated_price(params["symbol"])

        elif method == "future_depth":
            return okcoinSpot.future_depth(params.get("symbol"),
                                           params.get("contractType"),
                                           params.get("size"))
        elif method == "cancelOrders":
            return okcoinSpot.future_cancelorders(params["symbol"],
                                                  params["contractType"],
                                                  params["id"])
Exemplo n.º 2
0
 def future_orders(self, symbol, status):
     # print("future_orders:" + symbol)
     # symbol 样例 btc_usd
     okcoinFuture = OKCoinFuture(okcoinRESTURL, self.apiKey, self.secretKey)
     #status = None  (0等待成交 1部分成交 2全部成交 -1撤单 4撤单处理中)
     return okcoinFuture.future_orderinfo(symbol, 'quarter', -1, status=status, currentPage=1)
Exemplo n.º 3
0
print u'获取预估交割价' 
print okcoinFuture.future_estimated_price('ltc_usd')

print u'获取全仓账户信息'
print okcoinFuture.future_userinfo()

print u'获取全仓持仓信息'
print okcoinFuture.future_position('ltc_usd','this_week')

print u'期货下单'
print okcoinFuture.future_trade('ltc_usd','this_week','0.1','1','1','0','20')

print u'期货批量下单'
print okcoinFuture.future_batchTrade('ltc_usd','this_week','[{price:0.1,amount:1,type:1,match_price:0},{price:0.1,amount:3,type:1,match_price:0}]','20')

print u'期货取消订单'
print okcoinFuture.future_cancel('ltc_usd','this_week','47231499')

print u'期货获取订单信息'
print okcoinFuture.future_orderinfo('ltc_usd','this_week','47231812','0','1','2')

print u'期货逐仓账户信息'
print okcoinFuture.future_userinfo_4fix()

print u'期货逐仓持仓信息'
print okcoinFuture.future_position_4fix('ltc_usd','this_week',1)



   
Exemplo n.º 4
0
entry_price = 0
last_entry_price = 0
entry_atr = 0
units = 0

while True:
    time.sleep(1)
    try:
        print(u'------')
        print(u'当季期货行情信息')
        trades = okcoinFuture.future_trades('btc_usd', contract_type)
        klines = okcoinFuture.kline('btc_usd', kline_type, contract_type, 1001)
        future_userinfo_4fix = okcoinFuture.future_userinfo_4fix()
        future_position_4fix = okcoinFuture.future_position_4fix(
            'btc_usd', contract_type, 1)
        future_order_info = okcoinFuture.future_orderinfo(
            'btc_usd', contract_type, '-1', '2', 1, 45)
        future_ticker = okcoinFuture.future_ticker('btc_usd', contract_type)
        if future_userinfo_4fix == '':
            continue
        if future_position_4fix == '':
            continue
        if future_order_info == '':
            continue
        future_userinfo_4fix_json = json.loads(future_userinfo_4fix)
        future_position_4fix_json = json.loads(future_position_4fix)
        future_order_info_json = json.loads(future_order_info)
        holding = future_position_4fix_json['holding']
        orders = future_order_info_json['orders']
        rights = future_userinfo_4fix_json['info']['btc']['rights']
        print(future_userinfo_4fix_json['info']['btc'])
        inputs = {
Exemplo n.º 5
0
if is_continue:
    print('-' * 30)
    print('你将开始一个计划委托:当价格 %s %s 时,平%s单' %(trend, price, category))
    print('-' * 30)
else:
    print('输入不合法,自动退出')
    sys.exit()

print('start>>>>>>>>>>>>>>>>>>>>>>>')

while True:

    try:
        # 获取订单信息
        # 有挂单就继续向下,等待持仓成交, 没挂单,则自动退出
        orders = okcoinFuture.future_orderinfo('btc_usd', 'quarter', '-1', '1', '1', '50')
        orders = json.loads(orders)['orders']

        # 全仓持仓信息
        holding = json.loads(okcoinFuture.future_position('btc_usd','quarter'))['holding'][0]
        buy_available = holding['buy_available']
        sell_available = holding['sell_available']

        # 在没有挂单同时也没有持仓的情况下就要退出
        if not len(orders) and buy_available == 0 and sell_available == 0:
            sys.exit()

        # 平多仓
        if category == 'duo' and buy_available > 0:
            amount = buy_available
Exemplo n.º 6
0
print (okcoinFuture.future_position('ltc_usd','quarter'))

#print (u'期货下单')
print (okcoinFuture.future_trade('ltc_usd','quarter','40.00','1','1','0','10'))
# amount:合约张数
# price:美元计价
print (okcoinFuture.future_trade(symbol='ltc_usd',contractType='quarter',
 price='40',amount='1',tradeType='1',matchPrice='0',leverRate='10'))
#print (u'期货批量下单')
#print (okcoinFuture.future_batchTrade('ltc_usd','this_week','[{price:0.1,amount:1,type:1,match_price:0},{price:0.1,amount:3,type:1,match_price:0}]','20'))

#print (u'期货取消订单')
print (okcoinFuture.future_cancel('ltc_usd','quarter','6896600986'))

#print (u'期货获取订单信息')
print (okcoinFuture.future_orderinfo('ltc_usd','quarter','6896592048','0','1','2'))
(symbol,contractType,orderId,status,currentPage,pageLength):

print (okcoinFuture.future_orderinfo('ltc_usd','quarter',
orderId = '6896592048',status = '0',currentPage='1',pageLength='2'))
#orderId:订单ID -1:查询指定状态的订单,否则查询相应订单号的订单
#status:1:未完成的订单 2:已经完成的订单
#currentPage:当前页数
#pageLength:每页获取条数,最多不超过50

#print (u'期货逐仓账户信息')
#print (okcoinFuture.future_userinfo_4fix())

#print (u'期货逐仓持仓信息')
#print (okcoinFuture.future_position_4fix('ltc_usd','quarter',2))