반응형

[Bitget Futures API 사용 주의사항]

  • ccxt 연결시 options defaultType 에 future 대신 swap 사용
    • exchange = ccxt.bitget({

                                                       'apiKey': 'xxx',

                                                       'secret': 'yyy,

                                                       'password': 'zzz',

                                                       'options': {'defaultType': 'swap'},

                                                     })

  • 주문시 리턴값으로 가격 등등.. 빈값이고 id 만 리턴 됨.
    • fetch_order(id) 로 다시 가져와야 함

 


[프로그램 소스]

import ccxt, time, sys

SYMBOL = "ETH/USDT:USDT"
POSITION_SIZE = 0.02

# gridbot settings
NUM_BUY_GRID_LINES = 3
NUM_SELL_GRID_LINES = 3
GRID_SIZE = 4

# 너무 짧으면 간혹 가져오기 실패..
CHECK_ORDERS_FREQUENCY = 0.2

CANCELED_ORDERS_STATUS = "canceled"
CLOSED_ORDER_STATUS = "filled"

exchange = ccxt.bybit({
    "apiKey": "xxx",
    "secret": "yyy",
    "password": "zzz",
    "options": {"defaultType": "swap"}
})

buy_orders = []
sell_orders = []

def new_buy_orders():
    ticker = exchange.fetch_ticker(SYMBOL)
    for i in range(NUM_BUY_GRID_LINES):
        price = ticker['close'] - (GRID_SIZE * (i+1))
        print("신규 Buy : {}".format(price))
        order = exchange.create_order(symbol=SYMBOL, type='limit', side='buy', \
                                        amount=POSITION_SIZE, price=price, \
                                        params={'reduce_only': False})
        time.sleep(CHECK_ORDERS_FREQUENCY)
        order = exchange.fetch_order(symbol= SYMBOL, id= order['info']['orderId'])
        buy_orders.append(order['info'])

def new_sell_orders():
    ticker = exchange.fetch_ticker(SYMBOL)
    for i in range(NUM_SELL_GRID_LINES):
        price = ticker['close'] + (GRID_SIZE * (i+1))
        print("신규 Sell : {}".format(price))
        order = exchange.create_order(symbol=SYMBOL, type='limit', side='sell', \
                                        amount=POSITION_SIZE, price=price, \
                                        params={'reduce_only': False})
        time.sleep(CHECK_ORDERS_FREQUENCY)
        order = exchange.fetch_order(symbol= SYMBOL, id= order['info']['orderId'])
        sell_orders.append(order['info'])

new_buy_orders()
new_sell_orders()

while True:
    closed_order_ids = []

    for buy_order in buy_orders:
          
        try:
            order = exchange.fetch_order(symbol=SYMBOL, id=buy_order['orderId'])
        except Exception as e:
            print("주문 체크 오류 : ", e)
            continue
            
        order_info = order['info']

        if order_info['state'] == CANCELED_ORDER_STATUS:
            closed_order_ids.append(order_info['orderId'])

        if order_info['state'] == CLOSED_ORDER_STATUS:
            closed_order_ids.append(order_info['orderId'])
            print("{} 체결 : {}".format(order_info['side'], order_info['price']))

            if order_info['side'] == 'open_long': 
                new_side = 'close_long'
            else:
                new_side = 'open_short'
            new_sell_price = float(order_info['price']) + GRID_SIZE
            print("{} 추가 : {}".format(new_side, new_sell_price))
            # 기존 주문이 신규이면 새로운 청산 주문, 기존 주문이 청산이면 신규 주문
            new_reduce_only = not order_info['reduce_only']
            new_sell_order = exchange.create_order(symbol=SYMBOL, type='limit', side='sell', \
                                    amount=POSITION_SIZE, price=new_sell_price, \
                                    params={'reduce_only': new_reduce_only})
            sell_orders.append(new_sell_order['info'])

        time.sleep(CHECK_ORDERS_FREQUENCY)

    for sell_order in sell_orders:
        
        try:
            order = exchange.fetch_order(symbol=SYMBOL, id=sell_order['order_id'])
        except Exception as e:
            print("request failed, retrying : ", e)
            continue
            
        order_info = order['info']

        if order_info['order_status'] == CLOSED_ORDER_STATUS:
            closed_order_ids.append(order_info['order_id'])
            print("Sell 체결 : {}".format(order_info['price']))

            if order_info['side'] == 'open_short': 
                new_side = 'close_short'
            else:
                new_side = 'open_long'

            new_buy_price = float(order_info['price']) - GRID_SIZE
            print("{} 추가 : {}".format(new_side, new_buy_price))
            # 기존 주문이 신규이면 새로운 청산 주문, 기존 주문이 청산이면 신규 주문
            new_reduce_only = not order_info['reduce_only']
            new_buy_order = exchange.create_order(symbol=SYMBOL, type='limit', side='buy', \
                        amount=POSITION_SIZE, price=new_buy_price, \
                        params={'reduce_only': new_reduce_only})
            buy_orders.append(new_buy_order['info'])

        time.sleep(CHECK_ORDERS_FREQUENCY)

    for order_id in closed_order_ids:
        buy_orders = [buy_order for buy_order in buy_orders if buy_order['orderId'] != order_id]
        sell_orders = [sell_order for sell_order in sell_orders if sell_order['orderId'] != order_id]

    if len(sell_orders) == 0:
        print("새로운 Sells")
        new_sell_orders()

    if len(buy_orders) == 0:
        print("새로운 Buys")
        new_buy_orders()

 

 

반응형
반응형

2022-05-25 기준

- 거래소 정보 출처 : https://exchangewar.info/

- 코인 정보 출처 : https://coinmarketcap.com/

- Kucoin(쿠코인) / Binance(바이낸스) 비교표

Kucoin(쿠코인)
Binance(바이낸스)
거래소 순위
12위
4위
거래소 24시간 거래 규모
54,059 BTC
338,406 BTC (6.25 배)
발행코인
KCS
BNB
발행코인 Market Cap
(40위) $1,564,409,957
(5위) $53,288,881,917 (34 배)
발행코인 가격
$15.91
$326.16 (20.5 배)
발행코인 Circulating Supply
98,379,860.95 KCS
58%
163,276,974.63 BNB
99%
발행코인 Max Supply
170,118,638
165,116,760
발행코인 Total Supply
145,879,861
163,276,975
총소각 수량
24,238,777 KCS
1,839,786 BNB
총소각 금액
~ $385,638,942 USD
~ $741,840,738 USD
배당 이자 수익
KCS 보유자에게 매일 배당
BNB 스태킹으로 이자 받을 수 있음

Dear KCS Holders,

To accelerate the process of KCS burn and adapt to the market development more efficiently, the KCS team decides to adjust the period of KCS buyback and burn from each quarter to each month.

The KCS team has executed the 157,537 KCS burn for April, 2022. The estimated burning amount is 2,398,117 USDT, which is 10% of the April income of KuCoin.

Burn Txid: https://explorer.kcc.io/en/tx/0xdc03a0358b6cf56af3473ec7b47422fa4a054f4a33375224387d718c781f9f80

Current KCS Circulating Supply: 97,984,145 KCS

Current KCS Total Supply: 145,484,145 KCS

총소각 : 24,238,777 KCS

총소각 금액 : ~$385,638,942 USD

- BNB 소각

https://www.binance.com/en/blog/ecosystem/19th-bnb-burn-421499824684903705

19th BNB Burn

2022-04-26

For this past quarter, BNB completed its second quarterly BNB Auto-Burn. A total of 1,839,786.26 BNB, or the equivalent of $741,840,738.874 USD, was removed from circulation. This includes 9,403.78 BNB that was burned from the Pioneer Burn Program.

Here are the facts and figures from our latest burn:

Total BNB burned: 1,839,786.26 BNB

Approximate value in USD: ~$741,840,738.874 USD

Transaction ID (TXID) for BNB burn: View transaction

BNB burned from the Pioneer Burn Program: 9,403.78 BNB


[Kucoin 쿠코인 앱 다운로드]

Kucoin(쿠코인) 가입 -> https://www.kucoin.com/r/E3bNRN

 

 

 

반응형
반응형

 

 

- 암호화폐 거래소 쿠코인(Kucoin) 사용자가 전 세계적으로 1,000만을 돌파했습니다.

 

- 배당코인(xtz, trx, atom, luna, dot..) 배당, 신규 코인 발행 이벤트, 레버리지 거래, 자동거래봇, 등 다양한 거래 기능이 있습니다.

계속 성장하는 암호화폐 거래소 쿠코인(Kucoin)에서 거래하세요.

 

- 추천 암호화폐 쿠코인(KCS)을 보유하시면 매일 배당을 받을 수 있습니다.

(KCS를 구매하셔서 가지고 계시면서 배당 지급 버튼을 매일 한번씩 눌러주세요~)

 

 

 

- 트래블룰 해외거래소(쿠코인) 암호화폐 입출금

트레블룰 암호화폐 해외거래소 입출금

 

 

- 쿠코인 가입 -> https://www.kucoin.com/r/E3bNRN

 

 

 


 

반응형

+ Recent posts