Cum pot tranzacționa spot cu Jupyter Notebook?
Aflați cum puteți realiza tranzacționarea spot simplă prin invocarea funcțiilor în biblioteca python-okx pe Jupyter Notebook.
1. Cum pot rula fragmente de cod Python pe Jupyter Notebook?
Jupyter Notebook este un instrument incredibil de puternic și ușor de folosit pentru analiză de date și dezvoltare Python. Puteți rula un server Jupyter Notebook pe Windows, Mac OS sau Linux. Acest tutorial oferă un ghid cuprinzător despre cum să puneți în funcțiune un Jupyter Notebook.
2. Cum pot instala pachetul python-okx?
Odată ce ați început să rulați un Jupyter Notebook, puteți instala pachetul python-okx prin simpla rulare a pip install python-okx
în blocnotes sau într-un terminal (sau prin linia de comandă pentru Windows):
3. Cum pot crea chei API?
După ce vă autentificați în OKX, accesați Tranzacționare > Tranzacționare în modul demo pentru a crea chei API în scopuri de testare
Accesați Cont > API pentru a crea chei API
Creați chei API pentru diferitele conturi principale/conturi secundare pe care s-ar putea să le aveți
Selectați Tranzacționare în Permisiuni pentru a tranzacționa cu cheia API
Acum aveți acces la cheia API, la cheia secretă și la fraza de acces. Păstrați-le într-un loc sigur!
Instanțiați variabile python pentru a salva detaliile API în blocnotes pentru utilizare ulterioară
Python1 api_key = "xxxxx" 2 secret_key = "xxxxx" 3 passphrase = "xxxxxx"
4. Cum pot importa module OKX?
În python-okx, există mai multe module bazate pe modulele noastre REST API. Citiți ghidul nostru pentru a învăța cum se importă module OKX.
Tranzacționare
BlockTrading
Finanțare
Cont
Convertire
Câștig
SubAccount
MarketData
PublicData
TradingData
Stare
NDBroker
FDBroker
Pentru a importa modulul Tranzacționare, puteți rula:
1 import okx.Trade as Trade
Acum sunteți gata să utilizați funcțiile cuprinzătoare disponibile în python-okx!
5. Cum pot accesa datele noastre de piață?
Aflați mai multe despre cum să accesați datele noastre de piață și consultați codul de mai jos.
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. Cum pot citi perechile de tranzacționare disponibile?
Aflați mai multe cu privire la cum să citiți perechile noastre de tranzacționare disponibile și consultați codul de mai jos.
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. Cum îmi pot citi soldul contului?
Pentru mai multe informații despre cum să citiți soldul contului, citiți ghidul nostru dedicat.
Observație: pentru tranzacționarea spot sub „cash” tdMode
, trebuie să verificați în principal parametrii cashBal
, frozenBal
pentru fiecare ccy
subdetalii
, precum și parametrul 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. Cum pot accesa cele patru moduri de cont diferite?
În sistemul nostru de cont unificat, există patru moduri de cont:
mod spot
mod spot și contracte la termen
mod marjă multimonedă
mod de marjă de portofoliu
Pentru a înțelege diferența dintre diferitele moduri de cont și cum se configurează modul de cont prin intermediul interfeței web, citiți ghidul nostru dedicat.
În modul marjă sau modul de tranzacționare, parametrul tdMode
determină modul în care poziția va avea marjă, care trebuie setat de fiecare dată când plasați un nou ordin.
Pentru tranzacționarea spot în modul spot sau spot și contracte la termen, setați tdMode
='cash'.
Pentru tranzacționarea spot în modul cont de marjă multimonedă sau modul cont de marjă de portofoliu, setați tdMode
= 'cross'.
Veți găsi mai jos o scurtă explicație despre cum să vă dați seama cum vă este configurat contul actual.
9. Cum îmi pot da seama cum este configurat contul meu actual?
Pentru mai multe informații despre cum să vă dați seama cum este configurat modul în care contul curent vă este configurat, citiți ghidul nostru dedicat și introduceți parametrul 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. Cum pot plasa ordine spot în modul spot/spot și contracte la termen?
10.1 Cum pot plasa un ordin limită?
Pentru mai multe informații despre cum să plasați un ordin limită într-un mod spot sau spot și contracte la termen, citiți ghidul nostru dedicat.
Iată un exemplu pentru cumpărarea a 0,01 BTC la prețul de 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 Cum plasa un ordin la prețul pieței?
Pentru mai multe informații despre cum să plasați un ordin de piață într-un mod spot sau spot și contracte la termen, citiți ghidul nostru dedicat.
Iată un exemplu pentru cumpărare de BTC în valoare de 100 USD la prețul curent al pieței.
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 Cum pot utiliza parametrul de monedă țintă tgtCcy în timpul tranzacționării spot?
În tranzacționarea spot, parametrul tgtCcy
determină unitatea parametrului de dimensiune sz
, care poate fi fie moneda de bază, fie moneda de cotație a perechii de tranzacționare. De exemplu, în perechea BTC-USDT, moneda de bază este BTC, iar moneda de cotație este USDT.
În mod implicit, tgtCcy
= quote_ccy pentru ordine de cumpărare, ceea ce înseamnă că parametrul sz
pe care l-ați specificat este exprimat în termenii monedei de cotație. Între timp, valoarea implicită a tgtCcy
pentru ordinele de vânzare este base_ccy, ceea ce înseamnă că parametrul sz
pe care l-ați specificat este exprimat în moneda de bază.
În exemplul de mai jos, sunteți pe cale să plasați un ordin de piață pentru a cumpăra BTC în valoare de 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 Cum pot utiliza parametrul de identificare a ordinului clientului clOrdId?
Atunci când plasați un ordin, puteți specifica propriul cod de identificare de ordin de client specificând parametrul clOrdId
, care poate fi utilizat ulterior ca identificator în locul parametrului ordId
atunci când invocați un punct final de anulare, modificare sau recuperare a ordinului.
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. Cum pot obține detalii despre un anumit ordin?
Pentru mai multe informații despre cum să obțineți detalii despre un anumit ordin, citiți ghidul nostru dedicat.
11.1 Folosind ordId
1 result = tradeAPI.get_order(instId="BTC-USDT", ordId="497819823594909696")
2 print(result)
11.2 Folosind clOrdId
1 result = tradeAPI.get_order(instId="BTC-USDT", clOrdId="002")
2 print(result)
12. Cum pot anula un ordin?
Pentru mai multe informații despre cum să anulați un ordin, citiți ghidul nostru dedicat.
De asemenea, puteți utiliza clOrdId
în loc de ordId
.
1 result = tradeAPI.cancel_order(instId="BTC-USDT", ordId = "489093931993509888")
2 print(result)
13. Cum pot modifica un ordin?
Pentru mai multe informații despre cum să modificați un ordin, citiți ghidul nostru dedicat.
De asemenea, puteți utiliza clOrdId
în loc de ordId
.
1 result = tradeAPI.amend_order(
2 instId="BTC-USDT",
3 ordId="489103565508685824",
4 newSz="0.012"
5 )
6 print(result)
14. Cum pot accesa lista de ordine deschise?
Pentru mai multe informații despre cum să accesați lista de ordine deschise, citiți ghidul nostru dedicat.
1 result = tradeAPI.get_order_list()
2 print(result)
15. Cum pot accesa istoricul ordinelor?
15.1 Pentru ultimele 7 zile
Pentru mai multe informații despre cum să accesați istoricul ordinelor pentru ultimele 7 zile, citiți ghidul nostru dedicat.
1 result = tradeAPI.get_orders_history(
2 instType="SPOT"
3 )
4 print(result)
15.2 Să fie emise în ultimele 3 luni
Pentru mai multe informații despre cum să accesați istoricul ordinelor pentru ultimele 3 luni, citiți ghidul nostru dedicat.
1 result = tradeAPI.get_orders_history_archive(
2 instType="SPOT"
3 )
4 print(result)
16. Cum pot continua cu API-ul OKX cu un Jupyter Notebook?
Pentru mai multe exemple, descărcați întregul Jupyter Notebook de aici.
Dacă aveți întrebări despre API-urile noastre, vă puteți alătura comunității noastre API și să le adresați în comunitate.