[TOC]
Penemu Quantitative Trading Platform telah melakukan beberapa perombakan setelah 9 tahun iterasi teknologi, meskipun kami sebagai pengguna mungkin tidak menyadarinya. Dalam dua tahun terakhir, platform telah melakukan banyak optimasi dan peningkatan dalam hal pengalaman pengguna, termasuk peningkatan antarmuka UI yang komprehensif, alat perdagangan kuantitatif yang banyak digunakan, dan menambahkan lebih banyak dukungan data retargeting.
Untuk membuat desain kebijakan lebih mudah, logika transaksi lebih jelas, dan lebih mudah untuk pemula, platform telah meningkatkan antarmuka API yang digunakan oleh kebijakan. Penggunaan host versi terbaru dapat mengaktifkan fitur-fitur baru ini. Platform masih sangat kompatibel dengan panggilan antarmuka lama.
Jadi, mari kita lihat bersama di artikel ini apa saja pembaruan upgrade antarmuka yang ada dan apa saja perubahan yang diperlukan untuk menggunakan kebijakan lama untuk kompatibel dengan API saat ini.
Untuk merancang strategi multi-varietas, strategi pemantauan pasar keseluruhan. Antarmuka pasar agregat ini sangat penting untuk membuat strategi lebih mudah dikembangkan dan menghindari perkalian roda. Penemu platform perdagangan kuantitatif membungkus API seperti pasar.
Jika sebuah bursa tidak memiliki antarmuka seperti itu (bursa individu), panggilanexchange.GetTickers()
"Saya tidak akan mendukungnya", tulisnya.
Fungsi ini tidak memiliki parameter apa pun dan akan mengembalikan data pasar real-time dari semua varietas pasar yang terakumulasi di antarmuka pasar.
exchange.GetTickers()
Fungsi ini adalahexchange.GetTicker()
Versi yang diminta dari berbagai jenis fungsi (lihat dengan seksama, perbedaan antara kedua nama fungsi ini hanya merupakan bilangan tunggal).
Kami menggunakan OKX untuk menguji lingkungan simulasi disk langsung:
function main() {
exchange.IO("simulate", true)
var tickers = exchange.GetTickers()
if (!tickers) {
throw "tickers error"
}
var tbl = {type: "table", title: "test tickers", cols: ["Symbol", "High", "Open", "Low", "Last", "Buy", "Sell", "Time", "Volume"], rows: []}
for (var i in tickers) {
var ticker = tickers[i]
tbl.rows.push([ticker.Symbol, ticker.High, ticker.Open, ticker.Low, ticker.Last, ticker.Buy, ticker.Sell, ticker.Time, ticker.Volume])
}
LogStatus("`" + JSON.stringify(tbl) + "`")
return tickers.length
}
Tumbuhexchange.CreateOrder()
Fungsi dapat dianggap sebagai fokus dari upgrade ini.exchange.CreateOrder()
Fungsi yang paling penting adalah menentukan jenis, arah, dan lain-lain yang akan dipesan secara langsung dalam parameter fungsi. Dengan demikian, tidak ada lagi pengaturan yang bergantung pada pasangan transaksi, kode kontrak, arah transaksi, dan lain-lain yang saat ini ditetapkan oleh sistem.
Dalam skenario transaksi multi-varietas, pengurangan kompleksitas desain sangat signifikan dalam skenario simultan.exchange.CreateOrder()
Jadi kita bisa melihat bahwa fungsi ini memiliki empat parameter.symbol
、side
、price
、amount
。
Percobaan lingkungan menggunakan OKX futures simulator:
function main() {
exchange.IO("simulate", true)
var id1 = exchange.CreateOrder("ETH_USDT.swap", "buy", 3300, 1)
var id2 = exchange.CreateOrder("BTC_USDC.swap", "closebuy", 70000, 1)
var id3 = exchange.CreateOrder("LTC_USDT.swap", "sell", 110, 1)
Log("id1:", id1, ", id2:", id2, ", id3:", id3)
}
Jadi kita hanya menggunakan tiga kali.exchange.CreateOrder()
Fungsi panggilan menghasilkan tiga jenis pesanan berjangka yang berbeda arah.
Tumbuhexchange.GetHistoryOrders()
Fungsi ini digunakan untuk mendapatkan pesanan transaksi historis jenis tertentu, yang juga membutuhkan dukungan antarmuka bursa.
Untuk menelusuri order sejarah, antarmuka yang diimplementasikan oleh berbagai bursa sangat berbeda:
Untuk mengemas antarmuka jenis ini dengan tingkat kompatibilitas maksimum, dalam penggunaan praktis perlu diperhatikan apakah mereka sesuai dengan kebutuhan, harapan, dan kebijakan.
Fungsi yang lebih rinci tidak akan dijelaskan di sini, Anda dapat melihat panduan tata bahasa di dokumen API:
https://www.fmz.com/syntax-guide#fun_exchange.gethistoryorders
Percobaan menggunakan Binance Real-Time Display Environment:
function main() {
var orders = exchange.GetHistoryOrders("ETH_USDT")
// 写入图表
var tbl = {type: "table", title: "test GetHistoryOrders", cols: ["Symbol", "Id", "Price", "Amount", "DealAmount", "AvgPrice", "Status", "Type", "Offset", "ContractType"], rows: []}
for (var order of orders) {
tbl.rows.push([order.Symbol, order.Id, order.Price, order.Amount, order.DealAmount, order.AvgPrice, order.Status, order.Type, order.Offset, order.ContractType])
}
LogStatus("orders.length:", orders.length, "\n", "`" + JSON.stringify(tbl) + "`")
}
Versi lama dari fungsi capture hold data adalahexchange.GetPosition()
◎ Untuk lebih sesuai dengan semantik nama fungsi, upgrade ini menambahkan fungsi pemegang saham baru:exchange.GetPositions()
│ namun tetap kompatibel/meng-upgrade fungsi GetPosition│
Perhatikan bahwa kedua nama fungsi hanya berbeda dengan akhir s, karena GetPositions lebih sesuai dengan semantik, maka disarankan untuk menggunakan GetPositions di semua lanjutan.
exchange.GetPositions()
Fungsi memiliki tiga bentuk panggilan:
exchange.GetPositions (dalam bahasa Inggris). Jika tidak ada parameter yang ditransfer,Perdagangan / Kode KontrakSetelan ini meminta data penyimpanan untuk semua varietas dengan dimensi saat ini.
exchange.GetPositions (http://ETH_USDT.swap)
Ketika informasi varietas tertentu (format seperti ETH_USDT.swap yang didefinisikan oleh platform FMZ) ditentukan, data penyimpanan varietas tertentu diminta.
Contoh:BTC_USD.swap
、ETH_USDT.swap
、ETH_USDT.quarter
Dan seterusnya.
BTC_USD.swap: Kontrak permanen pada mata uang BTC.
ETH_USDT.swap: Kontrak permanen U-bit ETH.
ETH_USDC.swap: Kontrak permanen di tempat USDC ETH. (Selain USDT, Anda dapat menentukan mata uang quote yang berbeda, tidak disebutkan lagi)
ETH_USDT.quarter: Rasio transaksi U-bit ETH per kuartal sekitar.
BTC_USD. BTC-USD-201226-24250-C: Kontrak opsi biner BTC.
exchange.GetPositions ((
Beberapa bursa khusus yang memiliki dimensi kontrak: USDT.futures_combo:Futures_Deribit adalah sebuah bursa saham yang bergerak di bidang perdagangan forex. USD.futures_ff:Futures_Kraken memperdagangkan saham saham campuran. USD.swap_pf:Futures_Kraken adalah bursa saham yang mengekspor kontrak jangka panjang sekuritas campuran.
Untuk dimensi yang tidak didukung oleh API pertukaran, panggilan akan memberikan kesalahan dan mengembalikan nilai kosong.
Percobaan lingkungan menggunakan OKX futures simulator:
function main() {
exchange.IO("simulate", true)
exchange.SetCurrency("BTC_USDT")
exchange.SetContractType("swap")
var p1 = exchange.GetPositions()
var p2 = exchange.GetPositions("BTC_USDT.swap")
var tbls = []
for (var positions of [p1, p2]) {
var tbl = {type: "table", title: "test GetPosition/GetPositions", cols: ["Symbol", "Amount", "Price", "FrozenAmount", "Type", "Profit", "Margin", "ContractType", "MarginLevel"], rows: []}
for (var p of positions) {
tbl.rows.push([p.Symbol, p.Amount, p.Price, p.FrozenAmount, p.Type, p.Profit, p.Margin, p.ContractType, p.MarginLevel])
}
tbls.push(tbl)
}
LogStatus("`" + JSON.stringify(tbls) + "`")
}
Saat masukexchange.GetPositions()
Dan parameternya adalahETH_USDT.swap
Pada saat yang sama, Anda dapat mendapatkan data kepemilikan kontrak permanen U-bit ETH.
Saat tidak masukexchange.GetPositions()
Pada saat parameter fungsi, Anda dapat mendapatkan data kepemilikan semua kontrak permanen U-bit yang diposting di bursa (karena pasangan transaksi saat ini adalah BTC_USDT, kontrak adalah swap, sesuai dengan pasangan transaksi saat ini, permintaan rentang kontrak), saat ini sama dengan panggilan.exchange.GetPositions("USDT.swap")
, tentukan jangkauan permintaan.
Fungsi GetFundings yang baru ditambahkan dapat mendapatkan tingkat dana dari kontrak jangka panjang di bursa berjangka. Fungsi ini memiliki simbol parameter. Fungsi ini mengembalikan suatu Array Struktur Funding.
BTC_USDT.swap
│ Tidak mengirimkan parameter atau fungsi jangkauan pengiriman akan memberikan kesalahan symbol parameter tidak didukung │Fungsi operasiexchange.GetTicker()
Upgrade ini terutama menambahkan parameter simbol. Fungsi ini dapat lepas dari pasangan transaksi saat ini, kode kontrak langsung sesuai dengan informasi varietas yang ditentukan oleh parameter, meminta data pasar. Proses penulisan kode disederhanakan.
Parametersymbol
Untuk obyek bursaexchange
Ini adalah bentuk yang berbeda dari spot/futures:
AAA_BBB
, AAA mewakili mata uang dasar, dan BBB mewakili mata uang quote. Nama mata uang dituliskan dengan huruf besar.
Contoh: BTC_USDT Pasangan perdagangan langsung.AAA_BBB.XXX
AAA adalah mata uang dasar, BBB adalah mata uang quote, dan XXX adalah kode kontrak, seperti swap kontrak permanen. Nama mata uang dituliskan dengan huruf besar dan kode kontrak dituliskan dengan huruf kecil.
Contoh: BTC_USDT.swap, kontrak jangka panjang U-bit BTC.Percobaan di lingkungan real-time dengan mata uang kripto:
var symbols = ["BTC_USDT.swap", "BTC_USDT.quarter", "BTC_USD.swap", "BTC_USD.next_quarter", "ETH_USDT.swap"]
function main() {
exchange.SetCurrency("ETH_USD")
exchange.SetContractType("swap")
var arr = []
var t = exchange.GetTicker()
arr.push(t)
for (var symbol of symbols) {
var ticker = exchange.GetTicker(symbol)
arr.push(ticker)
}
var tbl = {type: "table", title: "test GetTicker", cols: ["Symbol", "High", "Open", "Low", "Last", "Buy", "Sell", "Time", "Volume"], rows: []}
for (var ticker of arr) {
tbl.rows.push([ticker.Symbol, ticker.High, ticker.Open, ticker.Low, ticker.Last, ticker.Buy, ticker.Sell, ticker.Time, ticker.Volume])
}
LogStatus("`" + JSON.stringify(tbl) + "`")
return arr
}
Permintaan untuk desain data pasar untuk kelompok varietas tertentu menjadi lebih sederhana.
Sama seperti fungsi GetTickerexchange.GetDepth()
Fungsi ini juga menambahkan parameter simbol. Fungsi ini memungkinkan untuk secara langsung menentukan varietas saat meminta data kedalaman.
Percobaan di lingkungan real-time dengan mata uang kripto:
function main() {
exchange.SetCurrency("LTC_USD")
exchange.SetContractType("swap")
Log(exchange.GetDepth())
Log(exchange.GetDepth("ETH_USDT.quarter"))
Log(exchange.GetDepth("BTC_USD.swap"))
}
Sama seperti fungsi GetTickerexchange.GetTrades()
Fungsi ini juga menambahkan parameter simbol. Fungsi ini memungkinkan untuk secara langsung menentukan varietas saat meminta data transaksi pasar.
Percobaan di lingkungan real-time dengan mata uang kripto:
function main() {
var arr = []
var arrR = []
var symbols = ["LTC_USDT.swap", "ETH_USDT.quarter", "BTC_USD.swap"]
for (var symbol of symbols) {
var r = exchange.Go("GetTrades", symbol)
arrR.push(r)
}
for (var r of arrR) {
arr.push(r.wait())
}
var tbls = []
for (var i = 0; i < arr.length; i++) {
var trades = arr[i]
var symbol = symbols[i]
var tbl = {type: "table", title: symbol, cols: ["Time", "Amount", "Price", "Type", "Id"], rows: []}
for (var trade of trades) {
tbl.rows.push([trade.Time, trade.Amount, trade.Price, trade.Type, trade.Id])
}
tbls.push(tbl)
}
LogStatus("`" + JSON.stringify(tbls) + "`")
}
Upgrade ini juga kompatibel denganexchange.Go()
Fungsi tersebut menginvokasi platform API secara bersamaan saat mengirimkan informasi varietas yang ditentukan oleh parameter simbol.
Fungsi GetRecords membuat perubahan besar pada saat ini, selain mendukung informasi varietas data baris K yang diminta secara langsung oleh parameter simbol. Parameter periode yang digunakan untuk menentukan periode baris K tetap dipertahankan, dan parameter limit ditambahkan untuk menentukan panjang baris K yang diinginkan untuk periode permintaan.
exchange.GetRecords()
Cara memanggil fungsi:
Percobaan di lingkungan real-time dengan mata uang kripto:
function main() {
exchange.SetCurrency("ETH_USDT")
exchange.SetContractType("swap")
var r1 = exchange.GetRecords()
var r2 = exchange.GetRecords(60 * 60)
var r3 = exchange.GetRecords("BTC_USDT.swap")
var r4 = exchange.GetRecords("BTC_USDT.swap", 60)
var r5 = exchange.GetRecords("LTC_USDT.swap", 60, 3000)
Log("r1相邻Bar时间差值:", r1[1].Time - r1[0].Time, "毫秒, Bar长度:", r1.length)
Log("r2相邻Bar时间差值:", r2[1].Time - r2[0].Time, "毫秒, Bar长度:", r2.length)
Log("r3相邻Bar时间差值:", r3[1].Time - r3[0].Time, "毫秒, Bar长度:", r3.length)
Log("r4相邻Bar时间差值:", r4[1].Time - r4[0].Time, "毫秒, Bar长度:", r4.length)
Log("r5相邻Bar时间差值:", r5[1].Time - r5[0].Time, "毫秒, Bar长度:", r5.length)
}
Fungsi GetOrders juga ditambahkansymbol
Parameter, yang dapat menentukan varietas tertentu, untuk menanyakan pesanan yang belum selesai dari varietas tersebut (daftar tersusun); juga mendukung untuk menanyakan pesanan yang belum selesai dari semua varietas dalam kisaran dimensi yang ditentukan (daftar tersusun).
exchange.GetOrders()
Fungsi dapat dipanggil dengan cara berikut:
Percobaan lingkungan menggunakan OKX futures simulator:
function main() {
exchange.IO("simulate", true)
exchange.SetCurrency("BTC_USDT")
exchange.SetContractType("swap")
// 写入图表
var tbls = []
for (var symbol of ["null", "ETH_USDT.swap", "USDT.swap"]) {
var tbl = {type: "table", title: symbol, cols: ["Symbol", "Id", "Price", "Amount", "DealAmount", "AvgPrice", "Status", "Type", "Offset", "ContractType"], rows: []}
var orders = null
if (symbol == "null") {
orders = exchange.GetOrders()
} else {
orders = exchange.GetOrders(symbol)
}
for (var order of orders) {
tbl.rows.push([order.Symbol, order.Id, order.Price, order.Amount, order.DealAmount, order.AvgPrice, order.Status, order.Type, order.Offset, order.ContractType])
}
tbls.push(tbl)
}
LogStatus("`" + JSON.stringify(tbls) + "`")
}
ETH_USDT.swap
Parameter ini meminta USDT untuk kontrak permanen yang belum selesai (pending order) di tempat ETH."USDT.swap"
Saat ini, USDT telah merilis sebuah aplikasi untuk merilis semua pesanan yang belum selesai (yang tersusun) untuk USDT.Masih kompatibel dengan nama fungsi pengambilan penyimpanan lama, juga menambahkan parameter simbol, yang dapat menentukan informasi varietas data penyimpanan yang diminta secara khusus.exchange.GetPositions()
Saya tidak tahu apa yang terjadi.
Untukexchange.IO("api", ...)
Cara panggilan fungsi, yang ditingkatkan untuk semua objek bursa yang mendukung fungsi alamat permintaan lengkap yang langsung ditransfer.
Misalnya, jika Anda ingin memanggil OKX:
GEThttps://www.okx.com/api/v5/account/max-withdrawal ccy: BTC
Dukungan untuk menulis alamat database langsunghttps://www.okx.com
, Anda tidak perlu mengganti alamat basis untuk memanggil fungsi IO.
Percobaan lingkungan menggunakan OKX futures simulator:
function main() {
exchange.IO("simulate", true)
return exchange.IO("api", "GET", "https://www.okx.com/api/v5/account/max-withdrawal", "ccy=BTC")
}
Ini adalah peningkatan yang sangat mempengaruhi.exchange.GetOrder(id)
Parameter fungsiid
Parameter,id diubah dari original order id untuk menjadi format string yang berisi varietas transaksi. Semua order Id yang dikemas di platform FMZ adalah untuk format ini.
Misalnya:
123456
Sebelum upgrade ini, untuk memanggil fungsi GetOrder, order id yang dikirim adalah123456
。BTC-USDT
Saya tidak tahu.
Perhatikan bahwa ini adalah jenis kode perdagangan yang dinamakan oleh bursa, bukan pasangan perdagangan yang didefinisikan oleh platform FMZ."Saya tidak tahu apa yang terjadi", katanya.exchange.GetOrder(id)
Format parameter id yang ingin ditransfer fungsi disesuaikan dengan:BTC-USDT,123456
。
Pertama, jelaskan mengapa desain ini dibuat: Karena ini adalah upgrade dari fungsi CreateOrder yang secara langsung menentukan jenis order (varietas order dan pasangan transaksi yang saat ini diatur, kode kontrak mungkin berbeda), jika ID order yang dikembalikan tidak berisi informasi jenis; maka ID order ini tidak akan dapat digunakan; karena tidak diketahui jenis order (kontrak) pada saat order tertentu; sebagian besar order dan invoice di bursa memerlukan parameter yang menggambarkan kode jenis.
Bagaimana cara mengombinasikan dampak ini: Jika pesanan menggunakan fungsi exchange.IO yang secara langsung memanggil antarmuka pesanan untuk melakukan pesanan, nilai yang dikembalikan biasanya memiliki simbol asli (kode varietas) dan id pesanan asli. Jika keduanya digabungkan dengan koma bahasa Inggris, maka itu sesuai dengan definisi platform FMZ. Demikian pula, jika menggunakan antarmuka pemesanan yang terbungkus pada platform FMZ, karena bagian awal OrderId adalah kode varietas transaksi, hanya perlu menghapus kode varietas dan koma jika Anda ingin menggunakan Order OriginalId.
Peningkatan ini untukexchange.CancelOrder()
Efek Fungsi danexchange.GetOrder()
Fungsi yang sama.
Peningkatan ini untukexchange.Buy()
Efek Fungsi danexchange.GetOrder()
Fungsi yang sama.exchange.Buy()
Id pesanan yang dikembalikan oleh fungsi untuk struktur baru, misalnya Id yang dikembalikan saat pesanan di bursa berjangka OKX:LTC-USDT-SWAP,1578360858053058560
。
Peningkatan ini untukexchange.Sell()
Efek Fungsi danexchange.GetOrder()
Fungsi yang sama.exchange.Sell()
Id pesanan yang dikembalikan oleh fungsi untuk struktur baru, misalnya Id yang dikembalikan saat pesanan di bursa berjangka OKX:ETH-USDT-SWAP,1578360832820125696
。
Hanya objek bursa berjangka yang mendukung fungsi ini, dan keduanya berperilaku sama untuk mendapatkan fungsi penyimpanan data yang disebut exchange.GetPosition (), dan yang baru disebut exchange.GetPositions ().
Definisi lama: fungsi exchange.GetPosition, tanpa menentukan parameter apa pun, mendapatkan data kepemilikan dari pasangan transaksi saat ini, yang ditetapkan oleh kode kontrak.
Perubahan, definisi baru: fungsi exchange.GetPosition ((), yang tidak menentukan parameter apapun saat dipanggil, mengambil semua varietas yang dimiliki oleh pasangan transaksi yang saat ini ditetapkan, dalam kisaran dimensi yang ditentukan oleh kode kontrak.
Misalnya, pasangan yang sedang ditransfer adalah BTC_USDT, dan kode kontraknya adalah swap.
exchange.GetPosition() // 等价于调用 exchange.GetPosition("USDT.swap")
Fungsi ini meminta data penyimpanan kontrak permanen U-bit dari semua mata uang.
1. Untuk bursa saham:
Definisi lama: fungsi exchange.GetOrders ((), ketika tidak menentukan parameter apa pun yang dipanggil, mengambil semua pesanan yang belum selesai pada pasangan transaksi saat ini.
Perubahan, definisi baru: exchange.GetOrders () fungsi, ketika tidak menentukan parameter panggilan, yang diperoleh adalah semua transaksi langsung untuk varietas pesanan yang belum selesai.
2. Untuk bursa berjangka:
Definisi lama: fungsi exchange.GetOrders, ketika tidak menentukan parameter apa pun, mengambil semua pesanan yang belum selesai untuk pasangan transaksi saat ini, kontrak kode tertentu yang ditetapkan.
Perubahan, definisi baru: exchange.GetOrders () Fungsi, tanpa menentukan parameter panggilan, mengambil semua pesanan yang belum selesai pada saat ini pengaturan pasangan transaksi, dalam kisaran dimensi yang ditentukan oleh kode kontrak.
Misalnya, pasangan yang sedang ditransfer adalah BTC_USD, dan kode kontraknya adalah quarter.
exchange.GetOrders() // 等价于调用 exchange.GetOrders("USD.futures")
Fungsi ini akan meminta data pesanan yang belum selesai tentang rasio pertukaran mata uang untuk semua mata uang.
Pembaruan ini menambahkan kolom Simbol ke struktur Ticker, yang mencatat informasi tentang jenis struktur Ticker saat ini.exchange.GetTicker()
Format parameter simbol fungsi sangat konsisten.
Pembaharuan ini menambahkan kolom Simbol ke struktur Order, yang memiliki format yang sama denganexchange.GetTicker()
Format parameter simbol fungsi ini sangat konsisten. Pembaruan ini juga mengubah bidang Id dari struktur Order untuk mencatat informasi varietas, informasi pesanan asli, dan informasi pesanan dengan format Order Id baru.exchange.GetOrder()
Penjelasan tentang perintah Id dalam fungsi, tidak lagi dibahas di sini.
Pembaharuan ini menambahkan kolom Simbol ke struktur Posisi, yang memiliki format yang sama dengan kolom yang ada di bagian atas.exchange.GetTicker()
Format parameter simbol fungsi sangat konsisten.
Fungsi GetFundings mengembalikan suatu Array Struktur Funding.
{
"Info": {...}, // 交易所资金费率接口原始应答数据
"Symbol": "BTC_USDT.swap", // FMZ平台定义的品种名称
"Interval": 28800000, // 8小时间隔,单位毫秒
"Time": 1729728000000, // 本期资金费率收取时间
"Rate": 0.0001, // 资金费率,即 0.01 %
}
Upgrade ini untuk memenuhi kebutuhan pengguna, pertama-tama kompatibel dengan hard drive, dan sistem retesting akan selesai menyesuaikan dalam waktu satu minggu. Jika kode kebijakan individu terpengaruh, silakan lakukan perubahan sesuai dengan artikel ini.
Menurut platform ini kebijakan API upgrade, setiap API di platform ini retesting sistem telah disinkronkan dengan update yang selesai; Selain itu, retesting sistem baru mendukung:
Fungsi anggota untuk obyek bursa berjangkaGetAccount
KembaliAccount
Struktur telah diperluas.
Fungsi SetMarginLevel yang merupakan anggota dari obyek bursa berjangka telah ditingkatkan dengan menambahkan simbol parameter.
Contoh uji coba:
function main() {
exchange.SetCurrency("ETH_USDT")
exchange.SetContractType("swap")
// 当前交易对为ETH_USDT,合约代码为swap,设置杠杆值为10
exchange.SetMarginLevel(10)
// 直接指定交易对BTC_USDT,合约代码swap,设置杠杆值20
exchange.SetMarginLevel("BTC_USDT.swap", 20)
}
CtValCcy
Untuk mencatat satuan nilai kontrak, satuan nilai kontrak dapat berupa: BTC, USD, ETH, dll.CtVal
Mencatat nilai kontrak yang sesuai dengan varietas transaksi di bursa, dalam satuanCtValCcy
Mata uang yang tercatat di kolom tersebut.CtVal
Saya tidak tahu apa yang terjadi.CtValCcy
"BTC" berarti kontrak dengan nilai 0.01 BTC.Wa-emmnn_Saya bertanya apa yang terjadi dengan robot baru saya, ID kembali dengan nama pasangan transaksi, saya telah meneliti untuk waktu yang lama, dan informasi log setelah pesanan tidak muncul sekarang, karena pembaruan administrator?
Yang kecil./upload/asset/2ffc0f961149326b78aed.png Apakah masalah ini disebabkan oleh pembaruan ini?
eknemuse 希望exchange.Buy函数能增加开止损单的功能。。
NanSegGaris depan
Wa-emmnn_Baiklah.
Penemu Kuantitas - Mimpi KecilBaiklah, cobalah di sini. Terima kasih atas pertanyaannya.
Wa-emmnn_Ya, extMsg1, extMsg2 tidak muncul.
Penemu Kuantitas - Mimpi KecilHalo, ID pesanan ini adalah perubahan yang harus dilakukan, karena upgrade langsung menentukan jenis order, ID pesanan harus berisi informasi jenis, jika tidak tidak dapat menentukan jenis pesanan ini, tidak dapat dipanggil saat penarikan ((karena sebagian besar bursa perlu menentukan jenis saat penarikan, dan menentukan ID)). Anda mengatakan bahwa pesan setelah pesanan tidak muncul, yaitu: exchange.Buy ((price, amount, extMsg1, extMsg2) ketika dipanggil, apakah extMsg1, extMsg2 tidak muncul di log?
Penemu Kuantitas - Mimpi KecilHalo, Anda dapat mengirim pengaturan bursa, pasangan perdagangan, dan kode kontrak saat ini.
Penemu KuantitasKirimkan detail kode dan konfigurasi uji coba ke formulir kerja, dan insinyur akan membalas Anda pada saat pertama.
Penemu Kuantitas - Mimpi KecilPerbedaan antara mekanisme persyaratan dan dukungan di bursa yang berbeda-beda, dan ini adalah penelitian untuk melihat apakah itu mungkin.
Penemu Kuantitas - Mimpi KecilTerima kasih atas dukungannya, jika ada masalah, kirimkan formulir atau komentar.