Wie kann ich den Spot-Handel mit dem Jupyter-Notebook durchführen?

Veröffentlicht am 29. Sept. 2023Aktualisiert am 24. Apr. 2024Lesezeit: 8 Min.128

Lernen Sie, wie Sie einfachen Spot-Handel betreiben können, indem Sie die Funktionen in der python-okx Bibliothek auf einem Jupyter Notebook aufrufen.

1. Wie kann ich Python-Code-Snippets auf einem Jupyter-Notebook ausführen?

CT-web-spottrading-howtoapi-1

Das Jupyter-Notebook ist ein äußerst leistungsstarkes und benutzerfreundliches Tool für die Pythonentwicklung und Datenanalyse. Sie können einen Jupyter Notebook Server unter Windows, Mac OS oder Linux ausführen. Dieses Tutorial bietet einen ausführlichen Leitfaden, wie Sie Jupyter-Notebook starten und ausführen können.

2. Wie kann ich das python-okx Paket installieren?

Sobald Sie mit dem Betrieb eines Jupyter-Notebooks beginnen, können Sie das python-okx Paket installieren, indem Sie einfach pip install python-okx im Notebook oder in einem Terminal (oder per Befehlsaufforderung für Windows) ausführen:

CT-web-spottrading-howtoapi-2

3. Wie kann ich API-Schlüssel erstellen?

1. Nach der Anmeldung bei OKX, gehen Sie zu Handeln>Demo-Handel, um API-Schlüssel für Testzwecke zu erstellen

CT-web-trade-demo trading

Demo-Handelsseite öffnen

2. Gehen Sie zum Konto -> API um API-Schlüssel zu erstellen

CT-web-profile-API

Öffnen Sie die API zur Erstellung von API-Schlüsseln

3. Erstellen Sie API-Schlüssel für die unterschiedlichen Master-/Unterkonten, die Sie möglicherweise bereits besitzen

CT-web-API-create

Wählen Sie API-Schlüssel erstellen

4. Wählen Sie Handel in den Berechtigungen aus, um mit dem API-Schlüssel zu handeln

CT-web-API-trade

Wählen Sie unter Berechtigungen Handel aus

5. Sie haben jetzt Zugriff auf Ihren API-Schlüssel, Ihren geheimen Schlüssel und Ihre Passphrase. Bewahren Sie sie an einem sicheren Ort auf!

6. Instanziieren Sie Python-Variablen, um Ihre API-Details zur späteren Verwendung im Notebook zu speichern

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

```
api_key = "xxxxx"
secret_key = "xxxxx"
passphrase = "xxxxxx"
```

4. Wie kann ich OKX-Module importieren?

In python-okx gibt es mehrere Module, die auf unseren REST-API-Modulen basieren. Lesen Sie unseren Leitfaden: So importieren Sie OKX-Module.

  • Trade

  • BlockTrading

  • Funding

  • Account

  • Convert

  • Earning

  • SubAccount

  • MarketData

  • PublicData

  • TradingData

  • Status

  • NDBroker

  • FDBroker

Um das Handels-Modul zu importieren, können Sie Folgendes ausführen:

1 Importieren Sie okx.Trade als Trade

```
Importieren Sie okx.Trade als Trade
```

Sie sind nun bereit, die umfangreichen Funktionen in python-okx zu nutzen!

5. Wie kann ich auf unsere Marktdaten zugreifen?

Erfahren Sie mehr unter So funktioniert der Zugriff auf unsere Marktdaten und schauen Sie sich den nachfolgenden Code an.

1 Importieren Sie 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)

```
Importieren Sie 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. Wie kann ich die verfügbaren Handelspaare lesen?

Erfahren Sie mehr unter So lesen Sie unsere verfügbaren Handelspaare und schauen Sie sich den nachfolgenden Code an.

```
Importieren Sie okx.PublicData als PublicData

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

PublicDataAPI = PublicData.PublicAPI(flag=flag)

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

7. Wie kann ich meinen Kontostand lesen?

Für weitere Informationen darüber, wie Sie Ihren Kontostand lesen, lesen Sie bitte unseren Leitfaden.

Hinweis: Für den Spot-Handel unter "cash" tdMode, müssen Sie hauptsächlich die Parameter cashBal, frozenBal für jeden ccy unter details und den Parameter totalEq überprüfen.

```
Importieren Sie 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. Wie kann ich auf die vier unterschiedlichen Kontomodi zugreifen?

In unserem einheitlichen Kontosystem gibt es vier Kontomodi:

  • Einfaches Konto

  • Einzelwährungs-Margin-Konto

  • Multiwährungs-Margin-Konto

  • Portfolio-Margin-Konto

Um den Unterschied zwischen den verschiedenen Kontomodi zu verstehen und zu erfahren, wie Sie den Kontomodus über die Web-UI einrichten, lesen Sie bitte unseren speziellen Leitfaden. Der Parameter tdMode bestimmt im Margin- oder Handelsmodus, wie Ihre Position gedeckt werden soll, und muss jedes Mal, wenn Sie eine neue Order platzieren, eingestellt werden. Beim Spot-Handel im einfachen oder Einzelwährungs-Margin-Konto-Modus legen Sie folgenden Parameter fest: tdMode='cash'.Für den Spot-Handel im Multiwährungs- oder Portfolio-Margin-Kontomodus legen Sie bitte tdMode=‘cross‘ fest. Nachfolgend finden Sie eine kurze Erklärung, wie Sie herausfinden könne, in welchem Modus ihr aktuelles Konto konfiguriert ist.

9. Wie kann ich herausfinden, als welcher Modus mein aktuelles Konto konfiguriert ist?

Weitere Informationen finden Sie unter So finden Sie heraus, unter welchem Modus Ihr aktuelles Konto konfiguriert ist und wenn Sie den Parameter acctLv eingeben.

```
Importieren Sie 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")
elif acctLv == "4":
print("Portfolio margin mode")
```

10. Wie kann ich Spot-Orders im einfachen / Einzelwährungs-Margin-Modus platzieren?

10.1 Wie kann ich eine Limit-Order platzieren?

Für weitere Informationen wie Sie eine Limit-Order im einfachen oder Einzelwährungs-Margin-Modus platzieren, lesen Sie bitte unseren Leitfaden.

Hier ist ein Beispiel für den Kauf von 0,01 BTC zum Preis von 19000 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 Wie kann ich eine Market-Order platzieren?

Für weitere Informationen wie Sie eine Market-Order im einfachen oder Einzelwährungs-Margin-Modus platzieren, lesen Sie bitte unseren Leitfaden.

Hier ist ein Beispiel für den Kauf von BTC im Wert von 100 USD zum aktuellen Marktpreis.

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

10.3 Wie kann ich während des Spot-Handels den Zielwährungsparameter tgtCcy verwenden?

Der Parameter tgtCcy im Spot-Handel bestimmt die Einheit des Größenparameters sz, d. h. entweder die Basiswährung oder die Notierungswährung des Handelspaars. Im Paar BTC-USDT ist beispielsweise die Basiswährung BTC und in der Notierungswährung USDT.

Standardmäßig ist tgtCcy = quote_ccy für Kauf-Order festgelegt, d.h. die von Ihnen angegebene sz bezieht sich auf die Notierungswährung. In der Zwischenzeit ist der Standardwert von tgtCcy für Verkaufs-Order als base_ccy festgelegt, was bedeutet, dass der von Ihnen angegebene sz sich auf die Basiswährung bezieht.

Im folgenden Beispiel wollen Sie eine Market-Order zum Kauf von BTC im Wert von 100 USD erteilen.

```
# Market-Order
result = tradeAPI.place_order(
instId="BTC-USDT",
tdMode="cash",
side="buy",
ordType="market",
sz="100",
tgtCcy="quote_ccy" # Bestimmt die Einheit des Parameters sz.
)
print(result)
```

10.4 Wie kann ich den Client-Order-ID-Parameter clOrdId verwenden?

Wenn Sie eine Order platzieren, können Sie durch Angabe des Parameters ClOrdId Ihre eigene Kunden-Order-ID spezifizieren, die später anstelle von ordId als Kennzeichnung genutzt wird, wenn Sie einen Orderstornierungs-, Änderungs- oder Rückgabe-Endpunkt aufrufen.

```
# Market-Order
result = tradeAPI.place_order(
instId="BTC-USDT",
tdMode="cash",
side="buy",
ordType="market",
sz="100",
clOrdId="003" # Sie können Ihre eigene kundenbezogene Order-ID definieren
)
print(result)
```

11. Wie erhalte ich Details zu einer bestimmten Order?

Für weitere Informationen darüber, wie Sie Informationen über eine bestimmte Order erhalten, lesen Sie bitte unseren Leitfaden.

Verwendung von ordId

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

Verwendung von clOrdId

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

12. Wie kann ich eine Order stornieren?

Für weitere Informationen darüber, wie Sie eine Order stornieren, lesen Sie bitte unseren Leitfaden.

Sie können auch clOrdId anstelle von ordIdverwenden.

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

13. Wie kann ich eine Order ändern?

Für weitere Informationen darüber, wie Sie eine Order ändern, lesen Sie bitte unseren Leitfaden.

Sie können auch clOrdId anstelle von ordIdverwenden.

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

14. Wie kann ich auf die Liste der offenen Orders zugreifen?

Weitere Informationen darüber , wie Sie auf die Liste der offenen Orders zugreifen können, finden Sie in unserem speziellen Leitfaden.

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

15. Wie kann ich auf den Order-Verlauf zugreifen?

15.1 Die letzten 7 Tage

Für weitere Informationen darüber wie Sie Zugriff auf den Order-Verlauf der letzten 7 Tage erhalten, lesen Sie bitte unseren Leitfaden.

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

15.2 Die letzten 3 Monate

Für weitere Informationen darüber wie Sie Zugriff auf den Order-Verlauf der letzten 3 Monate erhalten, lesen Sie bitte unseren Leitfaden.

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

16. Wie kann ich die OKX-API mit einem Jupyter Notebook weiter nutzen?

Für weitere Beispiele laden Sie das vollständige Jupyter-Notebook hier herunter. Wenn Sie Fragen zu unseren APIs haben, können Sie diese im OKX API-Support Telegram-Kanal stellen.