Tidak semua produk yang disebutkan tersedia di semua yurisdiksi.

Bagaimana Cara Melakukan Trading Spot Dengan Jupyter Notebook?

Dipublikasikan Pada 29 Sep 2023Diperbarui Pada 18 Agu 2024Baca 8 mnt211

Pelajari cara melakukan trading Spot sederhana dengan memanggil fungsi-fungsi di pustaka python-okx pada Jupyter Notebook.

1. Bagaimana Cara Menjalankan Cuplikan Kode Python Di Jupyter Notebook?

CT-web-spottrading-howtoapi-1

Jupyter Notebook sangat ampuh dan mudah digunakan untuk pengembangan Python dan analisis data. Anda dapat menjalankan server Jupyter Notebook di Windows, Mac OS, atau Linux. Tutorial ini menyediakan panduan yang cukup lengkap tentang cara menyiapkan dan menjalankan Jupyter Notebook.

2. Bagaimana Cara Menginstal Paket python-okx?

Setelah Jupyter Notebook mulai dijalankan, Anda dapat menginstal paket python-okx hanya dengan menjalankan pip install python-okx di notebook atau di terminal (atau melalui command prompt untuk Windows):

CT-web-spottrading-howtoapi-2

3. Bagaimana Cara Membuat Kunci API?

  1. Setelah mendaftar di OKX, buka Trading> Simulasi Trading guna membuat kunci API untuk tujuan pengujian

    CT-web-trade-demo trading

    Buka Halaman Simulasi Trading

  2. Buka Akun > API untuk membuat kunci API

    CT-web-profile-API

    Buka API Untuk Membuat Kunci API

  3. Buat kunci API untuk berbagai akun utama/sub akun yang mungkin Anda miliki

    CT-web-API-create

    Pilih Buat Kunci API

  4. Pilih Trading di Izin untuk trading dengan kunci API

    CT-web-API-trade

    Pilih Trading Di Izin

  5. Kini, Anda memiliki akses ke kunci API, kunci Rahasia, dan frasa sandi. Simpan di tempat yang aman!

  6. Buat instans variabel python guna menyimpan detail API Anda di notebook untuk penggunaan selanjutnya

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

4. Bagaimana Cara Mengimpor Modul OKX?

Di python-okx, ada beberapa modul berdasarkan modul API REST kami. Baca panduan kami untuk mempelajari Cara Mengimpor Modul OKX.

  • Trading

  • TradingBlok

  • Pendanaan

  • Akun

  • Konversi

  • Penghasilan

  • SubAkun

  • DataPasar

  • DataPublik

  • DataTrading

  • Status

  • NDBroker

  • FDBroker

Untuk mengimpor modul Trading, Anda dapat menjalankan:

Python
1 import okx.Trade as Trade

Kini, Anda siap menggunakan fitur lengkap yang tersedia di python-okx!

5. Bagaimana Cara Mengakses Data Pasar?

Pelajari selengkapnya tentang Cara Mengakses Data Pasar Kami dan silakan merujuk ke kode di bawah ini.

Python
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. Bagaimana Cara Membaca Pair Trading Yang Tersedia?

Pelajari selengkapnya tentang Cara Membaca Pair Trading Kami Yang Tersedia dan silakan merujuk ke kode di bawah ini.

Python
1   import okx.PublicData as PublicData
2
3   flag = "1"  # live trading: 0, demo trading: 1
4
5   PublicDataAPI = PublicData.PublicAPI(flag=flag)
6
7    result = PublicDataAPI.get_instruments(
8        instType="SPOT"
9    )
10  print(result)

7. Bagaimana Cara Membaca Saldo Akun Saya?

Untuk informasi selengkapnya tentang Cara Membaca Saldo Akun, silakan baca panduan khusus kami.

Catatan: Untuk trading spot dalam tdMode "tunai", Anda utamanya perlu memeriksa parameter cashBal dan frozenBal untuk setiap ccy dalam detail, serta parameter totalEq.

Python
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. Bagaimana Cara Mengakses Keempat Macam Mode Akun Tersebut?

Dalam sistem akun terpadu kami, ada empat mode akun:

  • Mode Spot

  • Mode Spot dan Futures

  • Mode Margin Multimata Uang

  • Mode Margin Portofolio

Untuk memahami perbedaan di antara berbagai mode akun tersebut dan Cara Mengatur Mode Akun melalui UI web, silakan baca panduan khusus kami.

Dalam mode margin atau mode trading, parameter tdMode menentukan bagaimana posisi Anda akan diberi margin, yang harus Anda tetapkan setiap kali menempatkan order baru.

Untuk trading spot dalam mode spot dan futures, harap mengatur tdMode='cash'.

Untuk trading spot dalam mode margin multimata uang atau margin portofolio, harap mengatur tdMode = 'cross'.

Di bawah ini, Anda akan menemukan penjelasan singkat tentang cara mengetahui mode yang terkonfigurasi pada akun Anda saat ini.

9. Bagaimana Cara Mengetahui Mode Yang Terkonfigurasi Pada Akun Saya Saat Ini?

Untuk informasi selengkapnya tentang Cara Mengetahui Mode Yang Terkonfigurasi Pada Akun Saya Saat Ini, silakan baca panduan khusus kami dan masukkan parameter acctLv.

Python
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. Bagaimana Cara Menempatkan Order Spot Dalam Mode Spot/Spot & Futures?

10.1 Bagaimana Cara Menempatkan Order Batas?

Untuk informasi selengkapnya tentang Cara Menempatkan Order Batas dalam mode spot atau spot dan futures, silakan baca panduan khusus kami.

Berikut adalah contoh pembelian 0,01 BTC dengan harga 19000 USDT.

Python
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 Bagaimana Cara Menempatkan Order Pasar?

Untuk informasi selengkapnya tentang Cara Menempatkan Order Pasar dalam mode spot atau spot dan futures, silakan baca panduan khusus kami.

Berikut adalah contoh pembelian BTC senilai 100 USD dengan harga pasar saat ini.

Python
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 Bagaimana Cara Menggunakan Parameter Mata Uang Target tgtCcy Selama Trading Spot?

Dalam trading spot, parameter tgtCcy menentukan unit dari parameter ukuran sz, yang dapat berupa mata uang dasar atau mata uang kutipan dari pair trading. Misalnya, dalam pair BTC-USDT, mata uang dasarnya adalah BTC dan mata uang kutipannya adalah USDT.

Secara default, tgtCcy = quote_ccy untuk order beli, yang berarti bahwa sz yang Anda tentukan dinyatakan dalam mata uang kutipan. Sementara itu, nilai default dari tgtCcy untuk order jual adalah base_ccy, yang berarti bahwa sz yang Anda tentukan dinyatakan dalam mata uang dasar.

Pada contoh di bawah ini, Anda akan membuat order pasar untuk membeli BTC senilai 100 USD.

Python
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 Bagaimana Cara Menggunakan Parameter ID Order Klien clOrdId?

Saat menempatkan order, Anda dapat menentukan ID order klien sendiri dengan menentukan parameter clOrdId, yang nantinya dapat digunakan sebagai pengenal yang menggantikan ordId saat memanggil endpoint pengambilan, perubahan, atau pembatalan order.

Python
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. Bagaimana Cara Mendapatkan Detail Terkait Order Tertentu?

Untuk informasi selengkapnya tentang Cara Mendapatkan Detail Terkait Order Tertentu, silakan baca panduan khusus kami.

11.1 Menggunakan ordId

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

11.2 Menggunakan clOrdId

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

12. Bagaimana Cara Membatalkan Order?

Untuk informasi selengkapnya tentang Cara Membatalkan Order, silakan baca panduan khusus kami.

Anda juga dapat menggunakan clOrdId sebagai pengganti ordId.

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

13. Bagaimana Cara Mengubah Order?

Untuk informasi selengkapnya tentang Cara Mengubah Order, silakan baca panduan khusus kami.

Anda juga dapat menggunakan clOrdId sebagai pengganti ordId.

Python
1 result = tradeAPI.amend_order(
2     instId="BTC-USDT",
3     ordId="489103565508685824",
4     newSz="0.012"
5 )
6 print(result)

14. Bagaimana Cara Mengakses Daftar Order Terbuka?

Untuk informasi selengkapnya tentang Cara Mengakses Daftar Order Terbuka, silakan baca panduan khusus kami.

Python
1 result = tradeAPI.get_order_list()
2 print(result)

15. Bagaimana Cara Mengakses Riwayat Order?

15.1 Selama 7 Hari Terakhir

Untuk informasi selengkapnya tentang Cara Mengakses Riwayat Order Selama 7 Hari Terakhir, silakan baca panduan khusus kami.

Python
1 result = tradeAPI.get_orders_history(
2     instType="SPOT"
3 )
4 print(result)

15.2 Selama 3 Bulan Terakhir

Untuk informasi selengkapnya tentang Cara Mengakses Riwayat Order Selama 3 Bulan Terakhir, silakan baca panduan khusus kami.

Python
1 result = tradeAPI.get_orders_history_archive(
2     instType="SPOT"
3 )
4 print(result)

16. Bagaimana Cara Melanjutkan Dengan API OKX Menggunakan Jupyter Notebook?

Untuk contoh lainnya, unduh Jupyter Notebook lengkap di sini.

Jika ada pertanyaan tentang API kami, Anda dapat bergabung ke Komunitas API kami dan menanyakannya di komunitas.