Jak mogę przeprowadzać transakcje spot za pomocą Jupyter Notebook?
Dowiedz się, jak zawrzeć transakcje na rynku spot, wywołując funkcje w bibliotece python-okx w Jupyter Notebook.
1. Jak mogę uruchamiać fragmenty kodu Python w Jupyter Notebook?
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żesz uruchomić w Windows, MacOS lub w Linuksie. Ten samouczek zawiera dość obszerny przewodnik na temat tego, jak uruchomić Jupyter Notebook.
2. Jak 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):
3. Jak utworzyć klucze API?
Po zalogowaniu się do OKX przejdź do Handel> Handel demo, aby utworzyć klucze API do celów testowych
Przejdź do Konto -> API , aby utworzyć klucze API
Utwórz klucze API dla kont głównych/podrzędnych
Wybierz Handel w Uprawnienia, aby handlować za pomocą klucza API
Teraz masz dostęp do klucza API, klucza tajnego i hasła. Przechowuj je w bezpiecznym miejscu!
Zainicjuj zmienne Pythona, aby zapisać szczegóły API w notatniku do późniejszego wykorzystania
Python1 api_key = "xxxxx" 2 secret_key = "xxxxx" 3 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.
Handel
BlockTrading
Finansowanie
Konto
Convert
Zarabianie
Subkonto
MarketData
PublicData
TradingData
Status
NDBroker
FDBroker
Aby zaimportować moduł Handel, można uruchomić:
1 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)
6. Jak mogę odczytać dostępne pary handlowe?
Dowiedz się jak czytać dostępne pary handlowe i zapoznaj się z poniższym kodem.
1 import okx.Account as Account
2
3 # API initialization
4 apikey = "YOUR_API_KEY"
5 secretkey = "YOUR_SECRET_KEY"
6 passphrase = "YOUR_PASSPHRASE"
7
8 flag = "1" # Production trading: 0, Demo trading: 1
9
10 accountAPI = Account.AccountAPI(apikey, secretkey, passphrase, False, flag)
11
12 result = accountAPI.get_instruments(instType="SPOT")
13 print(result)
7. Jak mogę odczytać saldo mojego konta?
Aby uzyskać więcej informacji jak odczytać saldo konta, przeczytaj nasz dedykowany przewodnik.
Uwaga: w przypadku transakcji spot w trybie „gotówkowym” tdMode
należy głównie sprawdzić parametry cashBal
, frozenBa
l dla każdego ccy
w details
oraz parametr totalEq
.
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 mogę uzyskać dostęp do czterech różnych trybów konta?
W naszym systemie ujednoliconych kont dostępne są cztery tryby konta:
Tryb spot
Tryb spot i kontraktów futures
Tryb wielowalutowego depozytu zabezpieczającego
Tryb depozytu zabezpieczającego 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 poradnik.
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ładane jest nowe zlecenie.
W przypadku handlu spot w trybie spot lub spot i kontraktów terminowych ustaw 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 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 konto, przeczytaj nasz dedykowany przewodnik i wprowadź parametr acctLv
.
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 składać zlecenia spot w trybie handlu spot / handlu spot i kontraktów futures?
10.1 Jak mogę złożyć zlecenie z limitem?
Aby uzyskać więcej informacji na temat jak złożyć zlecenie z limitem w trybie spot lub spot i kontraktów terminowych, przeczytaj nasz dedykowany przewodnik.
Oto przykład zakupu 0,01 BTC po cenie 19 000 USDT.
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 mogę złożyć zlecenie rynkowe?
Aby uzyskać więcej informacji na temat Jak złożyć zlecenie rynkowe w trybie spot lub spot i kontrakty futures, przeczytaj nasz dedykowany przewodnik.
Oto przykład zakupu BTC o wartości 100 USD po bieżącej cenie rynkowej.
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 mogę użyć parametru waluty docelowej tgtCcy podczas handlu spot?
W handlu spot parametr tgtCcy
określa jednostkę parametru rozmiaru sz
, która może być walutą bazową lub walutą kwotowaną 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. 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.
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 korzystać z parametru identyfikatora zlecenia klienta clOrdId?
Podczas składania zlecenia można określić własny identyfikator zlecenia 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 pobierania zlecenia.
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 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 poradnik.
11.1 Korzystanie z ordId
1 result = tradeAPI.get_order(instId="BTC-USDT", ordId="497819823594909696")
2 print(result)
11.2 Korzystanie z clOrdId
1 result = tradeAPI.get_order(instId="BTC-USDT", clOrdId="002")
2 print(result)
12. Jak mogę anulować zlecenie?
Aby uzyskać więcej informacji o tym, jak anulować zlecenia, przeczytaj nasz dedykowany poradnik.
Można również użyć clOrdId
zamiast ordId
.
1 result = tradeAPI.cancel_order(instId="BTC-USDT", ordId = "489093931993509888")
2 print(result)
13. Jak mogę zmodyfikować zlecenie?
Aby uzyskać więcej informacji o tym, jak zmodyfikować zlecenie, przeczytaj nasz dedykowany przewodnik.
Można również użyć clOrdId
zamiast ordId
.
1 result = tradeAPI.amend_order(
2 instId="BTC-USDT",
3 ordId="489103565508685824",
4 newSz="0.012"
5 )
6 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.
1 result = tradeAPI.get_order_list()
2 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 poradnik.
1 result = tradeAPI.get_orders_history(
2 instType="SPOT"
3 )
4 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.
1 result = tradeAPI.get_orders_history_archive(
2 instType="SPOT"
3 )
4 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.
Jeśli masz jakiekolwiek pytania dotyczące naszych interfejsów API, możesz zadać je w nasze społeczności API.