Maklumat garis K sejarah. Kelemahan mekanisme ini adalah jelas: pada garis K, hanya satu jualan yang boleh dihasilkan, dan harga yang biasanya berdasarkan adalah harga penutupan garis K. Dan satu garis K hanya dapat memperoleh empat harga, mengenai bagaimana harga berubah dalam satu garis K, apakah harga tertinggi berlaku terlebih dahulu, atau harga terendah berlaku terlebih dahulu, dan sebagainya.
FMZ platform mengulangi dua jenis pengulingan peringkat analog dan pengulingan peringkat cakera sebenar. Pengulingan peringkat analog akan menghasilkan 14 titik masa pengulingan pada setiap kitaran garis K bawah, berdasarkan tik yang dihasilkan secara analog.Tingkat cakera sebenar adalah tik yang dikumpulkan secara sebenar, kira-kira sekali setiap beberapa saat, dan pada masa ini sebahagian menyokong kedalaman sebenar (mengandung 20 file), transaksi satu per satu sebenar.Jumlah data yang besar dan kelajuan yang lambat, oleh itu tidak dapat diulang dalam masa yang sangat lama. FMZ's mechanism diulang boleh membuat strategi berdagang beberapa kali dalam satu garis K, mengelakkan keadaan yang hanya boleh menutup urus niaga harga, lebih tepat dan mengambil kira kelajuan diulang.https://www.fmz.com/digest-topic/4009
Rangka kerja dasar untuk ulangan adalah sama dengan cakera sebenar, ia adalah pusingan mati. Oleh kerana ulangan melompat pada titik ulangan yang berbeza, pada masa ini tidak boleh menggunakan tidur, pada akhir satu pusingan akan melompat secara automatik ke titik masa seterusnya. Tetapi Python memerlukan untuk memaksa satu pusingan kerana mekanisme program.Sleep(10)
"Saya tidak mahu mereka membunuh saya", katanya.
Enjin ulasan akan mengambil gambar berdasarkan harga pesanan pengguna dan harga tinjauan pada masa ulasan, jika harga beli lebih tinggi daripada satu jual, untuk menjual satu urus niaga. Jika tidak dapat diselesaikan, ia akan menghasilkan daftar tanggungan. Untuk memastikan urus niaga memerlukan titik peluncur. Jika keadaan tidak dapat dibuka atau tidak dapat diselesaikan semasa ulasan, ia memeriksa sama ada terdapat pembekuan kedudukan yang disebabkan oleh pesanan yang tidak diselesaikan.
GetRecords()
Tempoh lalai fungsi juga boleh ditetapkan dalam kod sebagai parameter tempoh.Sebelum ini, terdapat kemungkinan akses gagal dan kembali dengan menggunakan API pada cakera sebenar.null
Dalam kes ini, data yang digunakan akan membuat kesalahan dan menyebabkan cakera sebenar berhenti, jadi strategi harus dilakukan dengan baik.
Penyebab kesilapan yang biasa:
Sebelum menggunakan API untuk mengembalikan data, anda perlu membuat keputusan sama ada ia adalah null atau tidak. Berikut adalah kaedah yang biasa digunakan untuk mengumpulkan:
//1.判断为null进行处理
var ticker = exchange.GetTicker();
while(ticker == null){
Log('ticker 获取出错');
ticker = exchange.GetTicker();
}
Log(ticker.Last);
// 2.判断不为null再进行引用
var ticker = exchange.GetTicker();
if(!ticker){
Log(ticker.Last);
}
// 3._C()函数重试
var ticker = _C(exchange.GetTicker);
Log(ticker.Last);
// 4. try catch容错
try{
var ticker = exchange.GetTicker();
Log(ticker.Last);
}
catch(err){
Log('ticker 获取出错');
}
Jika anda ingin mendapatkan maklumat yang salah, anda boleh menggunakannya.GetLastError()
, akan mengembalikan strings maklumat yang salah pada masa lalu, yang boleh digunakan untuk memproses perbezaan pada kesalahan.
Di mana-mana blog, blog, blog, blog, blog, blog, blog, blog, blog, blog, blog, blog, blog, blog, blog, blog, blog, blog, blog, blog, blog, blog, blog, blog, blog, blog, blog, blog, blog, blog.https://www.fmz.com/bbs-topic/1427▽ Berikut adalah beberapa ringkasan, jika anda menghadapi masalah, anda boleh mencari Ctrl + F di bawah.
Bagaimana untuk meletakkan pengurus?
Untuk maklumat lanjut, lihat bahagian Tambah Pengurus
Adakah anda boleh mencari strategi penulisan manusia?
https://www.fmz.com/marketsAda yang menawarkan perkhidmatan penulisan, atau berunding dalam kumpulan, dan memerlukan hubungan mereka sendiri, dengan risiko mereka sendiri.
Mengakses semua antara muka akan meminta masa tamat
Ini bermaksud bahawa akses ke antara muka bursa terlewat, jika kadang-kadang berlaku tidak menjadi masalah, jika selalu diberi isyarat bahawa rangkaian di mana ia tidak dapat diakses, perlu menggunakan pelayan luar negara.
Kesilapan ERR_INVALID_POSITION
Kesalahan sistem pengesanan, yang biasanya ditulis sebagai kesilapan untuk strategi, akan menyebabkan kesalahan ini apabila anda cuba untuk meletakkan kedudukan yang sama tanpa pemegang saham atau jumlah pemegang saham yang tidak mencukupi.
simbol tidak ditetapkan
Bursa niaga hadapan mengulang, tiada kontrak ditetapkan dalam kod, lihat fungsi exchange.SetContractType
BITMEX 429 error, {
error :{ message : Rate limit exceeded retry in 1 seconds...... }}
Perkhidmatan ini juga mempunyai ciri-ciri yang berbeza.
{
status :6004, msg : timestamp adalah di luar julat }
Waktu pelayan di luar jangkauan memerlukan kemas kini masa pelayan, tidak boleh terlalu jauh
GetOrder ((455284455): ralat: id pesanan tidak sah atau pesanan dibatalkan.
Beberapa pertukaran telah membatalkan pesanan, dan maklumat pesanan tidak dapat diakses oleh pertukaran kerana tidak dipelihara.
GetOrders: 400: {
code :-1121, msg : Invalid simbol. }
Pasangan urus niaga yang tidak sah, diperiksa sama ada pasangan urus niaga ditetapkan dengan salah.
Penyahkodean kunci rahsia gagal
API KEY gagal diselesaikan, jika anda telah mengubah kata laluan FMZ selepas mengkonfigurasi APIKEY, cuba tambahkan halaman pertukaran di FMZ dan persiapkan semula APIKEY pertukaran.
Signature not valid: Invalid submission time or incorrect time format (Tanda tangan tidak sah: masa penyerahan tidak sah atau format masa tidak betul)
Ia disyorkan untuk menggunakan pelayan Linux, atau memasang perisian sinkronisasi masa pada sistem windows yang mengalami masalah ini.
Mengapa perantara global disiapkan dan pengurus tidak dapat mengakses API pertukaran?
Agen global tidak mempunyai port rangkaian hos agen, kerana masalah kelewatan, lebih baik hos yang menggunakan pelayan luar negara
Bagaimana untuk mengekalkan strategi di tempat dan bukannya di FMZ yang dimuat naik?
Dengan menggunakan Python, anda boleh mengimport fail tempatan, menyimpan dasar yang biasanya ditulis berdasarkan API FMZ sebagai fail di bawah laluan pelaksanaan pada pelayan anda sendiri, dan langsung membaca pelaksanaan.
#!python2.7
def run(runfile):
with open(runfile,"r") as f:
exec(f.read())
def main():
run('my.py')
Cara menggunakan rangkaian ujian pertukaran atau menukar alamat pangkalan API
Dengan menggunakan exchange.SetBase ((() anda boleh beralih langsung ke alamat pangkalan API yang sesuai; seperti:
exchange.SetBase("https://www.okex.me")
Gaoencheerapi
SainsBagaimana untuk melaksanakan dasar yang dijalankan secara tempatan? Saya menulis output log yang mudah dan mengikuti operasi di akhir ayat. Langkah pertama adalah menggunakan komputer riba sebagai pelayan untuk menjalankan program pengurus. Langkah kedua, tulis program test.py yang menghasilkan maklumat Log yang mudah (fungsi API FMZ); Langkah ketiga, seperti pada akhir teks, menulis runfile yang dijalankan melalui run.py dengan panggilan test.py. /upload/asset/1add39483ef82d45b3ce3.png
Gyp9Saya telah membeli kursus kuantiti perdagangan awan yang mudah, dan saya tidak tahu di mana untuk pergi sekarang.
MonuRajakbanyak
MonuRajakHai
Berjaya.Belajar
wqyTerdapat satu kesalahan teks kecil, GetAccount mendapatkan akaun dalam penerangan, FrozenStocks sepatutnya menjadi baki beku dan bukan baki yang boleh digunakan.
Encik Yang Muliagetorder outtime mendapatkan pesanan terlewat masa, pertukaran okx, bagaimana?
Uji 12 Rukun TinggiApakah kadar aset yang dijamin tidak boleh didapati, sehingga 0% akan dipaksa rata aset yang dijamin
Shifeng2020Saya melihat 1 minit k operasi grafik, jadi masa tidur kitaran mati Python boleh ditetapkan kepada 0.1s, iaitu tidur ((100) Adakah saya melihat anda menulis satu tidur ((10) di dalamnya, iaitu 0.1s tidak akan melebihi had API huobi HM?
Rumah Jiwa Timurexchange.SetDirection (("closebuy"); // Jika kontrak kekal, letakkan langsung exchange.SetDirection (("sell") Di sini saya cuba kontrak kekal OKex, jika anda menetapkannya sebagai jual, ia akan terbuka dengan segera, tidak begitu murah.
Rumah Jiwa Timurexchange.SetDirection (("closebuy"); // Jika kontrak kekal, letakkan langsung exchange.SetDirection (("sell") Di sini saya cuba kontrak kekal OKex, jika anda menetapkannya sebagai jual, ia akan terbuka dengan segera, tidak begitu murah.
Rumah Jiwa TimurTerdapat dua kesalahan ejaan dalam kod GetOrders..............
Rumah Jiwa TimurAdakah saya yang silap? exchange.Buy ((-1, 0.5), pasangan dagangan adalah ETH_BTC, dan senarai harga mewakili pembelian ETH sebanyak 0.5BTC exchange.Buy ((price, 0.5), jika ini adalah senarai harga terhad, mewakili pembelian 0.5ETH dengan harga
Rumah Jiwa Timurexchange.Buy ((-1, 0.5), pasangan dagangan adalah ETH_BTC, yang mewakili pembelian ETH sebanyak 0.5BTC pada harga pasaran Di sini anda akan melihat bahawa anda membeli 0.5 ETH untuk harga pasaran.
Gyp9Terima kasih.
RumputSudah lama di laman web ini https://study.163.com/course/courseMain.htm?share=2&shareId=400000000602076&courseId=1006074239&_trace_c_p_k2_=c3f5d238efc3457d93c8b92c0398d2b2
RumputTambah WeChat di halaman utama, menarik anda ke dalam kumpulan
wqyKadang-kadang saya mengalami masalah dan tidak tahu di mana untuk bertanya.
Rumputdiubah.
RumputDapatkan semula
RumputAnda boleh menggunakan GetRawJSON atau melihat maklumat di dalam medan
Rumah Jiwa TimurSaya mendapati banyak kesalahan ejaan dalam kod, haha.
RumputOh, sudah diperbetulkan, terima kasih kerana menunjukkan kesilapan.
RumputBeberapa kontrak kekal membenarkan pemegang dua hala, perlu menetapkan kedudukan. Saya mengemas kini, pada asalnya hanya bitmex.