Sumber daya yang dimuat... Pemuatan...

Ringkasan FAQ (Pembaruan...)

Penulis:FMZ~Lydia, Dibuat: 2023-07-13 14:44:41, Diperbarui: 2024-02-05 20:04:06

[TOC]

img

Ringkasan FAQ (Pembaruan...)

  • Cari FAQ untuk tampilan mudah. Bagaimana cara mencari kata kunci pada posting? PenggunaanCtrl + funtuk membuka halaman dan mencari; masukkan kata kunci, misalnya: docker. Kemudian lokasi di halaman dengan kata docker akan dicari.

  • 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:

    img

Antarmuka API

  • Kenapa?beli satu hargadanmenjual satu hargadiperoleh denganGetTickerdan yang diperoleh denganGetDepthApakah mereka berbeda?

    Data dariGetTickerdanGetDepthData yang diperoleh oleh cetrain mungkin tidak dapat diperoleh pada saat yang sama. ada keterlambatan waktu cetrain, sehingga data akan berubah.GetTickerakan sedikit lebih cepat, untuk data kurang dari data yang diperoleh olehGetDepth.

  • exchang.GetOrdersmendapatkan perintah yang belum selesai, jadi di mana untuk mendapatkan perintah yang dieksekusi?

    Ada API lain untuk menanyakan perintah, yaitu,exchange.GetOrderIni menanyakan pesanan dari semua jenis, sesuai denganIDMasukkan urutanIDOleh karena itu, untuk mendapatkan perintah yang dieksekusi, Anda perlu melihat apakah platform menyediakan jenis antarmuka; antarmuka yang disediakan oleh setiap platform cukup berbeda.

  • Di dalamJavaScriptStrategi, hasil dari time string konversi ke timestamp adalah salah.

    Anda perlu mempertimbangkan zona waktu dalam pengaturan waktu sistem.

    img

  • 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:

https://support.microsoft.com/en-us/help/821893/the-system-clock-may-run-fast-when-you-use-the-acpi-power-management-t

Kami sarankan Anda menggunakanLinuxserver, atau Anda dapat menginstal perangkat lunak sinkronisasi waktu di iniwindowssistem di mana kesalahan terjadi, untuk menyinkronkan waktu pada frekuensi tinggi dan mencegah kesalahan verifikasi waktu terjadi.

  • Mengapa ada perbedaan antara nilai yang dihitung olehATR (TR) dari Mylanguage dan yang dihitung olehTA/talibPerpustakaan?

Alasannya adalah bahwa metode perhitungan indikator Mylanguage tidak konsisten dengan algoritma yang mendasariTA/taliblibrary. 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.

    • Mylanguage mengacu pada data dalam beberapa periode, setelah#EXPORTTEST...#ENDmenyatakan variabel dalam referensi blok kode multi periode.REFdigunakan 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:

    img

  • Kenapa?MACDDihitung oleh FMZ berbeda dari yang dihitung oleh platform?

    Ketika membandingkan, perlu diperhatikan apakah periode garis K sama, apakahMACDparameter indikator yang sama, periode waktu yang sama, dan simbol yang sama.MACD; beberapa adalahDIF-DEA, dan beberapa adalah2*(DIF-DEA); DIFdanDEAharus konsisten.

  • Apa yang terhubung ke nomor K-line yang diperoleh, ketika data K-line riwayat diperoleh?

    Saat mengaksesexchange.GetRecordsDalam 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.GetRecordsantarmuka dengan frekuensi tertentu, jika tidak, kontinuitas data dapat terpengaruh.

  • Saya menemukan bahwa memanggil fungsiexchange.BuyHanya kembaliIDdalam 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 akhirLogfungsi, dan kemudian informasi cetak dariLogdapat 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 kerb1805Hubungi 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.GetAccountgagal 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.Selldanexchange.Buydi FMZ?

    Untuk rincian, Anda perlu melihat parameter pertama yang diteruskan (parameter pertama adalah harga pesanan).-1Pengertian volume beli dan volume jual entah bagaimana berbeda (parameter kedua), dan jika harga tidak-1Dalam 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 QQs smtp203.205.232.7Saat ini, sebagian besar server cloud dilindungi dari port 25, kecuali untuk server fisik, operator tidak akan melindungi port 25.

  • Parameter templat untuk Pine language, Mylanguage: jumlah periode maksimum variabel mempengaruhi perhitungan indikator

Secara default, variabel jumlah maksimum periode adalah 600, jika parameter indikator diatur terlalu besar, misalnya, menghitung MA ((1000). maka nilai rata-rata 1000 data tidak dapat dihitung, karena sistem hanya menyimpan 600 data.

Laporan Kesalahan

  • Pesan kesalahan popup: SyntaxError: nama variabel diharapkan.

Periksa area pengeditan kode strategi untuk setiap permintaan kesalahan. Periksa apakah ada nama variabel yang hilang saat mendeklarasikan variabel, seperti lupa menulis nama dalam var name = a. Juga, periksa apakah kata kunci bahasa pemrograman digunakan saat mengatur parameter antarmuka strategi. Tidak disarankan untuk menggunakan kata kunci bahasa pemrograman yang umum digunakan sebagai nama variabel, karena dapat menyebabkan konflik, bahkan jika bahasa pemrograman saat ini tidak memiliki kata kunci tertentu.

  • BITMEX429 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 CTPkesalahan

    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.

  • Bittrexkesalahan 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

    img

    Karena kesalahan yang dilaporkan dalam backtest dan bot berbeda, kesalahan ini tidak dapat dideteksi selama backtest.

  • unable to open databasekesalahan

    imgJika sistemMac OSSistem, 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 berjangkaPythonstrategi, 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 decrypt [Gambar]imgKarena kata sandi akun FMZ telah dimodifikasi, yang membuat KEY API yang dikonfigurasi tidak valid, dan menimbulkan kesalahan. Solusi: mengkonfigurasi platform API KEY lagi, berhenti dan restart docker, dan kemudian coba restart bot.

  • Pythonlaporan backtest mesin lokalEOFerror.

    EOFkesalahan adalah kesalahan di akhir backtest. menangkap pengecualian cukup dan Anda dapat memanggilnya di mana sajaPythondidukung.

 # 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:

    img

    Alasannya adalah bahwa parameter periode perhitungan melebihi rentang data, sehingga perhitungan nilai N/A. Metode pemrosesan:

    img

  • 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.

    img

  • Kesalahan panggilanexchange.SetMarginLevel(10): Futures_OP 0:403:{"error":{"message":"Access Denied","name":"HTTPError"}}

    Periksa apakah hak terkait dariAPI KEYyang 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.SetContractTypefungsi 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_ORDERJika 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::stringInformasi 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 
    

    continuepernyataan harus digunakan dalam loop!

  • Kesalahan:(CTP_T@9999)Error:140CTP:change the password when first log in, and please log in again after changingKata sandi apa yang dimodifikasi?

    Di sini menunjukkan untuk mengubahsimnowkata 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 adalahnoncekesalahan verifikasi, dan informasi kesalahan yang terkait dengannonceAnda dapat mencoba menyinkronkan waktu dari sistem di mana bot docker berada.

  • KesalahanSecretkey decrypt failed

    img

    Kesalahan menunjukkan kegagalan dekripsiAPI KEY. Periksa apakah Anda mengubah kata sandi akun FMZ setelah Anda mengkonfigurasiAPI KEYCobalah untuk mengkonfigurasiAPI KEYpada halaman Tambahkan platform FMZ, buka kembali docker, dan jalankan bot lagi untuk menguji.

  • 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

    img

    rate limit, 429 Too Many Requestsmenunjukkan frekuensi mengakses antarmuka platform terlalu tinggi, sehingga Anda perlu mengurangi frekuensi mengakses antarmuka platform.

  • Selalu menaikkanInvalid order price/amountdalam bot dan backtest

    Kesalahan semacam ini disebabkan oleh harga yang salah dan volume order yang dilewati saat memanggil fungsi orderexchange.Buyatauexchange.SellUntukvolume pesanan negatif, 0dan metode deteksi kesalahan lainnya: Anda dapat menghubungiLoguntuk mengekspor parameter harga atau parameter volume yang akan dilewati sebelum menempatkan pesanan olehexchange.Buyatauexchange.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.

Bot

  • 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:

    img

  • 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 penutupan posisi kemarin masalah

    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 diBITMEXData K-line memiliki satu periode lebih dari yang dari lokasi yang sama dalam data K-line platform lain?

    Alasannya adalahBITMEXmengambil waktu akhir Bar saat ini sebagai timestamp K-line (beberapa periode K-line tidak didukung olehBITMEXInterface, sehingga timestamps periode tersebut dihasilkan oleh waktu awal Bar).

    img

  • Dalam strategi berjangka komoditas,Profitdalam data yang dikembalikan oleh fungsiexchange.GetPositionberbeda dari laba rugi variabel yang dihitung?

    Silakan lihat dokumentasi API:https://www.fmz.com/api#exchange.getposition. ProfitdalamCTP protocoldidefinisikan 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.

Sistem Backtest

  • Kesalahan dilaporkan oleh sistem backtesting: Kesalahan dilaporkan oleh sistem backtesting:
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 Custom Data Source sedang digunakan dan apakah data yang diberikan oleh layanan sumber data kustom benar.

  • Bagaimana biaya tes / pembuat? Skenario pengujian untuk biaya pengambil/pembuat.
/*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 Backtest tidak dapat diklik.

    Anda perlu memeriksa apakah proxy diaktifkan, yang akan mempengaruhi penyelesaian pemuatan file di halaman Backtest; periksa apakah ada informasi kesalahan di konsol 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?

    img

    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 (olehChartfungsi), volume data gambar yang ditampilkan dalam backtest berhubungan dengangrafikparameter dalam pengaturan backtest, dan parameter mengontrol jumlah bar maksimum dari grafik.chart.resetfungsi 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.NANdan jenis nomor setelahNANdihitung, yang akan menyebabkan crash program.

  • pythonBacktest terjebak!

    Anda tidak bisa menulis fungsiSleepdalamtrydeteksi kesalahan, dan tulisan dalam gambar akan menyebabkan kemacetan.

    img

  • 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.

Docker

  • Di mana video pengajaran penyebaranLinuxDocker?

    Bilibili:https://www.bilibili.com/video/BV1eZ4y1c73v?share_source=copy_web

  • Apakah perlu untuk menghentikan yang lama ketika saya memperbarui docker, dan menghapusrobotprogram, dan menjalankannya lagi?

    Anda dapat langsung menghapus yang lamarobotfile program tanpa menghentikan docker, kemudian men-download paket yang dikompresi baru, dekompresi yang barurobotsaat 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 dariLinuxserver

    Langkah-langkah untuk menginstal docker padaLinux: https://www.bilibili.com/video/BV1eZ4y1c73v?share_source=copy_web

  • Saat digunakanscreenuntuk menjalankan program dockerrobot, -bash:screen:command not foundterjadi, dan docker tidak bisa berjalan.

    Linuxsistem tidak menginstalscreenperangkat lunak, dan pemasangan umum sudah cukup.CentOSperintah instalasi sistem:yum install screen.

    Docker saat ini sudah mendukungSSHuntuk memutus switch untuk berjalan di latar belakang.screen, Anda dapat langsung menggunakan perintah dirobotdirektori dari program docker:./robot -s node.fmz.com/xxxxxxx, dan masukkan kata sandi akun FMZ; ketikaLogin OKdiperlihatkan, itu berarti penyebaran berhasil. Perhatikan bahwa xxxxxxx di./robot -s node.fmz.com/xxxxxxxadalah kode identifikasi unik dari setiap akun FMZ, dan cukup masukkan sendiri (setelah akun masuk, lompat ke halaman docker, klik Add docker ke halaman Add docker untuk melihat); catatan di sini tidak hanya untuk memasukkanxxxxxxx.

  • Di mana log bot ketika pelabuhan menjalankan bot?

    DalamDB3file database dilogsdirektori di mana program docker terletak, nama file database adalahiddari bot, dan ekstensi adalahdb3.

  • Di dalamLinuxsistem, penggunaan./robot -luntuk melihat nama-nama platform yang didukung oleh docker, platform apa yangexchangedi antara nama-nama?

    Objek pertukaran yangnamaadalahexchangemengacu 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.

    img

  • 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/1234567bagian dari setiap pengguna adalah unik untuk mengidentifikasi pengguna. Saat menyebarkan docker, klik tombol Add docker padaDashboard-> klikTambahkan docker->Tambahkan halaman docker, dan kemudian Anda dapat melihat alamat ini; menyalin dan menempelkannya langsung dan Anda dapat menggunakannya.

  • Variabel lingkungan dari sistem di mana docker terletak telah ditambahkanpython2.7, tapi mengapa masih diminta bahwa variabel lingkungan tidak dapat ditemukan?

    img

    Kapan?windowssistem pertama kali menginstalpython, Anda perlu mengatur variabel lingkungan dan restart untuk membuatnya valid.

Penelitian

  • Kesalahan EOF

    img

    Python backtest diakhiri oleh pengecualian EOF (karena kadang-kadang strategi bisa menjadi loop tak terbatas).

Fungsi Platform

  • 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

    https://www.fmz.com/bbs-topic/9152

  • Konten halaman Bot dan Docker semua hilang

    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 APIDokumen:https://www.fmz.com/api#模板类库

  • ApakahwexAppplatform simulasi FMZ simulasi bot hanya menyediakanBTC_USDTBagaimana saya bisa menyesuaikan pasangan perdagangan lainnya?

    wexAppsimulasi 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 nonce selalu dilaporkan selama serentak.

    Anda dapat membuat beberapa platform FMZ diperluasAPI KEYs 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 mendaftarkanwexAppplatform 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 gunakanreturnpernyataan dalam alat debugging untuk mengembalikan konten yang akan ditampilkan, dan tampilan konten tidak akan dipotong.

  • Apa fungsi yang dimulai dengan$.dalamJavaScriptStrategi berarti?

    Fungsi dengan awal dari$.adalah fungsi ekspor template, mirip dengan fungsi antarmuka modul.https://www.fmz.com/api#模板类库

    Fungsi ekspor daripythonstrategi 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.Chartfungsi 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 Enable twofactor untuk melompat ke halaman untuk membatalkan via email.

lainnya

  • PlatformAPI KEYkontrol keamanan

    PeraturanAPI KEYFMZ 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:

    1. Penagihan terjadi satu kali per jam untuk setiap akun perdagangan langsung (0,05 USD / jam) dan didasarkan pada periode penggunaan satu jam.
    2. Menyimpan dan memulai kembali akun perdagangan langsung dalam waktu satu jam tidak mengakibatkan penagihan duplikat.
    3. Rekening perdagangan langsung yang sudah dihentikan tidak akan memicu penagihan untuk jam berikutnya.
    4. Rekening perdagangan langsung yang baru dibuat akan segera ditagih selama satu jam.

    img

    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


Lebih banyak