Jak mohu provádět spotové obchodování pomocí zápisníku Jupyter?

Publikováno dne 29. 9. 2023Aktualizováno dne 18. 8. 2024Doba čtení: 10 min277

Zjistěte, jak můžete provádět jednoduché spotové obchodování voláním funkcí v python-okx v Jupyter Notebook.

1. Jak mohu v zápisníku Jupyter spouštět fragmenty kódu v jazyce Python?

CT-web-spottrading-howtoapi-1

Zápisník Jupyter je neuvěřitelně výkonný a snadno použitelný nástroj pro vývoj a analýzu dat v jazyce Python. Server Jupyter Notebook můžete spustit v systému Windows, Mac OS nebo Linux. Tento výukový kurz poskytuje poměrně obsáhlý návod, jak zprovoznit Jupyter Notebook.

2. Jak mohu nainstalovat balíček python-okx?

Po spuštění Jupyter Notebook můžete nainstalovat balíček python-okx jednoduše příkazem pip install python-okx v zápisníku nebo v terminálu (nebo pomocí příkazového řádku pro Windows):

CT-web-spottrading-howtoapi-2

3. Jak mohu vytvořit klíče API?

  1. Po přihlášení do služby OKX přejděte na Obchodovat> Obchodování na demo účtu a vytvořte klíče API pro testovací účely

    CT-web-trade-demo trading

    Otevřete stránku Obchodování na demo účtu

  2. Přejděte na Účet > API a vytvořte klíče API

    CT-web-profile-API

    Otevřete API pro vytvoření klíčů API

  3. Vytvoření klíčů API pro různé hlavní/podřízené účty, které můžete mít

    CT-web-API-create

    Vyberte možnost Vytvořit klíč API

  4. V části Oprávnění vyberte možnost Obchodovat pro obchodování s klíčem API

    CT-web-API-trade

    Vyberte možnost Obchodovat v nabídce Oprávnění

  5. Nyní máte přístup ke svému klíči API, tajnému klíči a přístupové frázi. Uchovávejte je na bezpečném místě!

  6. Instancujte proměnné Pythonu a uložte si podrobnosti o API do zápisníku pro pozdější použití

    Python
    1 api_key = "xxxxx"
    2 secret_key = "xxxxx"
    3 passphrase = "xxxxxx"

4. Jak mohu importovat moduly OKX?

V python-okx je několik modulů založených na našich modulech REST API. Přečtěte si našeho průvodce a zjistěte, jak importovat moduly OKX.

  • Obchodovat

  • BlockTrading

  • Funding

  • Účet

  • Směna

  • Earning

  • SubAccount

  • MarketData

  • PublicData

  • TradingData

  • Status

  • NDBroker

  • FDBroker

Chcete-li importovat modul Obchod, můžete spustit:

Python
1 import okx.Trade as Trade

Nyní jste připraveni používat rozsáhlé funkce, které jsou v python-okx k dispozici!

5. Jak mohu získat přístup k našim tržním datům?

Další informace o přístupu k našim tržním datům naleznete v níže uvedeném kódu.

Python
1  import okx.MarketData as MarketData
2  flag = "1"  # live trading: 0, demo trading: 1
3  marketDataAPI = MarketData.MarketAPI(flag=flag)
4  result = marketDataAPI.get_tickers(instType="SPOT")print(result)

6. Jak si mohu přečíst dostupné obchodní páry?

Přečtěte si více o tom, jak číst naše dostupné obchodovatelné páry, a podívejte se na níže uvedený kód.

Python
1   import okx.PublicData as PublicData
2
3   flag = "1"  # live trading: 0, demo trading: 1
4
5   PublicDataAPI = PublicData.PublicAPI(flag=flag)
6
7    result = PublicDataAPI.get_instruments(
8        instType="SPOT"
9    )
10  print(result)

7. Jak si mohu přečíst zůstatek na účtu?

Další informace o tom, jak zjistit zůstatek na účtu, najdete v našem specializovaném průvodci.

Poznámka: pro spotové obchodování v „cash“ tdMode je třeba zkontrolovat především parametry cashBal, frozenBal pro každou ccypodrobnostech a parametr totalEq.

Python
1   import okx.Account as Account
2   flag = "1"  # live trading: 0, demo trading: 1
3
4   accountAPI = Account.AccountAPI(api_key, secret_key, passphrase, False, flag)
5
6   result = accountAPI.get_account_balance()
7   print(result)

8. Jak mohu získat přístup ke čtyřem různým režimům účtu?

V našem jednotném systému účtů existují čtyři režimy účtů:

  • Spotový režim

  • Režim spotů a futures

  • Režim multiměnové marže

  • Režim marže portfolia

Chcete-li pochopit rozdíl mezi různými režimy účtů a způsob nastavení režimu účtu prostřednictvím webového uživatelského rozhraní, přečtěte si našeho specializovaného průvodce.

V režimu marže nebo v obchodním režimu určuje parametr tdMode, jak bude vaše pozice obchodována na marži, což je třeba nastavit při každém zadání nového příkazu.

Pro spotové obchodování v režimu spotů nebo spotů a futures nastavte tdMode='cash'.

Pro spotové obchodování v režimu multiměnové marže nebo marže portfolia nastavte tdMode= 'cross'.

Níže najdete stručný návod, jak zjistit, v jakém režimu je váš aktuální účet nakonfigurován.

9. Jak zjistím, v jakém režimu je můj aktuální účet nakonfigurován?

Další informace o tom, jak zjistit, v jakém režimu je váš aktuální účet nakonfigurován, naleznete v našem specializovaném průvodci po zadání parametru acctLv.

Python
1 import okx.Account as Account
2
3 flag = "1"  # live trading: 0, demo trading: 1
4 
5 accountAPI = Account.AccountAPI(api_key, secret_key, passphrase, False, flag)
6 result = accountAPI.get_account_config()
7 print(result)
8 
9 if result['code'] == "0":
10     acctLv = result["data"][0]["acctLv"]
11     if acctLv == "1":
12         print("Simple mode")
13     elif acctLv == "2":
14        print("Single-currency margin mode")
15     elif acctLv == "3":
16        print("Multi-currency margin mode")
17     elif acctLv == "4":
18        print("Portfolio margin mode")

10. Jak mohu zadávat spotové objednávky v režimu spotů / spotů a futures?

10.1 Jak mohu zadat limit order?

Další informace o tom, jak zadat limitní objednávku v režimu spotů a spotů a futures, naleznete v našem specializovaném průvodci.

Zde je příklad nákupu 0,01 BTC za cenu 19 000 USDT.

Python
1 # limit order
2 result = tradeAPI.place_order(
3     instId="BTC-USDT",
4     tdMode="cash",
5     side="buy",
6     ordType="limit",
7     px="19000",
8     sz="0.01"
9 )
10 print(result)
11 
12 if result["code"] == "0":
13     print("Successful order request,order_id = ",result["data"][0]["ordId"])
14 else:
15     print("Unsuccessful order request,error_code = ",result["data"][0]["sCode"], ", Error_message = ", result["data"][0]["sMsg"])

10.2 Jak mohu zadat market order?

Další informace o tom, jak zadat market order v režimu spotů a spotů a futures, naleznete v našem specializovaném průvodci.

Zde je příklad nákupu BTC v hodnotě 100 USD za aktuální tržní cenu.

Python
1 #  market order
2 result = tradeAPI.place_order(
3     instId="BTC-USDT",
4     tdMode="cash",
5     side="buy",
6     ordType="market",
7     sz="100",
8 )
9 print(result)

10.3 Jak mohu při spotovém obchodování použít parametr cílové měny tgtCcy?

Při spotovém obchodování určuje parametr tgtCcy jednotku parametru velikosti sz, kterou může být buď základní měna, nebo druhá měna obchodovatelného páru. Například v páru BTC-USDT je základní měnou BTC a druhou měnou USDT.

Ve výchozím nastavení je tgtCcy = quote_ccy pro nákupní objednávku, což znamená, že zadaná hodnota sz je vyjádřena v druhé měně. Výchozí hodnota tgtCcy pro prodejní objednávky je base_ccy, což znamená, že zadaná hodnota sz je vyjádřena v základní měně.

V příkladu níže se chystáte zadat market order k nákupu BTC v hodnotě 100 USD.

Python
1 #  market order
2 result = tradeAPI.place_order(
3     instId="BTC-USDT",
4     tdMode="cash",
5     side="buy",
6     ordType="market",
7     sz="100",
8     tgtCcy="quote_ccy" # this determines the unit of the sz parameter.
9 )
10 print(result)

10.4 Jak mohu použít parametr ID objednávky klienta clOrdId?

Při zadávání příkazu můžete zadat vlastní ID klientského příkazu zadáním parametru clOrdId, který lze později použít jako identifikátor místo ordId při volání koncového bodu zrušení, změny nebo načtení příkazu.

Python
1 #  market order
2 result = tradeAPI.place_order(
3     instId="BTC-USDT",
4     tdMode="cash",
5     side="buy",
6     ordType="market",
7     sz="100",
8     clOrdId="003" # you can define your own client defined order ID
9 )
10 print(result)

11. Jak mohu získat podrobnosti o určité objednávce?

Další informace o tom, jak získat podrobnosti o určité objednávce, naleznete v našem specializovaném průvodci.

11.1 Použití ordId

Python
1 result = tradeAPI.get_order(instId="BTC-USDT", ordId="497819823594909696")
2 print(result)

11.2 Použití clOrdId

Python
1 result = tradeAPI.get_order(instId="BTC-USDT", clOrdId="002")
2 print(result)

12. Jak mohu zrušit objednávku?

Další informace o tom, jak zrušit objednávku, naleznete v našem specializovaném průvodci.

Místo ordId můžete také použít clOrdId.

Python
1 result = tradeAPI.cancel_order(instId="BTC-USDT", ordId = "489093931993509888")
2 print(result)

13. Jak mohu objednávku upravit?

Další informace o tom, jak upravit objednávku, naleznete v našem specializovaném průvodci.

Místo ordId můžete také použít clOrdId.

Python
1 result = tradeAPI.amend_order(
2     instId="BTC-USDT",
3     ordId="489103565508685824",
4     newSz="0.012"
5 )
6 print(result)

14. Jak se dostanu k seznamu open orders?

Další informace o tom, jak získat přístup k seznamu příkazů open order, naleznete v našem specializovaném průvodci.

Python
1 result = tradeAPI.get_order_list()
2 print(result)

15. Jak mohu získat přístup k historii objednávek?

15.1 Za posledních 7 dní

Další informace o tom, jak získat přístup k historii objednávek za posledních 7 dní, naleznete v našem specializovaném průvodci.

Python
1 result = tradeAPI.get_orders_history(
2     instType="SPOT"
3 )
4 print(result)

15.2 Za poslední 3 měsíce

Další informace o tom, jak získat přístup k historii objednávek za poslední 3 měsíce, naleznete v našem specializovaném průvodci.

Python
1 result = tradeAPI.get_orders_history_archive(
2     instType="SPOT"
3 )
4 print(result)

16. Jak mohu s rozhraním API OKX dále pracovat pomocí Jupyter Notebook?

Pro další příklady si stáhněte kompletní Jupyter Notebook zde.

Pokud máte jakékoli dotazy k našim rozhraním API, můžete se připojit k naší komunitě API a zeptat se v naší komunitě.