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

Publikováno dne 29. 9. 2023Aktualizováno dne 24. 4. 2024Doba čtení: 9 min133

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

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 kurz poskytuje poměrně obsáhlý návod, jak zprovoznit zápisník Jupyter.

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

Po spuštění zápisníku Jupyter 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řte klíče API pro různé hlavní účty / podúčty, které máte

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. Vytvořte instanci proměnných Pythonu a uložte si podrobnosti o API do zápisníku pro pozdější použití

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

```
api_key = "xxxxx"
secret_key = "xxxxx"
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.

  • Trade

  • BlockTrading

  • Funding

  • Account

  • Convert

  • Earning

  • SubAccount

  • MarketData

  • PublicData

  • TradingData

  • Status

  • NDBroker

  • FDBroker

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

1 import okx.Trade as Trade

```
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.

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)

```
import okx.MarketData as MarketData
flag = "1" # live trading: 0, demo trading: 1
marketDataAPI = MarketData.MarketAPI(flag=flag) 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é obchodní páry, a podívejte se na níže uvedený kód.

```
import okx.PublicData as PublicData

flag = "1" # live trading: 0, demo trading: 1

PublicDataAPI = PublicData.PublicAPI(flag=flag)

result = PublicDataAPI.get_instruments(
instType="SPOT"
)
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 průvodci.

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

```
import okx.Account as Account
flag = "1" # live trading: 0, demo trading: 1

accountAPI = Account.AccountAPI(api_key, secret_key, passphrase, False, flag)

result = accountAPI.get_account_balance()
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ů:

  • Jednoduchý účet

  • Účet jednoměnové marže

  • Účet multiměnové marže

  • Účet marže portfolia

Chcete-li pochopit rozdíl mezi různými režimy účtu a jak nastavit režim úč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 režimu obchodování určuje parametr tdMode způsob marže vaší pozice, který musíte nastavit při každém zadání nové objednávky. Pro spotové obchodování v režimu jednoduchého maržového účtu nebo účtu jednoměnové marže nastavte tdMode="cash". Pro spotové obchodování v režimu účtu multiměnové marže nebo účtu 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 běžný úč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.

```
import okx.Account as Account

flag = "1" # live trading: 0, demo trading: 1

accountAPI = Account.AccountAPI(api_key, secret_key, passphrase, False, flag) result = accountAPI.get_account_config()
print(result)

if result['code'] == "0":
acctLv = result["data"][0]["acctLv"]
if acctLv == "1":
print("Simple mode")
elif acctLv == "2":
print("Single-currency margin mode")
elif acctLv == "3":
print("Multi-currency margin mode")
elif acctLv == "4":
print("Portfolio margin mode")
```

10. Jak mohu zadávat spotové objednávky v režimu jednoduché marže / marže v jedné měně?

10.1 Jak mohu zadat limit order?

Další informace o tom, jak zadat limit order v režimu jednoduchého účtu nebo účtu jednoměnové marže, naleznete v našem specializovaném průvodci.

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

```
# limit order
result = tradeAPI.place_order(
instId="BTC-USDT",
tdMode="cash",
side="buy",
ordType="limit",
px="19000",
sz="0.01"
)
print(result)

if result["code"] == "0":
print("Successful order request,order_id = ",result["data"][0]["ordId"])
else:
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 jednoduchého nebo účtu jednoměnové marže, 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.

```
# market order
result = tradeAPI.place_order(
instId="BTC-USDT",
tdMode="cash",
side="buy",
ordType="market",
sz="100",
)
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.

```
# market order
result = tradeAPI.place_order(
instId="BTC-USDT",
tdMode="cash",
side="buy",
ordType="market",
sz="100",
tgtCcy="quote_ccy" # to určuje jednotku parametru sz.
)
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.

```
# market order
result = tradeAPI.place_order(
instId="BTC-USDT",
tdMode="cash",
side="buy",
ordType="market",
sz="100",
clOrdId="003" # můžete definovat vlastní ID objednávky definované klientem
)
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.

Používání příkazu ordId

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

Použití clOrdId

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

12. Jak mohu zrušit objednávku?

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

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

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

13. Jak mohu objednávku změnit?

Další informace o tom, jak změnit objednávku, naleznete v našem průvodci.

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

```
result = tradeAPI.amend_order(
instId="BTC-USDT",
ordId="489103565508685824",
newSz="0.012"
)
print(result)
```

14. Jak se dostanu k seznamu otevřených objednávek?

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

```
result = tradeAPI.get_order_list()
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.

```
result = tradeAPI.get_orders_history(
instType="SPOT"
)
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.

```
result = tradeAPI.get_orders_history_archive(
instType="SPOT"
)
print(result)
```

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

Pro další příklady si stáhněte kompletní zápisník Jupyter Notebook zde. Pokud máte jakékoli dotazy týkající se API, můžete je vznést na Kanál podpory OKX API na síti Telegram.