Futu Securities
Ini mendukung FutuNN live trading dan demo trading, Anda perlu mengunduhFutuOpenD
Aplikasi.
Saat digunakanFutuOpenD
untuk mengakses demo trading, beberapa kode saham tidak didukung, jadi Anda tidak dapat berdagang, tetapi aplikasi seluler FutuOpenD mampu demo trading.
Untuk konfigurasi objek pertukaran, berjalanFutuOpenD
perangkat lunak, dll pada FMZ Quant, silakan lihatDokumen Deskripsi Konfigurasi Futu Securities.
Frekuensi panggilan antarmuka
UntukGetOrder
, GetOrders
, GetPositions
, GetAccount
Fungsi digunakandata yang di-cachesecara default, jadi tidak ada batasan frekuensi panggilan.
Ketika data baru tersedia,FutuOpenD
akan memperbarui data secara otomatis, dandata yang di-cacheakan diperbarui secara sinkron.
Peraturanexchange.IO("refresh", true)
fungsi dapat dipanggil untuk menonaktifkan caching, jikamenonaktifkan cachemaka frekuensi panggilan adalahmaksimal 10 kueri per 30 detik, melebihi batas frekuensi akan melaporkan kesalahan.
Kode saham
Misalnya:600519.SH
Kode strategi menggunakanexchange.SetContractType()
fungsi untuk menetapkan kode saham, misalnya:
function main() {
var info = exchange.SetContractType("600519.SH") // Set to stock 600519.SH, namely Kweichow Moutai, and the account will be switched to the China mainland market
Log(info)
Log(exchange.GetAccount()) // The currently set stock is Kweichow Moutai. At this time, call the GetAccount function to obtain the account assets, which are the account assets of the China mainland market
Log(exchange.GetTicker()) // Obtain the current price information of Kweichow Moutai stock
}
def main():
info = exchange.SetContractType("600519.SH")
Log(info)
Log(exchange.GetAccount())
Log(exchange.GetTicker())
void main() {
auto info = exchange.SetContractType("600519.SH");
Log(info);
Log(exchange.GetAccount());
Log(exchange.GetTicker());
}
Fungsi untuk menentukan arah transaksiexchange.SetDirection
, fungsi untuk menempatkan pesananexchange.Buy
/exchange.Sell
...
Fungsi penarikanexchange.CancelOrder
dan fungsi urutan kueriexchange.GetOrder
digunakan dengan cara yang sama seperti di pasar berjangka.
Format data informasi akun:
Mendefinisikan pasar menggunakanTrdMarket
untuk membedakan antaraHong Kong Market
, United States Market
, danChina Mainland Market
.
Kutipan dariFutu API
dokumentasi:
const (
TrdMarket_TrdMarket_Unknown TrdMarket = 0 //Unknown Trading Market
TrdMarket_TrdMarket_HK TrdMarket = 1 //Hong Kong Trading Market
TrdMarket_TrdMarket_US TrdMarket = 2 //United States Trading Market
TrdMarket_TrdMarket_CN TrdMarket = 3 //China Mainland Trading Market
TrdMarket_TrdMarket_HKCC TrdMarket = 4 //Hong Kong A-share Trading Market
TrdMarket_TrdMarket_Futures TrdMarket = 5 //Futures Trading Market
)
Dapatkan data informasi akun,exchange.GetAccount()
fungsi mengembalikan:
{
"Info": [{
"Header": {
... // omit
"TrdMarket": 1 // In the Info raw information, market ID, indicates that the account assets are used for trading in the Hong Kong market
},
"Funds": { // Information on the account's assets in that market
...
}
}, ...],
"Stocks": 0,
"FrozenStocks": 0,
"Balance": 1000000, // Asset values in the current market
"FrozenBalance": 0
}
FutuOpenD
membedakan menurut wilayah berdasarkan log inIPalamat
Ada pembatasan untuk mengakses data pasar untuk akun yang masuk dari alamat IP non-benua, yang dapat ditemukan dalam dokumentasi resmi dariFutuOpenD
.
Futures_Binance
Ini mendukung mode posisi ganda Binance berjangka; Anda dapat menggunakanexchange.IO
untuk beralih:
function main() {
var ret = exchange.IO("api", "POST", "/fapi/v1/positionSide/dual", "dualSidePosition=true")
// ret : {"code":200,"msg":"success"}
Log(ret)
}
def main():
ret = exchange.IO("api", "POST", "/fapi/v1/positionSide/dual", "dualSidePosition=false")
Log(ret)
void main() {
auto ret = exchange.IO("api", "POST", "/fapi/v1/positionSide/dual", "dualSidePosition=true");
Log(ret);
}
Ini mendukung beralih antara posisi silang / posisi terisolasi:
function main() {
exchange.SetContractType("swap")
exchange.IO("cross", true) // Switch to crossed position
exchange.IO("cross", false) // Switch to isolated position
}
def main():
exchange.SetContractType("swap")
exchange.IO("cross", True)
exchange.IO("cross", False)
void main() {
exchange.SetContractType("swap");
exchange.IO("cross", true);
exchange.IO("cross", false);
}
Ini mendukung untuk beralih ke mode akun Binance yang disatukan:
function main() {
exchange.IO("unified", true) // Switch to unified account mode
exchange.IO("unified", false) // Switch to commom mode
}
def main():
exchange.IO("unified", True)
exchange.IO("unified", False)
void main() {
exchange.IO("unified", true);
exchange.IO("unified", false);
}
Ini mendukung pengaturan mode STP untuk pesanan Binance spot/futures:
function main() {
// "NONE" indicates that STP mode is disabled, other parameters are: "EXPIRE_TAKER", "EXPIRE_MAKER", "EXPIRE_BOTH"
exchange.IO("selfTradePreventionMode", "NONE")
}
def main():
exchange.IO("selfTradePreventionMode", "NONE")
void main() {
exchange.IO("selfTradePreventionMode", "NONE");
}
Futures_HuobiDM
exchange.IO("signHost", "")
untuk mengatur string kosong.
Penggunaanexchange.IO("signHost", "https://aaa.xxx.xxx")
untuk mengubah alamat dasar Huobi Futures yang berpartisipasi dalam verifikasi tanda tangan.
Penggunaanexchange.IO("base", "https://bbb.xxx.xxx")
atauexchange.SetBase("https://bbb.xxx.xxx")
untuk mengubah alamat dasar antarmuka platform.XXX_USDT
, gunakan fungsiexchange.SetContractType("swap")
untuk mengatur kode kontrak untukswap
kontrak abadi, menggunakanexchange.IO("cross", true)
bisa beralih keUSDT
- Margined kontrak abadi dalam mode posisi silang.exchange.IO("cross", false)
untuk beralih kembali ke mode posisi terisolasi. default awal adalah mode posisi terisolasi.exchange.IO("dual", true)
untuk beralih ke posisi bidirectional, dan menggunakanexchange.IO("dual", false)
untuk beralih ke posisi satu arah.Huobi
Bertukar pasangan perdagangan khusus:
Ini mendukung token leverage spot Huobi, seperti:LINK*(-3)
; kode yang didefinisikan oleh bursa adalah:link3susdt
, yang ditulis ketika FMZ Quant Trading Platform menetapkan pasangan perdaganganLINK3S_USDT
Aku tidak tahu.
Hal ini juga mungkin untuk beralih pasangan perdagangan dalam strategi:
function main() {
exchange.SetCurrency("LINK3S_USDT")
Log(exchange.GetTicker())
}
def main():
exchange.SetCurrency("LINK3S_USDT")
Log(exchange.GetTicker())
void main() {
exchange.SetCurrency("LINK3S_USDT");
Log(exchange.GetTicker());
}
Futures_OKX ((Futures_OKCoin/Futures_OKEX)
exchange.IO("simulate", true)
Jika Anda ingin beralih ke lingkungan perdagangan nyata, gunakanexchange.IO("simulate", false)
default awal adalah lingkungan perdagangan langsung.exchange.IO("cross", true)
untuk beralih ke mode posisi silang, dan menggunakanexchange.IO("cross", false)
untuk beralih ke mode posisi terisolasi, default awal adalah mode posisi silang.exchange.IO("dual", true)
untuk beralih ke posisi bidirectional, dan menggunakanexchange.IO("dual", false)
untuk beralih ke posisi satu arah.OKX ((OKCoin/OKEX)
exchange.IO("simulate", true)
untuk beralih ke lingkungan demo bot. Jika Anda ingin beralih ke lingkungan perdagangan langsung, gunakanexchange.IO("simulate", false)
untuk beralih ke perdagangan langsung, default awal adalah lingkungan perdagangan langsung.Futures_Bibox
exchange.IO("cross", true)
untuk beralih ke mode posisi silang, dan menggunakanexchange.IO("cross", false)
untuk beralih ke mode posisi terisolasi; default awal adalah mode posisi silang.GetOrders
danGetTrades
fungsi tidak didukung.Futures_Bitget
exchange.IO("cross", true)
untuk beralih ke mode posisi silang, dan menggunakanexchange.IO("cross", false)
untuk beralih ke mode posisi terisolasi.exchange.IO("dual", true)
untuk beralih ke posisi bidirectional danexchange.IO("dual", false)
untuk beralih ke posisi satu arah.Futures_MEXC
exchange.IO("cross", true)
untuk beralih ke mode posisi silang, dan menggunakanexchange.IO("cross", false)
untuk beralih ke mode posisi terisolasi.Futures_GateIO
exchange.IO("cross", true)
untuk beralih ke mode posisi silang, dan menggunakanexchange.IO("cross", false)
untuk beralih ke mode posisi terisolasi.exchange.IO("dual", true)
untuk beralih ke posisi bidirectional danexchange.IO("dual", false)
untuk beralih ke posisi satu arah.exchange.IO("unified", true)
untuk beralih akun terpadu;exchange.IO("unified", false)
untuk beralih kembali ke akun non-unified.Gerbang
exchange.IO("unified", true)
untuk beralih akun terpadu; penggunaanexchange.IO("unified", false)
untuk beralih kembali ke akun non-unified.Futures_Bybit
exchange.IO("cross", true)
untuk beralih ke mode posisi silang, gunakanexchange.IO("cross", false)
untuk beralih ke mode posisi terisolasi.exchange.IO("unified", true)
untuk beralih ke antarmuka margin terpadu, menggunakanexchange.IO("unified", false)
untuk beralih kembali ke antarmuka kontrak normal.exchange.IO("unified", true)
untuk beralih ke antarmuka margin terpadu, danexchange.IO("unified", false)
untuk beralih kembali ke antarmuka kontrak umum.exchange.IO("dual", true)
untuk beralih ke posisi bidirectional danexchange.IO("dual", false)
untuk beralih ke posisi satu arah.Futures_Pionex
exchange.IO("cross", true)
untuk beralih ke mode posisi silang, gunakanexchange.IO("cross", false)
untuk beralih ke mode posisi terisolasi.exchange.IO("dual", true)
untuk beralih ke posisi bidirectional danexchange.IO("dual", false)
untuk beralih ke posisi unidirectional.exchange.IO("dual", true)
untuk beralih ke posisi bidirectional danexchange.IO("dual", false)
untuk beralih ke posisi satu arah.Futures_BitMEX
exchange.IO("cross", true)
untuk beralih ke mode posisi silang, dan menggunakanexchange.IO("cross", false)
untuk beralih ke mode posisi terisolasi.BitMEX
Bitfinex
Futures_Phemex
exchange.IO("dual", true)
untuk beralih ke posisi bidirectional danexchange.IO("dual", false)
untuk beralih ke posisi satu arah.Tas ransel Ini mendukung pengaturan mode STP untuk pesanan spot Backpack:
function main() {
// "Allow" means to allow self-dealing, "RejectTaker" "RejectMaker" "RejectBoth" "Allow"
exchange.IO("selfTradePreventionMode", "Allow")
}
def main():
exchange.IO("selfTradePreventionMode", "Allow")
void main() {
exchange.IO("selfTradePreventionMode", "Allow");
}
Futures_CoinEx
exchange.IO("cross", true)
untuk beralih ke mode posisi silang, dan menggunakanexchange.IO("cross", false)
untuk beralih ke mode posisi terisolasi.Futures_Aevo
xxx
, gunakanexchange.IO("signingKey", "xxx")
Perhatikan bahwa signingKey memiliki batas waktu.exchange.IO
Fungsi mengembalikan kunci publik dari signingKey.Futures_Kraken
multi-collateral
kontrak bursa Futures_Kraken mendukung posisi silang, posisi terisolasi dan pengaturan leverage.
Penggunaanexchange.IO("cross", true)
untuk beralih ke mode posisi silang, dan menggunakanexchange.IO("cross", false)
untuk beralih ke mode posisi terisolasi.Futures_Crypto
accountId
:
Penggunaanexchange.IO("accountId", "xxx")
untuk mengatur akuntansi.Gemini
exchange.IO("subAccount", "xxx")
untuk mengganti sub-akun.Futures_Aevo
Id
Deskripsi:
Perintah pertukaranId
terdiri dari yang sebenarnyaId
Stempel waktu dan urutan yang sebenarnyaId
yang dipisahkan oleh koma dalam bahasa Inggris.exchange.GetOrder(Id)
Karena timestamp pesanan dalam data yang dikembalikan oleh bursa akan berubah dengan status pesanan, jika Anda perlu merekam pesananId
dan informasi lain secara lokal, silahkan memisahkan pesanan yang sebenarnyaId
record.Futures_dYdX
exchange.IO("simulate", true)
Jika Anda ingin beralih ke lingkungan jaringan utama, gunakanexchange.IO("simulate", false)
, default awal adalah lingkungan jaringan utama.exchange.IO("limitFee", 0.001)
Tetapkan tingkat biaya. default adalah 0,001.exchange.IO("secondsOfValidity", 60 * 60 * 24 * 28)
menetapkan periode validitas. default adalah 60 * 60 * 24 * 28.Futures_WOO
exchange.IO("cross", true)
untuk beralih ke mode posisi silang, dan menggunakanexchange.IO("cross", false)
untuk beralih ke mode posisi terisolasi.exchange.IO("dual", true)
untuk beralih ke posisi bidirectional, dan menggunakanexchange.IO("dual", false)
untuk beralih ke posisi satu arah.Futures_KuCoin
exchange.IO("cross", true)
untuk beralih ke mode posisi silang, dan menggunakanexchange.IO("cross", false)
untuk beralih ke mode posisi terisolasi.