Sumber dimuat naik... memuat...

Rangka Kerja Strategi dan Fungsi API

Dalam strategi yang ditulis dalamJavaScript, Pythondancpp, yangSleep()fungsi perlu dipanggil dalam gelung utama strategi tersebut. Ia akan digunakan untuk mengawal kelajuan tindak balik. Dalam perdagangan langsung, ia digunakan untuk mengawal selang pilihan raya strategi, dan juga mengawal kekerapan permintaan untuk mengakses antara muka API bursa.

function onTick(){
    //Write strategy logic here, and it will be called constantly, such as printing ticker information
    Log(exchange.GetTicker())
}

function main(){
    while(true){
        onTick()
        // The function "Sleep" is mainly used to control the polling frequency of cryptocurrency strategies to prevent accessing the exchange API interafce too frequently
        Sleep(60000)
    }
}
def onTick():
    Log(exchange.GetTicker())

def main():
    while True:
        onTick()
        Sleep(60000)
void onTick() {
    Log(exchange.GetTicker());
}

void main() {
    while(true) {
        onTick();
        Sleep(60000);
    }
}

Contoh kerangka asas strategi mata wang kripto:

function onTick(){
    // It is just an example; for all the assets will be used to place orders fast during backtest or in live trading, do not implement the example in live trading
    exchange.Buy(100, 1)
}

function main(){
    while(true){
        onTick()
        // The pause period can be customized in millisecond (1 second = 1000 milliseconds)
        Sleep(1000)
    }
}
def onTick():
    exchange.Buy(100, 1)

def main():
    while True:
        onTick()
        Sleep(1000)
void onTick() {
    exchange.Buy(100, 1);
}

void main() {
    while(true) {
        onTick();
        Sleep(1000);
    }
}

Ambil contoh yang paling mudah, jika saya mahu meletakkan pesanan beli dengan harga 100 dan kuantiti 1 di bursa setiap saat, saya boleh menulisnya seperti ini: Berikut menunjukkan fungsi API yang biasa digunakan dalam pembangunan dan reka bentuk strategi. Untuk penerangan API yang lebih terperinci, sila rujuk:FMZ Quant Trading Platform API Manual.

Fungsi Global

Nama Fungsi Pengenalan Singkat
Versi Mengembalikan
Nombor versi semasa sistem
Tidur Fungsi tidur,
parameter adalah nilai milidetik untuk berehat
IsVirtual Menentukan

persekitaran pelaksanaan, mengembalikan nilai benar untuk menunjukkan backtest persekitaran. Perhatikan.SuratKirim e-mel Perhatikan.Mail_GoAsynchronous versiMailfungsi. Perhatikan.SetErrorFilterKasalahan penapis. log, parameter adalah rentetan ungkapan biasa, log ralat yang sepadan dengan ungkapan biasa ini tidak akan dimuat naik ke logging sistem. ∙∙GetPid- Dapatkan bot. ID proses. Perhatikan.GetLastError- Dapatkan yang terakhir. mesej ralat. Perhatikan.GetCommandKenali strategi. arahan interaksi, tetapan strategi kawalan interaksi boleh ditanyakan: [pengendalian interaksi] ∙∙GetMetaKenali nilai Meta ditulis semasa menjana kod pendaftaran strategi. Perhatikan.PilihPenggunaan mentah akses soket. Perhatikan.HttpQueryKirim permintaan HTTP. Perhatikan.HttpQuery_GoAsynchronous versiHttpQueryfungsi. Perhatikan.EnkodKode data. fungsi. Perhatikan.UnixNano- Dapatkan nanodetik. Stempel masa. Perhatikan.Unix♪ Dapatkan tahap kedua ♪ Stempel masa. Perhatikan.GetOSMendapatkan sistem maklumat. Perhatikan.MD5Mengira MD5 Perhatikan.DBExecPangkalan data. fungsi yang boleh digunakan untuk melaksanakan pernyataan SQL dan melakukan operasi pangkalan data. Perhatikan.UUIDMenghasilkan UUID. Perhatikan.EventLoopMendengarkan peristiwa dan kembali selepas mana-mana websocket boleh dibaca atau tugas serentak sepertiexchange.Go, HttpQuery_Go, dan lain-lain selesai, fungsi ini hanya tersedia untuk perdagangan langsung. Perhatikan._GMengekalkan data secara berterusan, fungsi ini melaksanakan fungsi kamus global yang boleh disimpan. struktur adalah Jadual KV, yang disimpan dalam pangkalan data tempatan docker fail secara kekal. ∙∙_DPemproses timestamp, menukar sebuah timestamp millisecond atau objek tarikh untuk rentetan masa. ∙∙_NFormat titik terapung nombor, contohnya_N(3.1415, 2)akan membuang nilai 3.1415 selepas dua tempat perpuluhan, dan fungsi mengembalikan 3.14 Perhatikan._CUji semula fungsi untuk Perhatikan bahawa, sebagai contoh, toleransi ralat untuk Peraturanexchange.GetTickerfungsi ialah_C(exchange.GetTicker)dan tidak_C(exchange.GetTicker()) | | _SilangFungsi penghakiman silang,_Cross()fungsis nilai pulangan adalah nombor positif menunjukkan tempoh penembusan ke atas, nombor negatif menunjukkan tempoh penembusan ke bawah, dan 0 merujuk kepada harga semasa sama. ∙∙JSONParseParsing JSON, yang boleh dengan betul menguraikan rentetan JSON yang mengandungi nilai yang lebih besar, akan menguraikan lebih besar nilai kepada jenis rentetan.JSONParse()fungsi tidak disokong dalam sistem backtesting.

Fungsi Log

Nama Fungsi Pengenalan Singkat
Log Log output, sokongan untuk menetapkan warna teks log, sokongan untuk menetapkan push, sokongan untuk mencetak imej selepas pengekodan base64
LogProfit Data P&L output, cetak nilai P&L dan lengkung hasil plot berdasarkan nilai P&L
LogProfitReset KosongkanLogProfitoutput fungsi semua log pendapatan, carta pendapatan
LogStatus Maklumat output dalam bar status, sokongan untuk merancang kawalan butang dalam bar status, sokongan untuk mengeluarkan borang
EnableLog Menghidupkan atau mematikan pencatatan maklumat pesanan
Jadual Fungsi carta, berdasarkan perpustakaan carta Highcharts/Highstocks
KLineChart Fungsi lukisan gaya bahasa Pine, yang digunakan untuk lukisan tersuai pada masa pelaksanaan strategi menggunakan gaya lukisan bahasa Pine-seperti
LogReset Hapus log, sokongan untuk mengekalkan sebilangan tertentu log baru-baru ini melalui tetapan parameter
LogVacuum Memulihkan sumber SQLite untuk memulihkan ruang simpanan yang diduduki oleh SQLite apabila memadam data selepas membersihkan log dengan memanggilLogReset()fungsi
console.log Maklumat penyempurnaan output dalam lajur Informasi Penyempurnaan pada halaman perdagangan langsung
console.error Maklumat ralat output dalam lajur Debug Information halaman perdagangan langsung

Fungsi Ticker

Nama Fungsi Pengenalan Singkat
exchange.GetTicker Dapatkan
petikan Tick
exchange.GetDepth Dapatkan
Data kedalaman buku pesanan
exchange.GetTrades Dapatkan
Data perolehan pasaran
exchange.GetRecords Dapatkan
Data garis K
exchange.GetPeriod Dapatkan
Tempoh K semasa
exchange.SetMaxBarLen
Menetapkan panjang maksimum garis K
exchange.GetRawJSON Dapatkan
Kandungan mentah yang dikembalikan oleh permintaan rehat yang paling baru
exchange.GetRate Dapatkan
kadar pertukaran yang ditetapkan semasa
exchange.GetUSDCNY Dapatkan
kadar pertukaran USD/CNY terkini
exchange.SetData Set
data dimuatkan apabila strategi berjalan
exchange.GetData Dapatkan
data dimuat atau data yang disediakan oleh pautan luaran
exchange.GetMarkets Dapatkan
maklumat pasaran pertukaran
exchange.GetTickers Dapatkan
data pasaran agregat dari bursa

Fungsi Transaksi

Nama Fungsi Pengenalan Singkat
exchange.Buy Kirim pesanan beli, kontrak niaga hadapan mesti memberi perhatian kepada arah urus niaga ditetapkan dengan betul, jika arah urus niaga dan fungsi urus niaga tidak sepadan, kesilapan akan dilaporkan!
exchange.Sell Menghantar pesanan jual, kontrak niaga hadapan apabila meletakkan pesanan mesti memberi perhatian kepada arah urus niaga ditetapkan dengan betul, jika arah urus niaga dan fungsi urus niaga tidak sepadan, ia akan melaporkan ralat
exchange.CreateOrder Hantar pesanan dan tentukan jenis urus niaga, arah urus niaga, harga, dan kuantiti melalui parameter
exchange.CancelOrder Batalkan pesanan
exchange.GetOrder Dapatkan maklumat pesanan, struktur data adalahPerintahstruktur
exchange.GetOrders Dapatkan pesanan yang belum diisi dengan struktur dataPerintahArray struktur (senarai)
exchange.GetHistoryOrders Dapatkan pesanan sejarah pasangan dagangan semasa dan kontrak; sokongan menentukan produk dagangan tertentu
exchange.SetPrecision Tetapkan ketepatan harga dan kuantiti pesanan objek pertukaran, selepas menetapkan sistem akan secara automatik mengabaikan redundansi data.
exchange.SetRate Tetapkan kadar pertukaran
exchange.IO Untuk panggilan antara muka lain yang berkaitan dengan objek pertukaran
exchange.Log Keluaran, mencatat log transaksi dan tidak meletakkan pesanan
exchange.Encode Pengiraan penyulitan tandatangan
exchange.Go Fungsi sokongan asynchronous berbilang benang
exchange.GetAccount Dapatkan maklumat akaun
exchange.GetAssets Meminta maklumat aset akaun pertukaran
exchange.GetName Dapatkan nama objek pertukaran
exchange.GetLabel Dapatkan label objek pertukaran
exchange.GetCurrency Dapatkan pasangan dagangan semasa
exchange.SetCurrency Bertukar pasangan dagangan
exchange.GetQuoteCurrency Dapatkan nama mata wang pasangan dagangan semasa

Fungsi Masa Depan

Nama Fungsi Pengenalan Singkat
[exchange.GetPositions(/Syntax-panduan#fun_exchange.getpositions) Dapatkan kedudukan niaga hadapan dengan struktur dataKedudukanArray struktur (senarai)
exchange.SetMarginLevel Tetapkan leverage
exchange.SetDirection Fungsi yang digunakan untuk menetapkanexchange.Buyfungsi,exchange.Sellfungsi untuk menjalankan arahan pesanan kontrak niaga hadapan
exchange.SetContractType Tetapkan kod kontrak, contohnya:exchange.SetContractType("swap")fungsi menetapkan kod kontrak untukswap, yang menetapkan kontrak untuk operasi semasa untuk menjadi kontrak kekal
exchange.GetContractType Dapatkan kod kontrak set semasa
exchange.GetFundings Dapatkan data kadar pembiayaan kontrak kekal pertukaran niaga hadapan semasa

Fungsi Rangkaian

Nama Fungsi Pengenalan Singkat
exchange.SetBase Menetapkan alamat asas antara muka API Exchange yang dibungkus
exchange.GetBase Dapatkan alamat asas antara muka API pertukaran semasa
exchange.SetProxy Tetapkan proksi
exchange.SetTimeout Tetapkan masa lapang protokol rehat

JavaScript Multi-Threading

Platform Perdagangan Kuantum FMZ benar-benar menyokong fungsi pelbagai benangJavaScriptstrategi bahasa dari bawah sistem, dan melaksanakan objektif berikut:

Objek Arahan Catatan
Penggelek Objek global berbilang benang Fungsi ahli:Thread, getThread, mainThread, dan lain-lain
Benang Objek benang Fungsi ahli:peekMessage, postMessage, join, dan lain-lain
ThreadLock Objek kunci benang Fungsi ahli:acquire, release. Mereka boleh dihantar ke persekitaran benang sebagai parameter fungsi pelaksanaan benang.
ThreadEvent Objek peristiwa Fungsi ahli:set, clear, wait, isSet. Mereka boleh dihantar ke dalam persekitaran benang sebagai parameter fungsi pelaksanaan benang.
ThreadCondition Objek keadaan Fungsi ahli:notify, notifyAll, wait, acquire, release. Mereka boleh dihantar ke dalam persekitaran benang sebagai parameter fungsi pelaksanaan benang.
ThreadDict Objek kamus Fungsi ahli:get, set. Mereka boleh dihantar ke persekitaran benang sebagai parameter fungsi pelaksanaan benang.

FMZ Quant Trading Platform Syntax Manual:JavaScript Multi-Threading

Web3

Nama Fungsi Pengenalan Singkat
pertukaran.IO ((abi,...) Daftar untuk ABI
pertukaran.IO ((api, eth,...) Memanggil kaedah Ethernet RPC
pertukaran.IO ((kod,...) fungsi pengekodan
pertukaran.IO ((encodePacked,...) fungsi pengekodan dikodkan
pertukaran.IO ((decode,...) fungsi penyahkodan
pertukaran.IO ((key,...) Digunakan untuk menukar kunci peribadi
pertukaran.IO ((api,...) Kaedah untuk memanggil kontrak pintar
pertukaran.IO (( alamat) Dapatkan alamat dompet yang kini dikonfigurasi
pertukaran.IO ((base,...) Menetapkan nod RPC

Perpustakaan Indikator TA

Nama Fungsi Pengenalan Singkat
TA.MACD Mengira penunjuk purata pengalihan rata-rata
TA.KDJ Pengiraan penunjuk stokastik
TA.RSI Mengira penunjuk kekuatan
TA.ATR Mengira penunjuk turun naik sebenar purata
TA.OBV Pengiraan penunjuk gelombang tenaga
TA.MA Pengiraan penunjuk purata bergerak
TA.EMA Pengiraan penunjuk purata eksponen
TA.BOLL Mengira penunjuk Bollinger Band
TA.Alligator Mengira Petunjuk Garis Buaya
TA.CMF Pengiraan penunjuk aliran wang Chaikin
TA.Highest Mengira harga maksimum tempoh
TA.Lowest Mengira harga minimum tempoh
TA.SMA Mengira penunjuk purata mudah bergerak

Talib Indikator Perpustakaan

Perpustakaan penunjuk talib mempunyai banyak penunjuk perdagangan, seperti:talib.CDL2CROWSAnda boleh melompat ke manual sintaks untuk maklumat spesifik.

Fungsi Masuk Strategi Perpustakaan Templat