Sumber dimuat naik... memuat...

Bahasa Pengaturcaraan

Bahasa pemrograman apa yang tersedia untuk melaksanakan strategi saya di Platform Dagangan Kuantum FMZ?Programming languages supportedPlatform Perdagangan Kuantum FMZ menyokongJavaScript, TypeScript, Python, C++, PINE, My Language, BlocklyVisualisasi untuk menulis dan merancang strategi.

JavaScript

Ia menyokong bahasa JavaScript dan mengintegrasikan perpustakaan JavaScript berikut:

TypeScript

Ia menyokongTypeScriptbahasa, masih menetapkannya kepadaJavaScriptstrategi apabila kita mencipta strategi, maka kita menulis// @ts-checkpada permulaan kod strategi atau klik butangTypeScriptdi sudut kanan atas kawasan penyuntingan strategi untuk beralih keTypeScriptPlatform akan mengenali kod sebagaiTypeScriptsecara automatik dan menyediakan anda dengan penyusunan yang sepadan dan sokongan pemeriksaan jenis untuk:

  • Keselamatan jenis: Fungsi pemeriksaan jenis statik TypeScript dapat membantu anda mencari kemungkinan kesilapan semasa menulis kod dan meningkatkan kualiti kod.
  • Penyelesaian kod automatik: Sistem jenis TypeScript menjadikannya lebih cepat untuk mencari atribut dan kaedah yang anda perlukan semasa menulis kod, meningkatkan kecekapan pembangunan.
  • Struktur kod yang lebih jelas: Dengan TypeScript, anda boleh mengatur dan mengekalkan kod anda dengan lebih baik, menjadikannya mudah dibaca dan difahami.
  • Ciri pengaturcaraan berorientasikan objek yang kuat: TypeScript menyediakan ciri pengaturcaraan berorientasikan objek yang kuat, seperti antara muka, kelas, generik dan sebagainya, membantu anda menulis kod strategi yang lebih mantap dan boleh digunakan semula.

Python

  • 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#!python3dan#!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#!pythonsebagai 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 menyulitkanPythonKod 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")
    

C++

Platform kami menyokong bahasa pengaturcaraan C++ danC++ 11Strategi 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++ 11menggunakan ciri-ciri moden C ++, anda boleh membina algoritma perdagangan yang fleksibel dan berskala untuk perdagangan automatik.

Perpustakaan C ++ berikut disatukan:

MyLanguage

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;

Bahasa PINE

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()

Visualisasi Blok

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.

Selamat datang di Platform Dagangan Kuantum FMZ Keselamatan Utama