[TOC]
Cari FAQ untuk tampilan mudah. Bagaimana cara mencari kata kunci pada posting?
PenggunaanCtrl + f
untuk membuka halaman dan mencari; masukkan kata kunci, misalnya:
Saat ini FMZ International Station hanya mendukung bisnis cryptocurrency. Komoditas berjangka, sekuritas saham dan bisnis lainnya didukung oleh stasiun domestik FMZ, Anda dapat masuk:https://www.fmz.cn.
Weixin:
Kenapa?beli satu hargadanmenjual satu hargadiperoleh denganGetTicker
dan yang diperoleh denganGetDepth
Apakah mereka berbeda?
Data dariGetTicker
danGetDepth
Data yang diperoleh oleh cetrain mungkin tidak dapat diperoleh pada saat yang sama. ada keterlambatan waktu cetrain, sehingga data akan berubah.GetTicker
akan sedikit lebih cepat, untuk data kurang dari data yang diperoleh olehGetDepth
.
exchang.GetOrders
mendapatkan perintah yang belum selesai, jadi di mana untuk mendapatkan perintah yang dieksekusi?
Ada API lain untuk menanyakan perintah, yaitu,exchange.GetOrder
Ini menanyakan pesanan dari semua jenis, sesuai denganID
Masukkan urutanID
Oleh karena itu, untuk mendapatkan perintah yang dieksekusi, Anda perlu melihat apakah platform menyediakan jenis antarmuka; antarmuka yang disediakan oleh setiap platform cukup berbeda.
Di dalamJavaScript
Strategi, hasil dari time string konversi ke timestamp adalah salah.
Anda perlu mempertimbangkan zona waktu dalam pengaturan waktu sistem.
Mengapa harga buka dan harga tutup yang saya cetak sama?
1.Mungkin pada saat Anda mencetak, memang tidak ada perdagangan di platform, sehingga harga buka, tutup, tertinggi dan terendah BAR selalu sama. 2.Anda perlu memeriksa apakah BAR yang Anda amati adalah BAR terakhir, karena harga buka, tutup, tertinggi dan terendah dari BAR terakhir adalah sama.
Kesalahan verifikasi waktu dengan server, sepertiSignature not valid:Invalid submission time or incorrect time format
Kesalahan ini adalah masalah dari sistem operasi lama sepertiwindows2000/2003/XP
, silakan lihat:
Kami sarankan Anda menggunakanLinux
server, atau Anda dapat menginstal perangkat lunak sinkronisasi waktu di iniwindows
sistem di mana kesalahan terjadi, untuk menyinkronkan waktu pada frekuensi tinggi dan mencegah kesalahan verifikasi waktu terjadi.
ATR
(TR
) dari Mylanguage dan yang dihitung olehTA
/talib
Perpustakaan?Alasannya adalah bahwa metode perhitungan indikator Mylanguage tidak konsisten dengan algoritma yang mendasariTA
/talib
library. keduanya benar, tapi algoritmanya berbeda.MACD
, beberapa menggunakan satuDIF-DEA
, dan beberapa menggunakan dua kaliDIF-DEA
, yang keduanya benar.
Apa yang diwakili, jika nama platform adalahFutures_Esunny
?
Ini mewakili objek pertukaran dariProtokol Esunny, yang dapat dikembalikan oleh fungsiexchange.GetName()
Aku tidak tahu.
Saat ini, stasiun internasional FMZ hanya mendukung bisnis cryptocurrency. Komoditas berjangka, sekuritas saham dan bisnis lainnya didukung oleh stasiun domestik FMZ, Anda dapat masuk:https://www.fmz.cn.
#EXPORTTEST...#END
menyatakan variabel dalam referensi blok kode multi periode.REF
digunakan ketika referensi dalam strategi, data akan direferensikan sesuai dengan periode saat ini, yang berbeda dari apa yang Anda harapkan.Data multi-periode yang Anda butuhkan akan diproses di#EXPORTTEST...#END
, sehingga Anda dapat langsung menggunakannya secara eksternal.
Aku tidak bisa menemukan dokumentasi FMZ API.
Anda dapat langsung memasukkan alamat halaman:https://www.fmz.com/api, atau klik link seperti gambar berikut:
Kenapa?MACD
Dihitung oleh FMZ berbeda dari yang dihitung oleh platform?
Ketika membandingkan, perlu diperhatikan apakah periode garis K sama, apakahMACD
parameter indikator yang sama, periode waktu yang sama, dan simbol yang sama.MACD
; beberapa adalahDIF-DEA
, dan beberapa adalah2*(DIF-DEA)
; DIF
danDEA
harus konsisten.
Apa yang terhubung ke nomor K-line yang diperoleh, ketika data K-line riwayat diperoleh?
Saat mengaksesexchange.GetRecords
Dalam hal ini, docker akan memanggil antarmuka untuk mendapatkan data sejarah perdagangan platform ketika strategi memanggil.exchange.GetRecords
. antarmuka data mensintesis K-line sesuai dengan sejarah perdagangan). K-line yang diterima oleh docker akan terus-menerus dikumpulkan bersama-sama, dan perlu untuk mengaksesexchange.GetRecords
antarmuka dengan frekuensi tertentu, jika tidak, kontinuitas data dapat terpengaruh.
Saya menemukan bahwa memanggil fungsiexchange.Buy
Hanya kembaliID
dalam dokumentasi API, tapi mengapa ia mengembalikan begitu banyak informasi ketika saya mengoperasikan?
Fungsi yang dapat menghasilkan ekspor log dalam fungsi FMZ API, sepertiLog
, exchange.Buy
, exchange.CancelOrder
, dll, semua dapat diikuti oleh beberapa parameter tambahan setelah parameter yang diperlukan.exchange.CancelOrder(orders[i].Id, orders[j])
tambahan mengekspor informasi pesanan ketika membatalkanorders[j]
.
Bagaimana melakukan pesan WeChat Push di bot?
WeChat push hanya berlaku pada bot; tambahkan'@'
di akhirLog
fungsi, dan kemudian informasi cetak dariLog
dapat didorong; Anda dapat menemukan rincian dalam dokumen API di:https://www.fmz.com/api#LogSaat ini FMZ International Station hanya mendukung bisnis cryptocurrency. Komoditas berjangka, sekuritas saham dan bisnis lainnya didukung oleh stasiun domestik FMZ, Anda dapat masuk:https://www.fmz.cnAku tidak tahu.
Push WeChat hanya didukung di stasiun domestik FMZ.
Dapatkah komoditas berjangka menggunakan kontrak utama kontinu dan kontrak indeks?
Ini mendukung kontrak kontinu utama dan kontrak indeks komoditas berjangka. Saat ini FMZ International Station hanya mendukung bisnis cryptocurrency. Komoditas berjangka, sekuritas saham dan bisnis lainnya didukung oleh stasiun domestik FMZ, Anda dapat masuk:https://www.fmz.cn.
var records = exchange.GetRecords(PERIOD_D1)
apa yang harus saya tulis jika saya ingin mendapatkan data K-line kontrak harian tertentu, seperti data K-line RB atau I?
Kau harus mengaturkode kontraksebelum mendapatkan TAQ (setel kode kontrak setidaknya sekali sejak program dimulai).SetContractType("rb1805")
, Atur kontrak yang dioperasikan saat ini kerb1805
Hubungi lagi API yang mendapatkan TAQ, Anda bisa mendapatkan data TAQ dari kontrak rb1805.
Saat ini FMZ International Station hanya mendukung bisnis cryptocurrency. Komoditas berjangka, sekuritas saham dan bisnis lainnya didukung oleh stasiun domestik FMZ, Anda dapat masuk:https://www.fmz.cn.
Bagaimana cara menulis kode kontrak komoditas berjangka?
Anda dapat merujuk pada dokumentasi FMZ API. Saat ini FMZ International Station hanya mendukung bisnis cryptocurrency. Komoditas berjangka, sekuritas saham dan bisnis lainnya didukung oleh stasiun domestik FMZ, Anda dapat masuk:https://www.fmz.cn.
Akanexchange.GetAccount
gagal mendapatkan informasi karena jaringan dan masalah lainnya, dan apakah lapisan bawah sistem FMZ sudah memproses kegagalan? atau apakah pengguna harus menangani kegagalan permintaan itu sendiri? mengapa pejabat FMZ tidak menanganinya? bukankah lebih nyaman bagi pengguna untuk menggunakannya dengan cara ini?
Akan ada kegagalan yang mengharuskan pengguna untuk melakukan toleransi kesalahan. lapisan bawah FMZ tidak memproses data, dan data yang dikembalikan kepada pengguna adalah data yang tidak diproses. Metode toleransi kesalahan atau logika tertentu dirumuskan oleh strategi tertentu. Karena jika diproses, hal itu dapat mempengaruhi keputusan pengguna, dan keputusan akan diproses oleh strategi, yang secara khusus mengacu padainformasi kesalahan penyaringanataucoba lagidan metode pengolahan lainnya.
Apa unit volume pesanan kontrak OKEX? Apakah jumlah koin atau jumlah kontrak?
Volume pesanan kontrak OKEX dihitung dengan jumlah kontrak; misalnya,exchange.Buy(1000,1)
berarti menempatkan pesanan dengan harga 1000, dengan jumlah kontrak 1.
Apakah itu berarti untuk membuat perintah batas ketika saya meneleponexchange.Sell
danexchange.Buy
di FMZ?
Untuk rincian, Anda perlu melihat parameter pertama yang diteruskan (parameter pertama adalah harga pesanan).-1
Pengertian volume beli dan volume jual entah bagaimana berbeda (parameter kedua), dan jika harga tidak-1
Dalam sebagian besar antarmuka pesanan platform spot, volume pesanan dari pesanan beli pasar adalahJumlah asetTidakjumlah koinDalam antarmuka pesanan dari platform berjangka cryptocurrency, volume pesanan umumnya adalah jumlah bulat dari jumlah kontrak.
Periksa antarmuka perintah:https://www.fmz.com/api#exchange.buyprice-amount https://www.fmz.com/api#exchange.sellprice-amount
Fungsi Mail
Mail("smtp.qq.com", "xxxx@qq.com", "xxx", "xxx@qq.com", "test title", "test body")
Akses ke QQ
Parameter templat untuk Pine language, Mylanguage: jumlah periode maksimum variabel mempengaruhi perhitungan indikator
Secara default,
Periksa area pengeditan kode strategi untuk setiap permintaan kesalahan. Periksa apakah ada nama variabel yang hilang saat mendeklarasikan variabel, seperti lupa menulis nama dalam
BITMEX
429 kesalahan,{"error":{"message":"Rate limit exceeded retry in 1seconds……"}}
Ketika Anda melihat kesalahan 429, itu berarti frekuensi mengakses platform terlalu tinggi. Anda perlu memperbesar interval jajak pendapat, untuk mengurangi frekuensi mengakses antarmuka.
Only support CTP
kesalahan
Itu berarti kau memanggilKomoditas berjangka CTPantarmuka atau perpustakaan distrategi cryptocurrencyAku tidak tahu. Saat ini FMZ International Station hanya mendukung bisnis cryptocurrency. Komoditas berjangka, sekuritas saham dan bisnis lainnya didukung oleh stasiun domestik FMZ, Anda dapat masuk:https://www.fmz.cn.
Bittrex
kesalahan di bot:{"success":false,"message":"NOT_ALLOWED","result":null}
Ini menunjukkan platform membatasi hak istimewa. Anda dapat masuk ke situs web dariBittrex
, dan lihat apakah perlu untuk memeriksa informasi, seperti perjanjian pengguna.
Kesalahan operasi bot:TypeError:value has no property at
Karena kesalahan yang dilaporkan dalam backtest dan bot berbeda, kesalahan ini tidak dapat dideteksi selama backtest.
unable to open database
kesalahan
Jika sistemMac OS
Sistem, perhatikan untuk memeriksa apakah itu adalah masalah izin.
Atau, itu bisa menjadi kesalahan yang disebabkan oleh ruang penuh dari hard drive perangkat, yang menonaktifkan pembuatan file database bot.
Kesalahan:do not support the function
Ini mengacu pada situasi bahwa objek pertukaran yang ditambahkan selama backtest adalah platform spot cryptocurrency, tetapi fungsi API berjangka dipanggil dalam kode.
Kesalahan:in SetCurrency OSError: exception: access violation reading 0x000000FCF25F0000
Dalam cryptocurrency berjangkaPython
strategi, sistem backtest menggunakan docker pribadi, dan pasangan perdagangan ditukar dalam kode, yang menyebabkan kesalahan dilaporkan.
Alasannya adalah bahwa sistem backtest tidak mendukung backtest berjangka cryptocurrency untuk beralih pasangan perdagangan.
Kesalahan
Python
laporan backtest mesin lokalEOFerror
.
EOF
kesalahan adalah kesalahan di akhir backtest. menangkap pengecualian cukup dan Anda dapat memanggilnya di mana sajaPython
didukung.
# encoding: utf-8
'''backtest
start: 2021-08-30 00:00:00
end: 2022-09-05 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
'''
from fmz import *
task = VCtx(__doc__) # initialize backtest engine from __doc__
def main():
while not exchange.IO("status"):
Sleep(1000)
exchange.SetContractType("swap")
while True:
bars_1min = _C(exchange.GetRecords, PERIOD_M1) # Get 1min K-line
print(len(bars_1min))
_CDelay(2000)
# Calling the main function
try:
main()
except:
print(task.Join(False))
Mylanguage melibatkan kesalahan yang sangat tersembunyi dari perhitungan periode, dan nilai yang dihitung mungkin N/A, seperti contoh berikut:
Alasannya adalah bahwa parameter periode perhitungan melebihi rentang data, sehingga perhitungan nilai N/A. Metode pemrosesan:
Sebuah kesalahan terjadi di Mylanguage: kesalahan parsing, dan strategi hanya memiliki kode sederhana, jumlah baris kesalahan sangat panjang, dan penyebab kesalahan tidak dapat ditemukan.
Ini mungkin kesalahan yang disebabkan oleh masalah templat awal Mylanguage. Solusi: 1. Ekspor strategi sebagai file xml. 2. Buat strategi Mylanguage kosong baru. 3. Impor file xml ke dalam strategi kosong yang baru dibuat. 4. Tambahkan bot untuk diuji.
Kesalahan:fatal error:unexpected signal during runtime execution...go routine 11[syscall,locked to thread]
Periksa apakah strategi yang ditulis dalamC++
menggunakan penunjuk nol, dan menyarankan Anda menggunakan mode fault-tolerant backtest untuk mendeteksi.
Kesalahan panggilanexchange.SetMarginLevel(10)
: Futures_OP 0:403:{"error":{"message":"Access Denied","name":"HTTPError"}}
Periksa apakah hak terkait dariAPI KEY
yang diterapkan oleh platform di.
Kesalahan backtest:symbol not set
Ini karena Anda tidak mengatur kontrak dalam kode selama backtest platform berjangka; Anda dapat merujuk padaexchange.SetContractType
fungsi dalam dokumentasi API.
KesalahanERR_INVALID_POSITION
Jika sistem backtest melaporkan kesalahan, biasanya itu adalah kesalahan yang disebabkan oleh kesalahan menulis strategi. Jika Anda mencoba untuk menempatkan pesanan untuk menutup posisi ketika tidak ada posisi atau jumlah posisi tidak cukup, kesalahan akan dilaporkan. Periksa apakah ada pembekuan posisi yang disebabkan oleh pesanan yang belum selesai.
KesalahanERR_INVALID_ORDER
Jika sistem backtest melaporkan kesalahan, biasanya itu adalah kesalahan yang disebabkan oleh kesalahan menulis strategi. Anda harus memperhatikan untuk memeriksa harga pesanan (futur cryptocurrency dalam sistem backtest sementara tidak mendukung pesanan pasar), apakah volume pesanan adalah 0, angka negatif atau pecahan desimal (volume pesanan kontrak berjangka dihitung dengan jumlah kontrak, yang adalah bilangan bulat).
KesalahanERR_INSUFFICIENT_ASSET
Jika backtest melaporkan kesalahan, biasanya menunjukkan jumlah aset yang tersedia sudah tidak cukup untuk menempatkan pesanan saat ini.
Binding Error:Cannot passnon-string to std::string
Informasi kesalahan
Dalam kode strategi, kesalahan umumnya disebabkan oleh salah sue dari nama atribut (menggunakan atribut yang tidak didefinisikan).
Kesalahan{"status":6004,"msg":"timestamp is out of range"}
Kesalahan ini berarti timestamp server berada di luar kisaran, dan Anda perlu memperbarui timestamp server, tanpa penyimpangan besar.
Kesalahantimeout
Kesalahan ini adalah kesalahan timeout, yang menunjukkan kesalahan yang dilaporkan karena tidak mendapatkan data respons dari antarmuka platform untuk jangka waktu tertentu setelah mengakses antarmuka platform. Secara umum, ini adalah masalah akses jaringan dari sistem di mana docker terletak (banyak masalah disebabkan oleh dinding), atau masalah antarmuka platform. Solusi umum: gunakan server luar negeri untuk menjalankan docker.
Kesalahan dalam bot yang berjalan setelah menulis strategi:syntax error invalid label
Sumber kesalahan:
function main(){
if(1){
continue
}
}
//That will cause the error during operation
continue
pernyataan harus digunakan dalam loop!
Kesalahan:(CTP_T@9999)Error:140CTP:change the password when first log in, and please log in again after changing
Kata sandi apa yang dimodifikasi?
Di sini menunjukkan untuk mengubahsimnow
kata sandi akun; ketika Anda menggunakan akun perusahaan berjangka tertentu untuk masuk, Anda juga perlu memodifikasi kata sandi untuk login pertama (akun baru memiliki kata sandi awal, dan Anda tidak dapat menggunakan akun tanpa memodifikasi kata sandi awal).
Saat ini FMZ International Station hanya mendukung bisnis cryptocurrency. Komoditas berjangka, sekuritas saham dan bisnis lainnya didukung oleh stasiun domestik FMZ, Anda dapat masuk:https://www.fmz.cn.
Kesalahan:400:{"error":{"message":"Nonce is not increasing.This nonce:1523891993165,last nonce:1523891993165","name":"HTTPError"}}
Ini adalahnonce
kesalahan verifikasi, dan informasi kesalahan yang terkait dengannonce
Anda dapat mencoba menyinkronkan waktu dari sistem di mana bot docker berada.
KesalahanSecretkey decrypt failed
Kesalahan menunjukkan kegagalan dekripsiAPI KEY
. Periksa apakah Anda mengubah kata sandi akun FMZ setelah Anda mengkonfigurasiAPI KEY
Cobalah untuk mengkonfigurasiAPI KEY
pada halaman
Posisi berjangka komoditas terbuka Kesalahan:CTP: only close position
Ada banyak alasan mengapa laporan menunjukkan statuscan only close position
. Mungkin akun telah dibekukan (tidak digunakan untuk waktu yang lama, lebih dari 1 tahun), atau mungkin masuk ke saluran yang salah (CTP memiliki banyak kursi). Solusi: hubungi perusahaan berjangka di mana Anda membuka akun untuk memeriksa status akun untuk menentukan masalah.
Saat ini FMZ International Station hanya mendukung bisnis cryptocurrency. Komoditas berjangka, sekuritas saham dan bisnis lainnya didukung oleh stasiun domestik FMZ, Anda dapat masuk:https://www.fmz.cn.
Apa alasannya jika kesalahan:GetOrder(455284455):Error:invalid order id or order canceled.
selalu diangkat ketika aku memanggilexchange.Getorder
?
Arti harfiah: pesanan telah dibatalkan atau ID pesanan tidak valid. Alasan: di beberapa platform, jika Anda membatalkan pesanan, informasi pesanan tidak akan dipertahankan, dan akan dihilangkan.exchange.GetOrder
, kesalahan akan dilaporkan, atau ID pesanan yang Anda kueri awalnya salah.
Kesalahan: batas tarif, 429 Terlalu Banyak Permintaan
rate limit, 429 Too Many Requests
menunjukkan frekuensi mengakses antarmuka platform terlalu tinggi, sehingga Anda perlu mengurangi frekuensi mengakses antarmuka platform.
Selalu menaikkanInvalid order price/amount
dalam bot dan backtest
Kesalahan semacam ini disebabkan oleh harga yang salah dan volume order yang dilewati saat memanggil fungsi orderexchange.Buy
atauexchange.Sell
Untukvolume pesanan negatif, 0dan metode deteksi kesalahan lainnya: Anda dapat menghubungiLog
untuk mengekspor parameter harga atau parameter volume yang akan dilewati sebelum menempatkan pesanan olehexchange.Buy
atauexchange.Sell
, untuk menentukan masalahnya.
Apa jenis kesalahanGetOrders:400:{"code":-1121,"msg":"Invalid symbol."}
?
Kesalahan berarti:pasangan perdagangan yang tidak sahAnda perlu memeriksa apakah pengaturan pasangan perdagangan salah.
Apa artinya jika ada beberapa kode kesalahan ketika log bot melaporkan kesalahan?
Anda dapat melihat penjelasan untuk kode kesalahan yang dikembalikan oleh antarmuka platform yang berbeda dalam dokumentasi API platform tersebut.
Waktu cetak kurva hasil pasar nyata dari bahasa Pine dan Mylanguage Cetak secara teratur sesuai dengan pengaturan pada parameter template bahasa Pine/Mylanguage, dan cetak ketika strategi ditutup sepenuhnya.
Mylanguage bot mencetak jumlah garis pemicu sinyal, tapi tidak ada operasi perintah.
Mungkin pengaturan parameter templat Mylanguage tidak sesuai, seperti presisi, volume pesanan minimum dan parameter lainnya. alasannya adalah bahwa lapisan pemicu sinyal dinilai berhasil, dan pada lapisan eksekusi perdagangan, dinilai bahwa pesanan tidak dapat ditempatkan karena beberapa masalah dengan parameter, dan tidak ada pesanan yang benar-benar ditempatkan. Anda dapat melihat posting terkait Mylanaguage:https://www.fmz.com/bbs-topic/9788 https://www.fmz.com/bbs-topic/9791
Mengapa bot tidak dapat menerima sinyal permintaan ketika saya sudah mengatur peringatan url webhook di Tradingview?
Periksa apakah API KEY benar di alamat webhook url. API KEY di sini mengacu pada KEY API diperpanjang FMZ, yang ditetapkan dalam pengaturan akun di sudut kanan atas FMZ. Periksa apakah ID bot di url webhook diisi dengan benar. Periksa apakah hak istimewa API KEY diperpanjang FMZ diberikan dengan benar. Hak istimewa dipisahkan dengan koma dalam bahasa Inggris. default adalah *, yang berarti semua hak istimewa. Jangan menulis nama fungsi dengan hak istimewa langsung setelah *.
Mengapa simbol pasangan mata uang terbatas dalam konfigurasi pasangan platform perdagangan ketika menambahkan bot? sejauh yang saya tahu, sebenarnya platform mendukung beberapa pasangan perdagangan.
Anda dapat mengatur kontrol kustom dari pasangan perdagangan (hanya dapat diatur di bot; untuk simbol di pusat data backtest terbatas, tidak dapat diatur di backtest), sebagai berikut:
Mengapa ticker tidak dapat diperoleh ketika saya menjalankan FutuOpenD di server, dan dapat ticker diperoleh pada perangkat lokal?
Anda perlu memeriksa apakah alamat IP server berada di luar negeri, karena FutuOpenD memiliki batasan pada alamat IP luar negeri. Saat ini FMZ International Station hanya mendukung bisnis cryptocurrency. Komoditas berjangka, sekuritas saham dan bisnis lainnya didukung oleh stasiun domestik FMZ, Anda dapat masuk:https://www.fmz.cn.
Tidak ada tindakan ketika strategi Mylanguage dioperasikan, dan hanya memperbarui TAQ pada awalnya.
Periksa apakah Anda menggunakan model harga dekat, yang dapat diperiksa oleh parameter template strategi Mylanguage.
Komoditas berjangka
Di CTP, hanya Shanghai Futures Exchange yang dapat digunakan untuk menutup posisi hari ini dan posisi kemarin.
Backtest tidak membedakanposisi hari inidariPosisi kemarin, sehingga tidak dapat menentukan untuk menutup posisi hari ini atau posisi kemarin.
Beberapa simbol dalam bot, sepertiIF
, memiliki default bahwa jika ada posisi hari ini, itu akan menutup posisi hari ini terlebih dahulu. Pada kesempatan ini, Anda tidak dapat menentukan, dan Anda hanya dapat menutup posisi hari ini terlebih dahulu. Oleh karena itu, informasi posisi hari ini dan posisi kemarin digabungkan menjadi satu.
Saat ini FMZ International Station hanya mendukung bisnis cryptocurrency. Komoditas berjangka, sekuritas saham dan bisnis lainnya didukung oleh stasiun domestik FMZ, Anda dapat masuk:https://www.fmz.cn.
Mengapa timestamp dari Bar diBITMEX
Data K-line memiliki satu periode lebih dari yang dari lokasi yang sama dalam data K-line platform lain?
Alasannya adalahBITMEX
mengambil waktu akhir Bar saat ini sebagai timestamp K-line (beberapa periode K-line tidak didukung olehBITMEX
Interface, sehingga timestamps periode tersebut dihasilkan oleh waktu awal Bar).
Dalam strategi berjangka komoditas,Profit
dalam data yang dikembalikan oleh fungsiexchange.GetPosition
berbeda dari laba rugi variabel yang dihitung?
Silakan lihat dokumentasi API:https://www.fmz.com/api#exchange.getposition. Profit
dalamCTP protocol
didefinisikan sebagaiNilai laba rugi pasar, yang mewakili keuntungan dan kerugian dari posisi Anda saat ini relatif terhadap harga penyelesaian hari perdagangan sebelumnya.
Saat ini FMZ International Station hanya mendukung bisnis cryptocurrency. Komoditas berjangka, sekuritas saham dan bisnis lainnya didukung oleh stasiun domestik FMZ, Anda dapat masuk:https://www.fmz.cn.
Exception catching is disabled, this exception cannot be caught. Compile with -s DISABLE_EXCEPTION_CATCHING=0 or DISABLE_EXCEPTION_CATCHING=2 to catch.
Periksa apakah fitur
/*backtest
start: 2022-11-08 00:00:00
end: 2023-02-08 00:00:00
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Binance","currency":"BTC_USDT"}]
*/
function main() {
var t = exchange.GetTicker()
exchange.Buy(t.Last - 10, 100/(t.Last - 10))
while(1){
t = exchange.GetTicker()
Sleep(1000)
}
}
Dalam backtest Binance futures danBITMEX
, apakah tingkat pendanaan dihitung dalam kurva laba rugi yang dihasilkan oleh sistem backtest?
Tingkat pendanaan dihitung dalam kurva laba rugi yang dihasilkan oleh sistem backtest.
Tombol
Anda perlu memeriksa apakah proxy diaktifkan, yang akan mempengaruhi penyelesaian pemuatan file di halaman
DalamBenar-benar Tickbacktest, mengapa ada batas 50MB?
Tick yang sebenarnya adalah waktu yang dibutuhkan untuk melakukan backtest. Tick yang sebenarnya adalah waktu yang dibutuhkan untuk melakukan backtest. Tick yang sebenarnya adalah waktu yang dibutuhkan untuk melakukan backtest. Tick yang sebenarnya adalah waktu yang dibutuhkan untuk melakukan backtest.
Mengapa tidak berhasil ketika saya memodifikasi parameter biaya dalam sistem backtest?
Dalam sistem backtest, ketika Anda mengatur ulang parameter biaya, mereka akan berlaku setelah Anda menghapus pasangan platform-dagang lama dan menambahkan pasangan platform-dagang lagi; pasangan platform-dagang yang sebelumnya ditambahkan tidak dapat dimodifikasi oleh kontrol di halaman.
Bagaimana membuat backtest gambar khusus menampilkan lebih banyak data?
Ketika Anda menggambar grafik khusus (olehChart
fungsi), volume data gambar yang ditampilkan dalam backtest berhubungan dengangrafikparameter dalam pengaturan backtest, dan parameter mengontrol jumlah bar maksimum dari grafik.chart.reset
fungsi digunakan untuk menghapus sebagian dari data lama.
C++
backtest tidak menampilkan apa-apa, tidak ada kesalahan yang dilaporkan dan tidak ada log, dan tidak ada yang berubah di halaman setelah saya mengklik tombol.
Beberapa kesalahan dariC++
strategi tidak akan diangkat, sehingga Anda dapat menggunakan metode pengecualian untuk mendeteksi kemungkinan kesalahan yang mungkin terjadi selama operasi, tingkat demi tingkat.NAN
dan jenis nomor setelahNAN
dihitung, yang akan menyebabkan crash program.
python
Backtest terjebak!
Anda tidak bisa menulis fungsiSleep
dalamtry
deteksi kesalahan, dan tulisan dalam gambar akan menyebabkan kemacetan.
Dalam backtest, mengapa hanya ada beberapa pilihan untuk platform, dan simbol untuk pasangan perdagangan juga terbatas?
Ada terlalu banyak pasangan perdagangan di platform, sehingga hanya beberapa pasangan perdagangan representatif yang dipilih untuk pengujian dalam sistem backtest.kontrol adatuntuk mengatur pasangan perdagangan yang didukung oleh platform tersebut dalam bot.
Mengapa backtest tidak mendukung lebih banyak pasangan perdagangan?
Sistem backtest, untuk saat ini, hanya mendukung mata uang arus utama dari beberapa platform yang relatif besar, dan beberapa mata uang belum didukung. Jika Anda perlu menguji strategi, Anda dapat mengganti mata uang dengan mata uang serupa lainnya dalam backtest. Bahkan, kecuali kutipan pasar mungkin terpengaruh, menggunakan cryptocurrency serupa lainnya untuk backtest strategi tidak apa-apa. Secara sederhana, sistem backtest mencoba mendukung pasangan perdagangan arus utama, dan backtest seharusnya tidak sesuai dengan simbol tertentu. Artinya, jika strategi efektif, bahkan jika itu adalah serangkaian perubahan kutipan pasar yang dihasilkan secara acak dengan aturan perdagangan, atau kutipan pasar mata uang lain, pada dasarnya harus ada keuntungan positif. Ini adalah universalitas strategi. Jika hanya dapat mencocokkan periode sejarah atau melakukan dengan baik pada simbol tertentu, maka strategi ini sebenarnya memiliki potensi risiko atau cacat.
Dalam sistem backtest: KonsepP&L akhir, Holding P&L, Margin, Perkiraan laba, USDT yang tersedia saat ini
Penutupan P&L: Ini adalah akumulasi laba rugi dari semua transaksi yang dibuka dan ditutup sebelum posisi saat ini. Holding P&L: Ini adalah laba rugi dari posisi saat ini, jika posisi saat ini tidak dipegang, itu adalah 0, Margin: Jumlah margin yang ditempati oleh posisi saat ini. Hasil perkiraan: Keuntungan dan kerugian yang dihasilkan dengan menutup posisi saat ini dengan harga saat ini (hipotetis) kemudian ditambahkan ke keuntungan dan kerugian kumulatif dari posisi tertutup untuk menghitung hasil perkiraan. USDT saat ini tersedia: Jumlah USDT saat ini yang tersedia untuk membuka posisi.
Perhitungan tingkat kemenangan dalam sistem backtest
for (var i = 0; i < profits.length; i++) {
if (i == 0) {
if (profits[i][1] > 0) {
winningResult++
}
} else {
if (profits[i][1] > profits[i - 1][1]) {
winningResult++
}
}
if ((profits[i][1] + totalAssets) > maxAssets) {
maxAssets = profits[i][1] + totalAssets
maxAssetsTime = profits[i][0]
}
if (maxAssets > 0) {
var drawDown = 1 - (profits[i][1] + totalAssets) / maxAssets
if (drawDown > maxDrawdown) {
maxDrawdown = drawDown
maxDrawdownTime = profits[i][0]
maxDrawdownStartTime = maxAssetsTime
}
}
}
Di atas adalah algoritma tingkat kemenangan, yang dihitung sebagai berikut: Setelah sistem backtest secara teratur menghitung laba rugi yang mengambang, kurva laba rugi yang mengambang dihitung. Mulai dari titik pertama untuk membandingkan dengan titik berikutnya. Jika lebih tinggi, itu akan dicatat sebagai kemenangan, dan jika lebih rendah, itu akan dicatat sebagai kerugian, dan kemudian melanjutkan perbandingan dengan titik berikutnya.
Di mana video pengajaran penyebaranLinux
Docker?
Bilibili:https://www.bilibili.com/video/BV1eZ4y1c73v?share_source=copy_web
Apakah perlu untuk menghentikan yang lama ketika saya memperbarui docker, dan menghapusrobot
program, dan menjalankannya lagi?
Anda dapat langsung menghapus yang lamarobot
file program tanpa menghentikan docker, kemudian men-download paket yang dikompresi baru, dekompresi yang barurobot
saat ini, docker diperbarui, tapi bot yang sedang berjalan masih menggunakan versi lama di memori, dan versi terbaru hanya akan digunakan ketika bot di-restart.
Docker penyebaran dariLinux
server
Langkah-langkah untuk menginstal docker padaLinux
: https://www.bilibili.com/video/BV1eZ4y1c73v?share_source=copy_web
Saat digunakanscreen
untuk menjalankan program dockerrobot
, -bash:screen:command not found
terjadi, dan docker tidak bisa berjalan.
Linux
sistem tidak menginstalscreen
perangkat lunak, dan pemasangan umum sudah cukup.CentOS
perintah instalasi sistem:yum install screen
.
Docker saat ini sudah mendukungSSH
untuk memutus switch untuk berjalan di latar belakang.screen
, Anda dapat langsung menggunakan perintah dirobot
direktori dari program docker:./robot -s node.fmz.com/xxxxxxx
, dan masukkan kata sandi akun FMZ; ketikaLogin OK
diperlihatkan, itu berarti penyebaran berhasil. Perhatikan bahwa xxxxxxx di./robot -s node.fmz.com/xxxxxxx
adalah kode identifikasi unik dari setiap akun FMZ, dan cukup masukkan sendiri (setelah akun masuk, lompat ke halaman docker, klik xxxxxxx
.
Di mana log bot ketika pelabuhan menjalankan bot?
DalamDB3
file database dilogs
direktori di mana program docker terletak, nama file database adalahid
dari bot, dan ekstensi adalahdb3
.
Di dalamLinux
sistem, penggunaan./robot -l
untuk melihat nama-nama platform yang didukung oleh docker, platform apa yangexchange
di antara nama-nama?
Objek pertukaran yangnamaadalahexchange
mengacu pada platform yangprotokol umumRincian protokol umum:https://www.fmz.com/api#通用协议
Halaman docker tidak menampilkan docker dalam format daftar.
Jika lebih dari 5 pelabuhan ditambahkan, kontrol untuk menampilkan dalam format daftar akan muncul.
Apakah normal ada docker tidak dikerahkan oleh saya dalam kotak combo dari parameter docker ketika membuat bot?
Docker publik yang disediakan oleh FMZ adalah alat cepat untuk pemula, sehingga pengguna tidak perlu menggunakan docker saat belajar, dan mudah bagi pemula untuk memulai. Namun, disarankan untuk menggunakan docker pribadi untuk tes bot nyata.
Apakah string alamat (./robot -s node.fmz.com/1234567
) eksklusif untuk saya atau orang lain, ketika menyebarkan docker?
Alamat ini adalah identifikasi alamat masing-masing pengguna, dan nilai dari/1234567
bagian dari setiap pengguna adalah unik untuk mengidentifikasi pengguna. Saat menyebarkan docker, klik tombol
Variabel lingkungan dari sistem di mana docker terletak telah ditambahkanpython2.7
, tapi mengapa masih diminta bahwa variabel lingkungan tidak dapat ditemukan?
Kapan?windows
sistem pertama kali menginstalpython
, Anda perlu mengatur variabel lingkungan dan restart untuk membuatnya valid.
Kesalahan EOF
Python backtest diakhiri oleh pengecualian EOF (karena kadang-kadang strategi bisa menjadi loop tak terbatas).
Berapa banyak bot yang bisa dioperasikan?
Tidak ada batasan jumlahnya, tergantung pada konfigurasi server dan kompleksitas strategi. Secara khusus, perlu dipertimbangkan apakah beberapa bot ini mengakses antarmuka platform yang sama (mengingat frekuensi panggilan antarmuka, karena lebih banyak bot berarti frekuensi yang lebih tinggi); umumnya 5 sampai 6 bot baik-baik saja.
Docker, Bot dan penjelasan konsep dasar lainnya
Konten halaman
Jika konten bot dan halaman docker telah hilang, ketika bot dan docker berjalan normal di server, Anda perlu membaca pesan laporan kesalahan browser, untuk melihat apakah browser memiliki plugin yang diinstal, yang menyebabkan masalah polusi variabel global. Solusinya adalah menulis di plugin browser, atau menggunakan browser tanpa plugin browser untuk masuk ke FMZ.
Untuk strategi resmi untuk menyewa dan menyewa server docker dengan satu klik, apakah biaya akan diperbarui secara otomatis, selama saldo akun FMZ cukup?
Strategi yang disewa tidak akan secara otomatis mengisi ulang biaya, dan satu klik menyewa docker akan secara otomatis mengisi ulang.
Di mana fungsi template? Saya ingin memisahkan beberapa fungsi ke dalam template, sehingga strategi lain juga dapat menggunakannya.
Deskripsi dalamFMZ API
Dokumen:https://www.fmz.com/api#模板类库
ApakahwexApp
platform simulasi FMZ simulasi bot hanya menyediakanBTC_USDT
Bagaimana saya bisa menyesuaikan pasangan perdagangan lainnya?
wexApp
simulasi bot hanya mendukung beberapa pasangan perdagangan arus utama untuk saat ini, dan tidak semua pasangan perdagangan disimulasikan.
Saya memiliki masalah panggilan serentak ke API diperpanjang, yaitu, kesalahan verifikasi
Anda dapat membuat beberapa platform FMZ diperluasAPI KEY
s untuk permintaan bersamaan.
Apakah thread debug yang dibuat pada docker mencatat status log saat menggunakan alat debug?
Ketika alat debug dijalankan, jika tidak ada yang dimodifikasi untuk kedua kalinya, objek pertukaran yang dibuat sebelumnya akan dipertahankan dan tidak akan dirilis.modus mata uangatauModus leverage.
Mengapa ketika saya mendaftarkanwexApp
platform simulasi dan masuk, tidak ada aset, baik di dompet dan bagian mata uang?
Setelah mendaftar, Anda perlu memverifikasi email Anda untuk mengaktifkan akun Anda, dan Anda dapat mengaktifkan akun Anda di pusat pribadi.
Informasi log relatif panjang dan terputus, dan pada akhirnya menunjukkan "...". Tapi saya perlu melihat struktur data, apa yang harus saya lakukan?
Solusinya adalah menggunakanAlat DebugpadaDashboard, dan gunakanreturn
pernyataan dalam alat debugging untuk mengembalikan konten yang akan ditampilkan, dan tampilan konten tidak akan dipotong.
Apa fungsi yang dimulai dengan$.
dalamJavaScript
Strategi berarti?
Fungsi dengan awal dari$.
adalah fungsi ekspor template, mirip dengan fungsi antarmuka modul.https://www.fmz.com/api#模板类库
Fungsi ekspor daripython
strategi yang dinyatakan denganext.
di awal.
Bagaimana cara menggambar garis lurus pada grafik pasar dari hasil backtest?
Ada dua jenis grafik yang akhirnya ditampilkan dalam backtest: satu yang dihasilkan oleh sistem, yang tidak dapat dikontrol oleh strategi.Chart
fungsi antarmuka API FMZ dalam kode strategi.https://www.fmz.com/api#chart...
Saya menghapus validator Google di ponsel saya secara tidak sengaja, bagaimana mengatur ulang validator Google? Di halaman pengaturan akun di platform, saya tidak dapat menemukan tempat untuk mengatur ulang melalui email.
Anda dapat masuk ke platform FMZ dengan browser lain, dan ketika Anda perlu memasukkan kode verifikasi Google, klik
PlatformAPI KEY
kontrol keamanan
PeraturanAPI KEY
FMZ tidak menyimpan informasi teks biasa dari akun platform pengguna, dan menggunakanHttps
protocol.
Masalah keamanan strategi
Untuk itu, Anda dapat merujuk pada:https://www.fmz.com/bbs-topic/1657.
Sistem penagihan FMZ
Standar penagihan untuk perdagangan langsung:
Waktu penagihan yang disebutkan mengacu pada waktu pemrosesan untuk operasi penagihan. Karena waktu yang dibutuhkan untuk operasi pemrosesan ini, waktu pengurangan mungkin tertunda. Misalnya, jika waktu penagihan saat ini adalah 9:00, mungkin waktu pemrosesan untuk operasi penagihan ini adalah 9:02 (seperti yang ditunjukkan pada tangkapan layar). Ini akan disesuaikan selama operasi penagihan berikutnya (waktu pengurangan berikutnya akan menjadi 10:00, bukan penagihan awal).
Perpustakaan talib menangani data dengan presisi terbatas
Jika data sangat kecil, akan dipotong dan akhirnya ditampilkan sebagai 0. Silakan lihat:https://github.com/TA-Lib/ta-lib-python/issues/157