Bahsedilen ürünlerin hepsi, tüm yetki alanlarında kullanıma sunulmuyor olabilir.

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

Yayımlama Zamanı: 29 Eyl 2023Güncelleme Zamanı: 18 Ağu 2024Okuma Süresi: 10 dk211

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. Nasıl API Anahtarları Oluşturabilirim?

  1. OKX’e kaydolduktan sonra, test amacıyla API anahtarları oluşturmak için Al-Sat> Demo İşlemler’e gidin

    CT-web-trade-demo trading

    Demo İşlemler sayfasını açın

  2. API anahtarları oluşturmak için Hesap > API seçeneklerini izleyin

    CT-web-profile-API

    API anahtarları oluşturmak için API’yi açın

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

    CT-web-API-create

    API Anahtarı Oluştur’u seçin

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

    CT-web-API-trade

    İ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. API ayrıntılarınızı sonraki kullanımlar için not defterinde kaydetmek amacıyla Python değişkenlerini oluşturun

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

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

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

  • Trade

  • BlockTrading

  • Funding

  • Account

  • Convert

  • Earning

  • SubAccount

  • MarketData

  • PublicData

  • TradingData

  • Status

  • NDBroker

  • FDBroker

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 verilerimize 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 çiftlerimizi 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)

7. Hesap Bakiyemi Nasıl Okuyabilirim?

Hesap bakiyenizi okuma hakkında daha fazla bilgi edinmek için lütfen konu hakkındaki kılavuzumuzu okuyun.

Hatırlatma: "cash" tdMode altında spot işlemler için, details (ayrıntılar) altında her bir ccy (para birimi) için cashBal, 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)

8. Dört Farklı Hesap Moduna Nasıl Erişebilirim?

Birleştirilmiş hesap sistemimizde dört hesap modu bulunur:

  • Spot Modu

  • Spot ve Vadeli Modu

  • Çoklu Kripto Marjini Modu

  • Portföy Marjini Modu

Farklı hesap modları arasındaki farkı anlamak ve web kullanıcı arayüzü üzerinden hesap modunun nasıl ayarlanabileceğini öğrenmek için lütfen konu hakkındaki kılavuzumuzu okuyun.

Marjin modunda veya al-sat modunda, tdMode parametresi, pozisyonunuzun nasıl marjinleneceğini belirler ve her yeni emir verdiğinizde bunu tekrar belirlemeniz gerekir.

Spot veya spot ve vadeli modunda spot işlemler için lütfen tdMode='cash' (nakit) ayarını yapın.

Çoklu kripto marjini veya portföy marjini modunda spot işlemler için lütfen tdMode = 'cross' (çapraz) ayarını yapın.

Mevcut hesabınızın hangi modda yapılandırıldığını nasıl öğrenebileceğinize dair kısa bir açıklamayı aşağıda bulabilirsiniz.

9. Güncel Hesabımın Hangi Modda Yapılandırıldığını Nasıl Öğrenebilirim?

Güncel hesabınızın hangi modda yapılandırıldığını nasıl öğreneceğiniz konusunda daha fazla bilgi edinmek için lütfen konu hakkındaki özel kılavuzumuzu okuyun ve acctLv parametresini girin.

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. Spot/Spot ve Vadeli Modunda Nasıl Spot Emir Verebilirim?

10.1 Nasıl Limit Emri Verebilirim?

Spot veya Spot ve Vadeli modunda nasıl limit emri verilebileceğine dair daha fazla bilgi edinmek için konu hakkındaki kılavuzumuzu okuyabilirsiniz.

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

10.2 Nasıl Piyasa Emri Verebilirim?

Spot veya Spot ve Vadeli modunda nasıl piyasa emri verilebileceğine dair daha fazla bilgi edinmek için konu hakkındaki kılavuzumuzu okuyabilirsiniz.

İş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)

10.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)

10.4 Müşteri Emir Kimliği “clOrdId” Parametresini 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)

11. 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 lütfen konu hakkındaki kılavuzumuzu okuyun.

11.1 ordId Kullanma

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

11.2 clOrdId Kullanma

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

12. Bir Emri Nasıl İptal Edebilirim?

Bir emri iptal etme hakkında daha fazla bilgi edinmek için lütfen konu hakkındaki kılavuzumuzu okuyun.

Ayrıca, ordId yerine clOrdId de kullanabilirsiniz.

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

13. Bir Emri Nasıl Değiştirebilirim?

Bir emrin nasıl değiştirilebileceği hakkında daha fazla bilgi edinmek için lütfen konu hakkındaki kılavuzumuzu okuyun.

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)

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

Açık emirler listesine erişim hakkında daha fazla bilgi edinmek için lütfen konu hakkındaki kılavuzumuzu okuyun.

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

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

15.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 lütfen konu hakkındaki kılavuzumuzu okuyun.

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

15.2 Son 3 Ay İçin

Son 3 ay için emir geçmişine erişme hakkında daha fazla bilgi edinmek için lütfen konu hakkındaki kılavuzumuzu okuyun.

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

16. Jupyter Notebook’ta OKX API İle Nasıl Daha İleri Gidebilirim?

Daha fazla örnek için, tam Jupyter Notebook’u buradan indirebilirsiniz.

API’lerimizle ilgili herhangi bir sorunuz varsa API topluluğumuza katılabilir ve toplulukta sorularınızı sorabilirsiniz.