Bahasa pemrograman apa yang tersedia untuk melaksanakan strategi saya di Platform Dagangan Kuantum FMZ?Platform Perdagangan Kuantum FMZ menyokong
JavaScript
,TypeScript
,Python
,C++
,PINE
,My Language
,Blockly
Visualisasi untuk menulis dan merancang strategi.
Ia menyokong bahasa JavaScript dan mengintegrasikan perpustakaan JavaScript berikut:
JavaScript
strategi bahasa, apabila kesilapan pengecualian program atau kesalahan perniagaan antara muka berlaku, log ralat akan memaparkan nombor baris tertentu di mana ralat berlaku dalam kod strategi, yang mudah untuk penyesuaian strategi dan penyelesaian masalah pepijat.Ia menyokongTypeScript
bahasa, masih menetapkannya kepadaJavaScript
strategi apabila kita mencipta strategi, maka kita menulis// @ts-check
pada permulaan kod strategi atau klik butangTypeScript
di sudut kanan atas kawasan penyuntingan strategi untuk beralih keTypeScript
Platform akan mengenali kod sebagaiTypeScript
secara automatik dan menyediakan anda dengan penyusunan yang sepadan dan sokongan pemeriksaan jenis untuk:
Tetapkan penterjemah Python yang digunakan oleh program strategi Python
Strategi yang ditulis dalam Python, apabila backtesting atau perdagangan langsung, jika persekitaran sistem docker mempunyai kedua-dua Python2 dan Python3 dipasang, anda boleh menetapkan versi Python untuk dilancarkan pada masa berjalan pada baris pertama strategi, seperti#!python3
dan#!python2
, supaya sistem akan mencari penterjemah secara automatik. dan anda juga boleh menentukan laluan mutlak, seperti:#!/usr/bin/python3
.
Keselamatan Strategi berasaskan Python
Apabila strategi dagangan dibangunkan di Platform Dagangan FMZ Quant, kandungan strategi hanya dapat dilihat oleh pemegang akaun FMZ. Dan di Platform Dagangan FMZ Quant, anda boleh mencapai penyetempatan kod strategi yang lengkap.Pythonpakej, yang dimuatkan dalam kod strategi, supaya penyetempatan kandungan strategi dapat direalisasikan.
Keselamatan kod Python:
Kerana Python adalah bahasa sumber terbuka yang sangat mudah dikompilasi, jika strategi tidak untuk kegunaan peribadi tetapi untuk disewa, anda boleh menjalankan strategi pada docker yang digunakan sendiri dan menyewanya dalam bentuk sub-akaun atau pengurusan docker penuh jika anda bimbang tentang kebocoran strategi.
Pengekodan kod strategi Python:
Secara lalai, kod strategi Python tidak disulitkan apabila digunakan oleh pengarang dan disulitkan apabila disewa kepada orang lain. Dengan mengedit kod berikut di awal strategi Python, anda boleh menentukan sama ada untuk menyulitkan kod strategi untuk kegunaan peribadi atau sewa. Versi Python yang menyokong penyulitan kod strategi adalah seperti berikut: Python 2.7, Python 3.5 dan Python 3.6.
Apabila pengarang strategi menjalankan sendiri atau menggunakannya untuk orang lain melalui kod pendaftaran, kod strategi disulitkan:
Tentukan#!python
sebagai versi penterjemah Python, dan kemudian menggunakan,
untuk menjaga terpisah; masukkan perintah penyulitanencrypt
. Jika anda tidak menentukan versi Python, anda boleh menambah#!,encrypt
directly.
#!python,encrypt
Atau
#!encrypt
Ia tidak akan menyulitkan kod strategi apabila penulis strategi menjalankan untuk kegunaan mereka sendiri dan berkongsi dengan orang lain melalui kod pendaftaran:
#!python,not encrypted
Atau
#!not encrypted
Gunakan kodos.getenv('__FMZ_ENV__')
untuk menentukan sama ada kod penyulitan adalah sah; pengembalian rentetan"encrypt"
Ia hanya sah dalam perdagangan langsung, dan backtest tidak akan menyulitkanPython
Kod strategi.
#!encrypt
def main():
ret = os.getenv('__FMZ_ENV__')
# If the print variable ret is the string "encrypt" or ret == "encrypt" is true, that means the encryption is valid.
Log(ret, ret == "encrypt")
Platform kami menyokong bahasa pengaturcaraan C++ danC++ 11
Strategi dalam C ++ telah disusun terlebih dahulu dan kemudian dilaksanakan. Strategi dalam C ++ dalam sistem backtesting dijalankan pada pelayan backtesting C ++ sistem backtesting; Strategi dalam C ++ dalam persekitaran bot dijalankan berdasarkan docker selepas mereka disusun.
Menggunakan bahasa pengaturcaraan C++ danC++ 11
menggunakan ciri-ciri moden C ++, anda boleh membina algoritma perdagangan yang fleksibel dan berskala untuk perdagangan automatik.
Perpustakaan C ++ berikut disatukan:
Platform ini menyokong strategi menulis dan reka bentuk dalam MyLanguage, yang serasi dengan kebanyakan tatabahasa, perintah, dan fungsi MyLanguage Wenhua. MyLanguage menggalakkan pengaturcaraan blok bangunan, yang memecah algoritma kompleks menjadi fungsi. Ia menyokong aplikasi logik kewangan yang kompleks melalui tatabahasa ringkas, struktur data khusus dan perpustakaan fungsi kewangan yang kuat. Membina aplikasi dengan cara modular untuk meningkatkan kecekapan dan penyelenggaraan.
Contoh strategi MyLanguage: Sistem berdasarkan saluran Bollinger translasi
M := 12; // Parameter range 1, 20
N := 3; // Parameter range 1, 10
SDEV := 2; // Parameter range 1, 10
P := 16; // Parameter range 1, 20
//The strategy is a trend-following trading strategy for larger periods, such as daily.
//This model is only used as a case study for model development, and entering the market accordingly will be at your own risk.
////////////////////////////////////////////////////////
//Panning BOLL Channel Calculation
MID:=MA(C,N);//Calculate the middle track
TMP:=STD(C,M)*SDEV;//Calculate the standard deviation
DISPTOP:=REF(MID,P)+TMP;//Translate BOLL channel upper track
DISPBOTTOM:=REF(MID,P)-TMP;//Translate BOLL channel down track
//System admission
H>=DISPTOP,BPK;
L<=DISPBOTTOM,SPK;
AUTOFILTER;
Platform ini menyokong, dan serasi dengan, skrip dalam bahasaTrading View
. Bahasa PINE adalah bahasa pengaturcaraan reka bentuk strategi yang ringan namun kuat untuk membuat petunjuk dan strategi perdagangan langsung yang diuji, dengan forum yang berkembang maju yang telah mencipta lebih daripada 100,000 skrip PINE.
Pengguna boleh mengakses dan menggunakan pelbagai analisis teknikal dan strategi perdagangan dengan mudah; pengguna dapat dengan cepat melaksanakan idea perdagangan mereka dengan bantuan skrip komuniti, menghapuskan keperluan untuk menulis kod dari awal dan dengan itu mengurangkan masa pembangunan dengan ketara; ia membantu kedua-dua peniaga pemula dan berpengalaman untuk mempelajari dan memahami pelbagai petunjuk teknikal, strategi dan konsep pengaturcaraan.
Contoh strategi bahasa PINE: Strategi super trend
strategy("supertrend", overlay=true)
[supertrend, direction] = ta.supertrend(input(5, "factor"), input.int(10, "atrPeriod"))
plot(direction < 0 ? supertrend : na, "Up direction", color = color.green, style=plot.style_linebr)
plot(direction > 0 ? supertrend : na, "Down direction", color = color.red, style=plot.style_linebr)
if direction < 0
if supertrend > supertrend[2]
strategy.entry("entry long", strategy.long)
else if strategy.position_size < 0
strategy.close_all()
else if direction > 0
if supertrend < supertrend[3]
strategy.entry("entry short", strategy.short)
else if strategy.position_size > 0
strategy.close_all()
Platform kami menyokong pendekatan visual Blockly untuk pengaturcaraan. Dengan editor Blockly, pengguna boleh menyatakan konsep kod dengan menyusun blok grafik (mirip dengan blok bangunan), seperti pembolehubah, ungkapan logik, gelung, dan lain-lain. Dengan cara ini, proses pengaturcaraan tidak lagi perlu memberi perhatian yang terlalu banyak kepada butiran tatabahasa yang membosankan, dan boleh mengikuti prinsip pengaturcaraan secara langsung. Dengan mengatur dan menggabungkan blok grafik, pengguna dapat dengan mudah memahami logik pengaturcaraan dan merealisasikan idea kreatif. Ideal untuk mengembangkan minat dalam reka bentuk strategi untuk dengan cepat memulakan perdagangan berprogram, kuantitatif.