पायथन रणनीति कार्यक्रम द्वारा प्रयुक्त पायथन व्याख्याता सेट करें
पायथन में लिखी गई रणनीतियाँ, जब बैकटेस्टिंग या लाइव ट्रेडिंग, यदि डॉकर सिस्टम वातावरण में पायथन 2 और पायथन 3 दोनों स्थापित हैं, तो आप पायथन संस्करण को रणनीति की पहली पंक्ति पर रनटाइम पर लॉन्च करने के लिए सेट कर सकते हैं, जैसे कि#!python3
और#!python2
, ताकि सिस्टम स्वचालित रूप से दुभाषिया को ढूंढ लेगा. और आप एक पूर्ण पथ भी निर्दिष्ट कर सकते हैं, जैसेः#!/usr/bin/python3
.
पायथन आधारित रणनीति सुरक्षा
जब एफएमजेड क्वांट ट्रेडिंग प्लेटफॉर्म पर ट्रेडिंग रणनीतियों को विकसित किया जाता है, तो रणनीति सामग्री केवल एफएमजेड खाते धारकों के लिए दिखाई देती है। और एफएमजेड क्वांट ट्रेडिंग प्लेटफॉर्म पर, आप रणनीति कोड के पूर्ण स्थानीयकरण को प्राप्त कर सकते हैं। उदाहरण के लिए, एक रणनीति तर्क को एक में कैप्सूल किया जा सकता हैपायथनपैकेज, जो रणनीति कोड में लोड किया जाता है, ताकि रणनीति सामग्री स्थानीयकरण को महसूस किया जा सके।
पायथन कोड की सुरक्षाः
क्योंकि पायथन एक ओपन-सोर्स भाषा है जिसे डीकॉम्पाइल करना बेहद आसान है, यदि रणनीति व्यक्तिगत उपयोग के लिए नहीं है बल्कि किराए के लिए है, तो आप रणनीति को अपने स्वयं के तैनात डॉकर पर चला सकते हैं और इसे उप-खाता या पूर्ण डॉकर प्रबंधन के रूप में किराए पर ले सकते हैं यदि आप रणनीति रिसाव के बारे में चिंतित हैं।
पायथन रणनीति कोड का एन्क्रिप्शनः
डिफ़ॉल्ट रूप से, पायथन रणनीति कोड को लेखक द्वारा उपयोग किए जाने पर एन्क्रिप्ट नहीं किया जाता है और दूसरों को किराए पर दिए जाने पर एन्क्रिप्ट किया जाता है। पायथन रणनीति की शुरुआत में निम्नलिखित कोड को संपादित करके, आप निर्दिष्ट कर सकते हैं कि क्या व्यक्तिगत उपयोग या किराए के लिए रणनीति कोड को एन्क्रिप्ट करना है। पायथन संस्करण जो रणनीति कोड के एन्क्रिप्टेशन का समर्थन करते हैं वे इस प्रकार हैंः पायथन 2.7, पायथन 3.5 और पायथन 3.6.
जब रणनीति लेखक इसे स्वयं चलाता है या पंजीकरण कोड के माध्यम से दूसरों के लिए इसका उपयोग करता है, तो रणनीति कोड एन्क्रिप्ट किया जाता हैः
निर्दिष्ट करें#!python
पायथन दुभाषिया के संस्करण के रूप में, और फिर उपयोग,
अलग रखने के लिए; एन्क्रिप्शन कमांड दर्ज करेंencrypt
. यदि आप पायथन का संस्करण निर्दिष्ट नहीं करते हैं, तो आप जोड़ सकते हैं#!,encrypt
directly.
#!python,encrypt
या
#!encrypt
यह रणनीति कोड को एन्क्रिप्ट नहीं करेगा जब रणनीति लेखक अपने स्वयं के उपयोग के लिए चलाते हैं और पंजीकरण कोड के माध्यम से दूसरों के साथ साझा करते हैंः
#!python,not encrypted
या
#!not encrypted
कोड का प्रयोग करेंos.getenv('__FMZ_ENV__')
यह निर्धारित करने के लिए कि एन्क्रिप्शन कोड मान्य है या नहीं; स्ट्रिंग की वापसी"encrypt"
यह केवल लाइव ट्रेडिंग में मान्य है, और बैकटेस्टPython
रणनीति कोड।
#!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")