Jupyter Notebook ile Nasıl Spot İşlem Yapabilirim?

Yayımlama Zamanı: 29 Eyl 2023Güncelleme Zamanı: 2 Oca 2025Okuma Süresi: 8 dk2

Bir Jupyter Notebook üzerinde python-okx kütüphanesindeki fonksiyonları çağırarak basit Spot işlemleri nasıl yapabileceğinizi öğrenin.

1. Jupyter Notebook’ta Python Kod Özetlerini Nasıl Çalıştırabilirim?

CT-web-spottrading-howtoapi-1

Jupyter Notebook, Python geliştirme ve veri analizi için inanılmaz güçlü ve kullanımı kolay bir araçtır. Jupyter Notebook sunucusunu Windows, Mac OS veya Linux üzerinde çalıştırabilirsiniz. Bu makalede, Jupyter Notebook’u nasıl başlatıp çalıştırabileceğinize dair oldukça kapsamlı bir kılavuz bulabilirsiniz.

2. Python-okx Paketini Nasıl Yükleyebilirim?

Bir Jupyter Notebook çalıştırmaya başladığınızda, python-okx paketini yüklemek için notebook veya terminalde (veya Windows için komut istemi yoluyla) pip install python-okx çalıştırmanız yeterlidir.

CT-web-spottrading-howtoapi-2

3. API Anahtarlarını Nasıl Oluşturabilirim?

  1. OKX TR web sitesinden hesabınıza giriş yapın ve Demo İşlemler bölümüne (Daha Fazlası → Demo İşlemler) gidin.

    Demo Trading_1

    Demo İşlemler’i seçin.

  2. Test amacıyla API anahtarları oluşturmak için Demo İşlemler API (Profil simgesi → Demo İşlemler API) bölümüne gidin.

    Demo Trading API_2

    Demo İşlemler API’yi seçin.

  3. Sahip olduğunuz farklı ana/alt hesaplar için API anahtarları oluşturun.

  4. API anahtarıyla al-sat yapmak için İzinler bölümünden Al-Sat’ı seçin.

    Demo Trading API_3

    İzinler bölümünde Al-Sat’ı seçin

  5. Artık API anahtarınıza, Gizli anahtarınıza ve parolanıza erişebilirsiniz. Bunları güvenli bir yerde saklayın!

  6. İleride kullanmak amacıyla API ayrıntılarınızı not defterine kaydetmek için Python değişkenlerinin örneğini oluşturun.

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

4. OKX TR Modüllerini Nasıl İçe Aktarabilirim?

Python-okx’te REST API modüllerimize bağlı olarak birkaç modül bulunmaktadır. OKX TR modüllerini nasıl içe aktaracağınızı öğrenmek için buraya tıklayın.

  • Trade

  • Funding

  • Account

  • Convert

  • SubAccount

  • MarketData

  • PublicData

  • TradingData

  • Status

Trade (Al-Sat) modülünü içe aktarmak için şunları çalıştırabilirsiniz:

Python
1 import okx.Trade as Trade

Artık Python-okx’te sunulan kapsamlı özellikleri kullanmaya hazırsınız!

5. Piyasa Verilerimize Nasıl Erişebilirim?

Piyasa verilerine nasıl erişebileceğiniz hakkında daha fazla bilgi edinin ve aşağıdaki koda bakın.

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. Kullanılabilir İşlem Çiftlerini Nasıl Okuyabilirim?

Kullanılabilir işlem çiftlerini okuma hakkında daha fazla bilgi edinin ve aşağıdaki koda göz atın.

Python
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. Kullanılabilir İşlem Çiftlerini Nasıl Okuyabilirim?

Kullanılabilir işlem çiftlerini okuma hakkında daha fazla bilgi edinin ve aşağıdaki koda göz atın.

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)

8. Hesap Bakiyemi Nasıl Okuyabilirim?

Hesap bakiyesini okuma hakkında daha fazla bilgi edinmek için buraya tıklayın.

Hatırlatma:tdMode parametresinin "cash" olduğu koşullarda spot işlem yapmak için, details (ayrıntılar) altındaki her bir ccy’ye (para birimi) ait cashBal ile frozenBal parametrelerini ve totalEq parametresini kontrol etmeniz gerekir.

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)

9. Nasıl Spot İşlem Emri Verebilirim?

9.1. Nasıl Limit Emri Verebilirim?

Spot modunda nasıl limit emri verebileceğinizle ilgili daha fazla bilgi edinmek için buraya tıklayın.

İşte 19.000 USDT fiyattan 0,01 BTC satın alma örneği.

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"])

9.2. Nasıl Piyasa Emri Verebilirim?

Spot modunda nasıl piyasa emri verebileceğinizle ilgili daha fazla bilgi edinmek için buraya tıklayın.

İşte güncel piyasa fiyatından 100 USD değerinde BTC satın alma örneği.

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)

9.3. Spot İşlem Yaparken Hedef Para Birimi Parametresi tgtCcy’yi Nasıl Kullanabilirim?

Spot işlemlerde, tgCcy parametresi, işlem çiftinin baz birimi veya teklif birimi olabilen sz boyut parametresinin birimini belirler. Örneğin, BTC-USDT çifti için baz birim BTC ve teklif birimi USDT’dir.

Varsayılan olarak, alış emirleri için tgtCcy = quote_ccy olması, belirttiğiniz sz parametresinin teklif birimi cinsinden olduğu anlamına gelir. Ayrıca, satış emirleri için tgtCcy parametresinin varsayılan değerinin base_ccy olması, belirttiğiniz sz parametresinin baz birim cinsinden olması anlamına gelir.

Aşağıdaki örnekte, 100 USD değerinde BTC satın almak için bir piyasa emri vermek üzeresiniz.

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)

9.4. Müşteri Emir Kimliği Parametresi “clOrdId”yi Nasıl Kullanabilirim?

Bir emir verdiğinizde, clOrdId parametresini belirterek kendi müşteri emir kimliğinizi belirtebilirsiniz; bu parametre daha sonra bir emir iptali, değişiklik veya alım uç noktasını çağırırken ordId yerine tanımlayıcı olarak kullanılabilir.

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)

10. Belirli Bir Emirle İlgili Ayrıntıları Nasıl Alabilirim?

Belirli bir emirle ilgili ayrıntıları alma hakkında daha fazla bilgi edinmek için buraya tıklayın.

10.1. ordId’yi Kullanma

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

10.2. clOrdId’yi Kullanma

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

11. Emirleri Nasıl İptal Edebilirim?

Bir emri iptal etme hakkında daha fazla bilgi edinmek için buraya tıklayın.

Ayrıca, ordId yerine clOrdId de kullanabilirsiniz.

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

12. Emirleri Nasıl Değiştirebilirim?

Bir emrin nasıl değiştirilebileceği hakkında daha fazla bilgi edinmek için buraya tıklayın.

Ayrıca, ordId yerine clOrdId de kullanabilirsiniz.

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

13. Açık Emirler Listesine Nasıl Erişebilirim?

Açık emirler listesine erişim hakkında daha fazla bilgi edinmek için buraya tıklayın.

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

14. Emir Geçmişine Nasıl Erişebilirim?

14.1. Son 7 Gün İçin

Son 7 gün için emir geçmişine erişme hakkında daha fazla bilgi edinmek için buraya tıklayın.

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

14.2. Son 3 Ay İçin

Son 3 ay için emir geçmişine erişme hakkında daha fazla bilgi edinmek için buraya tıklayın.

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

15. Jupyter Notebook’ta OKX API ile Nasıl Daha İleri Düzey İşlemler Yapabilirim?

Daha fazla örnek için, Jupyter Notebook ile ilgili tüm kodları buradan indirebilirsiniz.