Jak mogę przeprowadzać transakcje spot za pomocą Jupyter Notebook?

Opublikowano 29 wrz 2023Zaktualizowano 24 kwi 20248 min czytania131

Dowiedz się, jak możesz przeprowadzić prosty handel spot, wywołując funkcje w bibliotece python-okx w Jupyter Notebook.

1. Jak uruchomić wyskakujące skróty kodu widmowego na Jupyter Notebook?

CT-web-spottrading-howtoapi-1

Jupyter Notebook to niezwykle potężne i łatwe w użyciu narzędzie do programowania w języku Python i analizy danych. Serwer Jupyter Notebook można uruchomić w systemie Windows, Mac OS lub Linux. Ten samouczek zawiera dość obszerny przewodnik na temat uruchamiania Jupyter Notebook.

2. Jak mogę zainstalować pakiet python-okx?

Po uruchomieniu Jupyter Notebook można zainstalować pakiet python-okx, uruchamiając polecenie pip install python-okx w notatniku lub w terminalu (lub w wierszu polecenia w systemie Windows):

CT-web-spottrading-howtoapi-2

3. Jak mogę utworzyć klucze API?

1. Po zalogowaniu się do OKX, przejdź do Handel > Handel demo, aby utworzyć klucze API do celów testowych

CT-web-trade-demo trading

Otwórz stronę handlu demo

2. Przejdź do Konto > API, aby utworzyć klucze API

CT-web-profile-API

Otwarty interfejs API do tworzenia kluczy API

3. Utwórz klucze API dla różnych kont głównych i podrzędnych

CT-web-API-create

Wybierz opcję Utwórz klucz API

4. Wybierz Handel w Uprawnienia, aby handlować za pomocą klucza API

CT-web-API-trade

Wybierz w uprawnieniach opcję Handel

5. Teraz masz dostęp do klucza API, klucza tajnego i hasła. Przechowuj je w bezpiecznym miejscu!

6. Zainicjuj zmienne Python, aby zapisać szczegóły API w notatniku do późniejszego wykorzystania

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

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

```
4. Jak mogę zaimportować moduły OKX?

W python-okx istnieje kilka modułów opartych na naszych modułach REST API. Przeczytaj nasz przewodnik, aby dowiedzieć się jak importować moduły OKX.

  • Handluj

  • BlockTrading

  • Finansowanie

  • Konto

  • Konwertuj

  • Zarabianie

  • Subkonto

  • MarketData

  • PublicData

  • TradingData

  • Status

  • NDBroker

  • FDBroker

Aby zaimportować moduł Handel, można uruchomić:

1 import okx.Trade as Trade

```
import okx.Trade as Trade
```

Teraz możesz korzystać z wszechstronnych funkcji dostępnych w python-okx!

5. Jak mogę uzyskać dostęp do naszych danych rynkowych?

Dowiedz się więcej na stronie , jak uzyskać dostęp do naszych danych rynkowych i zapoznaj się z poniższym kodem.

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 mogę odczytać dostępne pary handlowe?

Dowiedz się więcej na , jak czytać nasze dostępne pary handlowe i zapoznaj się z poniższym kodem.

```
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 mogę odczytać saldo mojego konta?

Aby uzyskać więcej informacji na temat , jak odczytać saldo konta, przeczytaj nasz dedykowany przewodnik.

Uwaga: W przypadku transakcji spot w trybie "cash" tdMode należy przede wszystkim sprawdzić parametry cashBal, frozenBal dla każdego ccy w details oraz 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 mogę uzyskać dostęp do czterech różnych trybów konta?

W naszym systemie ujednoliconych kont dostępne są cztery tryby konta:

  • Proste konto

  • Konto z marżą jednowalutową

  • Konto z marżą wielowalutową

  • Konto z marżą portfolio

Aby zrozumieć różnicę między różnymi trybami konta i jak skonfigurować tryb konta za pośrednictwem interfejsu użytkownika, przeczytaj nasz dedykowany przewodnik. W trybie depozytu zabezpieczającego lub w trybie handlu, parametr tdMode określa, w jaki sposób pozycja będzie zabezpieczana, co należy ustawić za każdym razem, gdy składasz nowe zlecenie. W przypadku handlu spot w trybie prostego lub jednowalutowego rachunku depozytu zabezpieczającego, należy ustawić tdMode="cash".W przypadku handlu spot w trybie wielowalutowego depozytu zabezpieczającego lub portfela depozytu zabezpieczającego, należy ustawić tdMode = "cross". Poniżej znajdziesz krótkie wyjaśnienie, jak dowiedzieć się, w jakim trybie skonfigurowane jest Twoje bieżące konto.

9. Jak mogę sprawdzić, w jakim trybie skonfigurowane jest moje bieżące konto?

Aby uzyskać więcej informacji na temat tego, jak dowiedzieć się, w jakim trybie skonfigurowane jest aktualne konto, przeczytaj nasz dedykowany przewodnik i wprowadź parametr 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 mogę składać zlecenia spot w trybie depozytu zabezpieczającego prostego / jednowalutowego?

10.1 Jak mogę złożyć zlecenie z limitem?

Aby uzyskać więcej informacji na temat składania zleceń z limitem w trybie prostego lub jednowalutowego konta zabezpieczającego, przeczytaj nasz dedykowany przewodnik.

Oto przykład zakupu 0,01 BTC po cenie 19 000 USDT.

```
# zlecenie z limitem
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 mogę złożyć zlecenie rynkowe?

Aby uzyskać więcej informacji na temat składania zleceń rynkowych w trybie konta prostego lub z marżą jednowalutową, przeczytaj nasz dedykowany przewodnik.

Oto przykład zakupu BTC o wartości 100 USD po bieżącej cenie rynkowej.

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

10.3 Jak mogę użyć parametru waluty docelowej tgtCcy podczas handlu spot?

W handlu spot, parametr tgtCcy określa jednostkę parametru wielkości sz, która może być walutą bazową lub walutą bazową pary handlowej. Na przykład w parze BTC-USDT walutą bazową jest BTC, a walutą kwotowaną jest USDT.

Domyślnie, tgtCcy = quote_ccy dla zleceń kupna, co oznacza, że podana wartość sz jest wyrażona w walucie bazowej. Tymczasem domyślną wartością tgtCcy dla zleceń sprzedaży jest base_ccy, co oznacza, że podana wartość sz jest wyrażona w walucie bazowej.

W poniższym przykładzie masz zamiar złożyć zlecenie rynkowe na zakup BTC o wartości 100 USD.

```
# market order
result = tradeAPI.place_order(
instId="BTC-USDT",
tdMode="cash",
side="buy",
ordType="market",
sz="100",
tgtCcy="quote_ccy" # to określa jednostkę parametru sz.
).
print(result)
```

10.4 Jak mogę użyć parametru identyfikatora zlecenia klienta clOrdId?

Podczas składania zlecenia można określić własny identyfikator zamówienia klienta, określając parametr clOrdId, który może być później użyty jako identyfikator zamiast ordId podczas wywoływania punktu końcowego anulowania, zmiany lub pobrania zlecenia.

```
# market order
result = tradeAPI.place_order(
instId="BTC-USDT",
tdMode="cash",
side="buy",
ordType="market",
sz="100",
clOrdId="003" # możesz zdefiniować własny identyfikator zlecenia zdefiniowany przez klienta
).
print(result)
```

11. Jak mogę uzyskać szczegółowe informacje o danym zleceniu?

Aby uzyskać więcej informacji o tym, jak uzyskać szczegółowe informacje o danym zleceniu, przeczytaj nasz dedykowany przewodnik.

Korzystanie z ordId

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

Korzystanie z clOrdId

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

12. Jak mogę anulować zlecenie?

Aby uzyskać więcej informacji o tym, jak anulować zlecenia, przeczytaj nasz dedykowany przewodnik.

Można również użyć clOrdId zamiast ordId.

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

13. Jak mogę zmienić zlecenie?

Aby uzyskać więcej informacji o tym, jak zmienić zlecenie, przeczytaj nasz dedykowany przewodnik.

Można również użyć clOrdId zamiast ordId.

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

14. Jak mogę uzyskać dostęp do listy otwartych zleceń?

Aby uzyskać więcej informacji na temat dostępu do listy otwartych zleceń, przeczytaj nasz dedykowany przewodnik.

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

15. Jak mogę uzyskać dostęp do historii zleceń?

15.1 Dla ostatnich 7 dni

Aby uzyskać więcej informacji na temat dostępu do historii zleceń z ostatnich 7 dni, przeczytaj nasz dedykowany przewodnik.

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

15.2 Dla ostatnich 3 miesięcy

Aby uzyskać więcej informacji na temat dostępu do historii zleceń z ostatnich 3 miesięcy, przeczytaj nasz dedykowany przewodnik.

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

16. Jak mogę rozwinąć API OKX za pomocą Jupyter Notebook?

Aby uzyskać więcej przykładów, pobierz pełną wersję Jupyter Notebook tutaj.Wszelkie pytania dotyczące naszych interfejsów API można zgłaszać na kanale wsparcia OKX API Telegram.