Hoe kan ik spothandelen met Jupyter Notebook?

Gepubliceerd op 29 sep 2023Geüpdatet op 14 mei 20248 min. leestijd136

Leer hoe je eenvoudig kunt spothandelen door de functies in de python-okx bibliotheek aan te roepen met een Jupyter Notebook.

1. Hoe kan ik Python-codefragmenten uitvoeren met een Jupyter Notebook?

CT-web-spottrading-howtoapi-1

Jupyter Notebook is een ongelooflijk krachtig en eenvoudig te gebruiken hulpmiddel voor Python-ontwikkeling en gegevensanalyse. Je kunt een Jupyter Notebook server draaien op Windows, Mac OS of Linux. Deze tutorial geeft een uitgebreide handleiding over hoe je een Jupyter Notebook aan de praat krijgt.

2. Hoe kan ik het python-okx pakket installeren?

Zodra je een Jupyter Notebook start, kun je het python-okx pakket installeren door simpelweg het commando pip install python-okx uit te voeren in de notebook of in een terminal (of via de opdrachtprompt voor Windows):

CT-web-spottrading-howtoapi-2

3. Hoe kan ik API keys maken?

1. Ga na het aanmelden bij OKX naar Handelen > Demohandel om API keys aan te maken voor testdoeleinden

CT-web-trade-demo trading

Open de pagina Demohandel

2. Ga naar Account > API om API keys aan te maken

CT-web-profile-API

Open API om API keys te maken

3. Maak API keys voor de verschillende master/subaccounts die je hebt

CT-web-API-create

Selecteer API key maken

4. Selecteer Handel in het scherm Rechten om te handelen met de API key

CT-web-API-trade

Selecteer Handel in Rechten

5. Nu heb je toegang tot je API key, je Secret key en je wachtwoordzin. Bewaar ze op een veilige plek!

6. Gebruik pythonvariabelen om je API-details op te slaan in de notebook voor later gebruik

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

```
api_key = "xxxxx"
secret_key = "xxxxx"
wachtwoordzin = "xxxxxx"
```

4. Hoe kan ik OKX-modules importeren?

In python-okx zijn er verschillende modules gebaseerd op onze REST API modules. Lees onze handleiding op om te leren hoe je OKX-modules kunt importeren.

  • Trade

  • BlockTrading

  • Financiering

  • Funding

  • Convert

  • Earning

  • SubAccount

  • MarketData

  • PublicData

  • TradingData

  • Status

  • NDBroker

  • FDBroker

Om de module Trade te importeren, kun je het volgende uitvoeren:

1 importeer okx.Trade als Handel

```
importeer okx.Trade als Handel
```

Nu ben je klaar om de uitgebreide mogelijkheden van python-okx te gebruiken!

5. Hoe krijg ik toegang tot marktgegevens?

Lees meer op hoe je toegang krijgt tot onze marktgegevens en raadpleeg de onderstaande code.

1 importeer okx.MarketData als 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)

```
importeer okx.MarketData als MarketData
flag = "1" # live trading: 0, demo trading: 1
marketDataAPI = MarketData.MarketAPI(flag=flag) result = marketDataAPI.get_tickers(instType="SPOT"
)
print(result)
```

6. Hoe kan ik de beschikbare handelsparen lezen?

Lees meer op hoe je onze beschikbare handelsparen kunt lezen en raadpleeg de onderstaande code.

```
importeer okx.PublicData als PublicData

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

PublicDataAPI = PublicData.PublicAPI(flag=flag)

resultaat = PublicDataAPI.get_instruments(
instType="SPOT”
)
print(result)
```

7. Hoe kan ik mijn accountsaldo lezen?

Lees voor meer informatie over hoe je je accountsaldokunt lezen onze speciale handleiding.

Opmerking: Voor spothandel onder "cash" tdMode, moet je vooral de parameters cashBal, frozenBal controleren voor elke ccy onder details, en de parameter totalEq .

```
importeer okx.Account als 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. Hoe krijg ik toegang tot de vier verschillende accountmodi?

In ons uniforme accountsysteem zijn er vier accountmodi:

  • Eenvoudig account

  • Enkelvoudige valutamargeaccount

  • Multi-valuta margeaccount

  • Portefeuille margeaccount

Om het verschil tussen de verschillende accountmodi te begrijpen en hoe je de accountmodus instelt via de web UI, kun je onze speciale handleiding lezen. In de margemodus of handelsmodus bepaalt de parameter tdMode hoe je positie wordt gemarginaliseerd, die je elke keer dat je een nieuwe order plaatst moet instellen. Voor spothandel onder de eenvoudige of enkelvoudige marge accountmodus, stel je tdMode='cash' in.Stel tdMode = 'cross' in voor spothandel onder een multi-valuta marge- of portfoliomarge accountmodus. Hieronder vind je een korte uitleg over hoe je erachter kunt komen in welke modus je huidige account is geconfigureerd.

9. Hoe kom ik erachter in welke modus mijn huidige account is geconfigureerd?

Voor meer informatie over hoe je erachter kunt komen in welke modus je lopende rekening is geconfigureerd als, lees je onze speciale handleiding en voer je de acctLv parameter in.

```
importeer okx.Account als 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")
print("Multi-currency margin mode")
print("Portfolio margin mode")
```

10. Hoe kan ik spotorders plaatsen in de margemodus Simple / Single-currency?

10.1 Hoe kan ik een limietorder plaatsen?

Lees voor meer informatie over hoe je een limietorder kunt plaatsen onder een marge rekeningmodus Simple of Single-currency onze speciale gids.

Hier is een voorbeeld van het kopen van 0,01 BTC tegen de prijs van 19.000 USDT.

```
# limietorder
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 Hoe kan ik een marktorder plaatsen?

Lees voor meer informatie over hoe je een marktorder kunt plaatsen onder een eenvoudige of enkelvoudige margeaccountmodus onze speciale gids.

Hier is een voorbeeld van het kopen van BTC die 100 USD waard is tegen de huidige marktprijs.

```
# market order
result = tradeAPI.place_order(
instId="BTC-USDT",
tdMode="cash",
side="buy",
ordType="market",
sz="100",
)
print(result)
```

10.3 Hoe kan ik de doelvalutaparameter tgtCcy gebruiken tijdens spothandel?

Bij spothandel bepaalt de parameter tgtCcy de eenheid van de grootteparameter sz, die ofwel de basisvaluta of de koersvaluta van het handelspaar kan zijn. In het paar BTC-USDT is de basisvaluta bijvoorbeeld BTC en de quotevaluta USDT.

Standaard is tgtCcy = quote_ccy voor kooporders, wat betekent dat de sz die je hebt opgegeven in termen van de koersvaluta is. Ondertussen is de standaardwaarde van tgtCcy voor verkooporders base_ccy, wat betekent dat de sz die je hebt opgegeven in termen van de basisvaluta is.

In het onderstaande voorbeeld ga je een marktorder plaatsen om BTC te kopen die 100 USD waard is.

```
# market order
result = tradeAPI.place_order(
instId="BTC-USDT",
tdMode="cash",
side="buy",
ordType="market",
sz="100",
tgtCcy="quote_ccy" # dit bepaalt de eenheid van de sz parameter.
)
print(result)
```

10.4 Hoe kan ik de klantorder-ID parameter clOrdId gebruiken?

Wanneer je een order plaatst, kun je je eigen klantorder-ID opgeven door de parameter clOrdIdte specificeren, die later kan worden gebruikt als identifier in plaats van ordId bij het aanroepen van een eindpunt voor het annuleren, wijzigen of ophalen van een order.

```
# market order
result = tradeAPI.place_order(
instId="BTC-USDT",
tdMode="cash",
side="buy",
ordType="market",
sz="100",
clOrdId="003" # je kunt je eigen klant gedefinieerde order ID definiëren
)
print(result)
```

11. Hoe kan ik details over een bepaalde order krijgen?

Lees voor meer informatie over hoe je details over een bepaalde orderkunt krijgen onze speciale handleiding.

Gebruik ordId

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

Met clOrdId

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

12. Hoe kan ik een order annuleren?

Lees voor meer informatie over hoe je een order kunt annulerenonze speciale handleiding.

Je kunt ook clOrdId gebruiken in plaats van ordId.

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

13. Hoe kan ik een order wijzigen?

Lees voor meer informatie over hoe je een order kunt wijzigen onze speciale handleiding.

Je kunt ook clOrdId gebruiken in plaats van ordId.

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

14. Hoe krijg ik toegang tot de lijst met openstaande orders?

Lees voor meer informatie over hoe je toegang krijgt tot de lijst met openstaande ordersonze speciale handleiding.

```
result = tradeAPI.get_order_list()
print(result)
```

15. Hoe krijg ik toegang tot de ordergeschiedenis?

15.1 Voor de laatste 7 dagen

Lees voor meer informatie over hoe je toegang krijgt tot de ordergeschiedenis van de afgelopen 7 dagenonze speciale handleiding.

```
result = tradeAPI.get_orders_history(
instType="SPOT”
)
print(result)
```

15.2 Voor de laatste 3 maanden

Lees voor meer informatie over hoe je toegang krijgt tot de ordergeschiedenis van de laatste 3 maandenonze speciale handleiding.

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

16. Hoe kan ik verder gaan met de OKX API met een Jupyter Notebook?

Download voor meer voorbeelden hier het volledige Jupyter Notebook. Vragen over onze API's kun je stellen in het OKX API support Telegram-kanaal.