Sumber daya yang dimuat... Pemuatan...

Kerangka Strategi dan Fungsi API

Dalam strategi yang ditulis dalamJavaScript, Pythondancpp, yangSleep()fungsi perlu dipanggil dalam loop utama strategi tersebut. Ini akan digunakan untuk mengontrol kecepatan backtracking. Dalam perdagangan langsung, ini digunakan untuk mengontrol interval polling strategi, dan juga mengontrol frekuensi permintaan untuk mengakses antarmuka 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 dasar strategi cryptocurrency:

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 sederhana, jika saya ingin menempatkan pesanan beli dengan harga 100 dan jumlah 1 di bursa setiap detik, saya bisa menulisnya seperti ini: Berikut ini menunjukkan fungsi API yang umum digunakan dalam pengembangan dan desain strategi. Untuk deskripsi API yang lebih rinci, silakan lihat:FMZ Quant Trading Platform API Manual.

Fungsi Global

Nama Fungsi Pambuka Singkat
Versi Mengembalikan
nomor versi sistem saat ini
Tidur Fungsi tidur,
parameter adalah nilai milidetik untuk berhenti
IsVirtual Menentukan

lingkungan eksekusi, mengembalikan nilai benar untuk menunjukkan backtest lingkungan. Percayalah.SuratKirim email. Percayalah.Mail_GoAsinkron Versi dariMailfungsi. Percayalah.SetErrorFilterKasalahan Filter log, parameter adalah string ekspresi reguler, log kesalahan yang cocok dengan ekspresi reguler ini tidak akan diunggah ke logging sistem. Percayalah.GetPid- Dapatkan bot. proses ID. Percayalah.GetLastError♪ Dapatkan yang terakhir ♪ Pesan kesalahan. Percayalah.GetCommand♪ Dapatkan strategi ♪ perintah interaksi, pengaturan strategi kontrol interaksi dapat ditanyakan: [interaksi kontrol] Percayalah.GetMeta♪ Dapatkan nilai dari Meta ditulis saat menghasilkan kode pendaftaran strategi. Percayalah.Pilih♪ Digunakan untuk mentah akses soket. Percayalah.HttpQueryKirim permintaan Http. Percayalah.HttpQuery_GoAsinkron Versi dariHttpQueryfungsi. Percayalah.MengenkodeKode data. fungsi. Percayalah.UnixNano♪ Dapatkan nanodetik Stempel waktu. Percayalah.Unix♪ Dapatkan tingkat kedua ♪ Stempel waktu. Percayalah.GetOS♬ Mendapatkan Sistem informasi. Percayalah.MD5Perhitungkan MD5. Percayalah.DBExecBasis data. fungsi yang dapat digunakan untuk mengeksekusi pernyataan SQL dan melakukan operasi database. Percayalah.UUIDMenghasilkan UUID. Percayalah.EventLoopMendengarkan peristiwa dan kembali setelah setiap websocket dapat dibaca atau tugas bersamaan sepertiexchange.Go, HttpQuery_Go, dll selesai, fungsi ini hanya tersedia untuk perdagangan langsung. Percayalah._GMenghemat data secara terus menerus, fungsi ini mengimplementasikan fungsi kamus global yang dapat disimpan. struktur adalah tabel KV, yang disimpan di database lokal docker file secara permanen. Percayalah._DPemrosesan timestamp, konversi sebuah timestamp millisecond atau objek tanggal ke string waktu. Percayalah._NPemformatan titik terapung nomor, misalnya_N(3.1415, 2)akan menghapus nilai 3.1415 setelah dua tempat desimal, dan fungsi mengembalikan 3,14 Percayalah._CCoba lagi fungsi untuk Perhatikan bahwa, misalnya, toleransi kesalahan untuk yangexchange.GetTickerfungsi adalah_C(exchange.GetTicker)dan tidak_C(exchange.GetTicker()) | | _SilangFungsi penghakiman silang,_Cross()nilai kembali fungsis adalah angka positif menunjukkan periode penetrasi ke atas, angka negatif menunjukkan periode penetrasi ke bawah, dan 0 mengacu pada harga saat ini dari sama. Percayalah.JSONParseParsing JSON, yang dapat dengan benar menganalisis string JSON yang berisi nilai yang lebih besar, akan menganalisis lebih besar nilai ke jenis string.JSONParse()fungsi tidak didukung dalam sistem backtesting.

Fungsi Log

Nama Fungsi Pambuka Singkat
Log Output log, dukungan untuk mengatur warna teks log, dukungan untuk mengatur push, dukungan untuk mencetak gambar setelah pengkodean base64
LogProfit Data P&L output, nilai P&L cetak dan kurva hasil plot berdasarkan nilai P&L
LogProfitReset KosongkanLogProfitoutput fungsi semua log laba, grafik laba
LogStatus Informasi output di bilah status, dukungan untuk merancang kontrol tombol di bilah status, dukungan untuk output formulir
EnableLog Aktifkan atau matikan pencatatan informasi pesanan
Grafik Fungsi grafik, berdasarkan perpustakaan grafik Highcharts/Highstocks
KLineChart Fungsi menggambar gaya bahasa Pine, yang digunakan untuk menggambar khusus pada strategi runtime menggunakan gaya menggambar bahasa Pine-like
LogReset Hapus log, dukungan untuk mempertahankan sejumlah log terbaru melalui pengaturan parameter
LogVacuum Mendapatkan kembali sumber daya SQLite untuk mendapatkan kembali ruang penyimpanan yang diduduki oleh SQLite ketika menghapus data setelah menghapus log dengan memanggilLogReset()fungsi
console.log Informasi debugging output di kolom Informasi Debug di halaman perdagangan langsung
console.error Informasi kesalahan ditampilkan di kolom Informasi Debug dari halaman perdagangan langsung

Fungsi Ticker

Nama Fungsi Pambuka Singkat
exchange.GetTicker Dapatkan
Kutipan Tick
exchange.GetDepth Dapatkan
Data kedalaman buku pesanan
exchange.GetTrades Dapatkan
data omset pasar
exchange.GetRecords Dapatkan
Data garis K
exchange.GetPeriod Dapatkan
periode K saat ini
exchange.SetMaxBarLen
Menetapkan panjang maksimum garis K
exchange.GetRawJSON Dapatkan
isi mentah yang dikembalikan oleh permintaan istirahat terbaru
exchange.GetRate Dapatkan
nilai tukar yang ditetapkan saat ini
exchange.GetUSDCNY Dapatkan
Nilai tukar USD/CNY terbaru
exchange.SetData Set
data yang dimuat saat strategi berjalan
exchange.GetData Dapatkan
data yang dimuat atau data yang disediakan oleh tautan eksternal
exchange.GetMarkets Dapatkan
informasi pasar valuta
exchange.GetTickers Dapatkan
data pasar agregat dari bursa

Fungsi Transaksi

Nama Fungsi Pambuka Singkat
exchange.Buy Kirimkan pesanan beli, kontrak berjangka harus memperhatikan arah transaksi ditetapkan dengan benar, jika arah transaksi dan fungsi transaksi tidak cocok, kesalahan akan dilaporkan!
exchange.Sell Kirimkan pesanan jual, kontrak berjangka ketika menempatkan pesanan harus memperhatikan arah transaksi ditetapkan dengan benar, jika arah transaksi dan fungsi transaksi tidak cocok, itu akan melaporkan kesalahan
exchange.CreateOrder Kirim pesanan dan tentukan jenis transaksi, arah transaksi, harga, dan kuantitas melalui parameter
exchange.CancelOrder Batalkan pesanan
exchange.GetOrder Dapatkan informasi pesanan, struktur data adalahPerintahstruktur
exchange.GetOrders Dapatkan pesanan yang belum terisi dengan struktur dataPerintahStruct array (daftar)
exchange.GetHistoryOrders Dapatkan pesanan historis dari pasangan perdagangan saat ini dan kontrak; dukungan menentukan produk perdagangan tertentu
exchange.SetPrecision Atur presisi harga dan jumlah pesanan dari objek pertukaran, setelah mengatur sistem akan secara otomatis mengabaikan redundansi data.
exchange.SetRate Atur nilai tukar
exchange.IO Untuk panggilan antarmuka lainnya yang terkait dengan objek pertukaran
exchange.Log Output, mencatat log transaksi dan tidak menempatkan pesanan
exchange.Encode Perhitungan enkripsi tanda tangan
exchange.Go Fungsi pendukung asinkron multi-threaded
exchange.GetAccount Dapatkan informasi akun
exchange.GetAssets Minta informasi aset rekening pertukaran
exchange.GetName Dapatkan nama objek pertukaran
exchange.GetLabel Dapatkan label objek pertukaran
exchange.GetCurrency Dapatkan pasangan perdagangan saat ini
exchange.SetCurrency Pergantian pasangan perdagangan
exchange.GetQuoteCurrency Dapatkan nama mata uang dari pasangan perdagangan saat ini

Fungsi Masa Depan

Nama Fungsi Pambuka Singkat
[exchange.GetPositions(/Syntax-guide#fun_exchange.getpositions) Dapatkan posisi berjangka dengan struktur dataPosisiStruct array (daftar)
exchange.SetMarginLevel Tetapkan leverage
exchange.SetDirection Fungsi yang digunakan untuk mengaturexchange.Buyfungsi,exchange.Sellfungsi untuk melaksanakan arah pesanan kontrak berjangka
exchange.SetContractType Tentukan kode kontrak, misalnya:exchange.SetContractType("swap")fungsi menetapkan kode kontrak untukswap, yang menetapkan kontrak untuk operasi saat ini untuk menjadi kontrak abadi
exchange.GetContractType Dapatkan kode kontrak set saat ini
exchange.GetFundings Dapatkan data tingkat pembiayaan kontrak abadi bursa berjangka saat ini

Fungsi Jaringan

Nama Fungsi Pambuka Singkat
exchange.SetBase Menentukan alamat dasar antarmuka Exchange API yang dibungkus
exchange.GetBase Dapatkan alamat dasar antarmuka API pertukaran saat ini
exchange.SetProxy Atur proxy
exchange.SetTimeout Setel waktu istirahat protokol

JavaScript Multi-Threading

FMZ Quant Trading Platform benar-benar mendukung fungsi multi-threaded dariJavaScriptstrategi bahasa dari bawah sistem, dan menerapkan tujuan berikut:

Objek Panduan Pengamatan
Pembuatan thread Objek global multi-threaded Fungsi anggota:Thread, getThread, mainThread, dll.
Benang Objek thread Fungsi anggota:peekMessage, postMessage, join, dll.
ThreadLock Objek penguncian benang Fungsi anggota:acquire, release. Mereka dapat diteruskan ke lingkungan thread sebagai parameter dari fungsi eksekusi thread.
ThreadEvent Objek acara Fungsi anggota:set, clear, wait, isSet. Mereka dapat diteruskan ke lingkungan thread sebagai parameter dari fungsi eksekusi thread.
ThreadKondisi Objek kondisi Fungsi anggota:notify, notifyAll, wait, acquire, release. Mereka dapat diteruskan ke lingkungan thread sebagai parameter dari fungsi eksekusi thread.
ThreadDict Objek kamus Fungsi anggota:get, set. Mereka dapat diteruskan ke lingkungan thread sebagai parameter dari fungsi eksekusi thread.

FMZ Quant Trading Platform Syntax Manual:JavaScript Multi-Threading

Web3

Nama Fungsi Pambuka Singkat
pertukaran.IO ((abi,...) Daftar untuk ABI
pertukaran.IO ((api, eth,...) Menelpon metode Ethernet RPC
pertukaran.IO ((enkode,...) fungsi pengkodean
exchange.IO ((encodePacked,...) fungsi pengkodean dikodekan
pertukaran.IO ((decode,...) fungsi dekoding
pertukaran.IO ((key,...) Digunakan untuk beralih kunci pribadi
pertukaran.IO ((api,...) Metode untuk memanggil kontrak pintar
pertukaran.IO (( alamat) Dapatkan alamat dompet yang saat ini dikonfigurasi
pertukaran.IO ((base,...) Menetapkan node RPC

Perpustakaan Indikator TA

Nama Fungsi Pambuka Singkat
TA.MACD Menghitung indikator rata-rata eksponen rata-rata divergensi
TA.KDJ Perhitungan indikator stokastik
TA.RSI Menghitung indikator kekuatan
TA.ATR Menghitung indikator volatilitas rata-rata yang sebenarnya
TA.OBV Perhitungan indikator gelombang energi
TA.MA Perhitungan indikator rata-rata bergerak
TA.EMA Perhitungan indikator rata-rata eksponensial
TA.BOLL Menghitung indikator Bollinger Band
TA.Alligator Hitung Indikator Garis Buaya
TA.CMF Perhitungan Indikator Aliran Uang Chaikin
TA.Highest Menghitung harga maksimum periode
TA.Lowest Menghitung harga minimum periode
TA.SMA Menghitung indikator rata-rata bergerak sederhana

Talib Indikator Perpustakaan

Perpustakaan indikator talib memiliki banyak indikator perdagangan, sepertitalib.CDL2CROWSAnda dapat melompat ke manual sintaksis untuk spesifikasi.

Fungsi Masuk Strategi Perpustakaan Templat