Jupyter Notebook ile Nasıl Spot İşlem Yapabilirim?
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?
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.
3. API Anahtarlarını Nasıl Oluşturabilirim?
OKX TR web sitesinden hesabınıza giriş yapın ve Demo İşlemler bölümüne (Daha Fazlası → Demo İşlemler) gidin.
Test amacıyla API anahtarları oluşturmak için Demo İşlemler API (Profil simgesi → Demo İşlemler API) bölümüne gidin.
Sahip olduğunuz farklı ana/alt hesaplar için API anahtarları oluşturun.
API anahtarıyla al-sat yapmak için İzinler bölümünden Al-Sat’ı seçin.
Artık API anahtarınıza, Gizli anahtarınıza ve parolanıza erişebilirsiniz. Bunları güvenli bir yerde saklayın!
İleride kullanmak amacıyla API ayrıntılarınızı not defterine kaydetmek için Python değişkenlerinin örneğini oluşturun.
Python1 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:
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.
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.
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.
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.
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.
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.
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.
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.
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
1 result = tradeAPI.get_order(instId="BTC-USDT", ordId="497819823594909696")
2 print(result)
10.2. clOrdId
’yi Kullanma
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.
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.
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.
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.
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.
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.