Atur penerjemah Python yang digunakan oleh program strategi Python
Strategi yang ditulis dalam Python, ketika backtesting atau live trading, jika lingkungan sistem docker memiliki Python2 dan Python3 yang terinstal, Anda dapat mengatur versi Python untuk diluncurkan pada runtime pada baris pertama strategi, seperti#!python3
dan#!python2
, sehingga sistem akan menemukan penerjemah secara otomatis. Dan Anda juga dapat menentukan jalur absolut, seperti:#!/usr/bin/python3
.
Keamanan Strategi berbasis Python
Ketika strategi trading dikembangkan di FMZ Quant Trading Platform, konten strategi hanya terlihat oleh pemegang akun FMZ. Dan di FMZ Quant Trading Platform, Anda dapat mencapai lokalisasi kode strategi yang lengkap.Pythonpaket, yang dimuat dalam kode strategi, sehingga lokalisasi konten strategi dapat direalisasikan.
Keamanan kode Python:
Karena Python adalah bahasa open-source yang sangat mudah dikompilasi, jika strategi tidak untuk penggunaan pribadi tetapi untuk disewa, Anda dapat menjalankan strategi pada docker yang digunakan sendiri dan menyewanya dalam bentuk sub-akun atau manajemen docker penuh jika Anda khawatir tentang kebocoran strategi.
Enkripsi kode strategi Python:
Secara default, kode strategi Python tidak dienkripsi ketika digunakan oleh penulis dan dienkripsi ketika disewa kepada orang lain. Dengan mengedit kode berikut di awal strategi Python, Anda dapat menentukan apakah akan mengenkripsi kode strategi untuk penggunaan pribadi atau penyewaan. Versi Python yang mendukung enkripsi kode strategi adalah sebagai berikut: Python 2.7, Python 3.5 dan Python 3.6.
Ketika penulis strategi menjalankan sendiri atau menggunakannya untuk orang lain melalui kode pendaftaran, kode strategi dienkripsi:
Tentukan#!python
sebagai versi interpreter Python, dan kemudian menggunakan,
untuk menjaga terpisah; masukkan perintah enkripsiencrypt
Jika Anda tidak menentukan versi Python, Anda dapat menambahkan#!,encrypt
directly.
#!python,encrypt
Atau
#!encrypt
Ini tidak akan mengenkripsi kode strategi ketika penulis strategi berjalan untuk penggunaan mereka sendiri dan berbagi dengan orang lain melalui kode pendaftaran:
#!python,not encrypted
Atau
#!not encrypted
Gunakan kodeos.getenv('__FMZ_ENV__')
untuk menentukan apakah kode enkripsi adalah valid; kembalinya string"encrypt"
Ini hanya berlaku dalam perdagangan langsung, dan backtest tidak akan mengenkripsiPython
kode 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")