एफएमजेड क्वांट ट्रेडिंग प्लेटफॉर्म पर मेरी रणनीति को लागू करने के लिए कौन सी प्रोग्रामिंग भाषाएं उपलब्ध हैं?एफएमजेड क्वांट ट्रेडिंग प्लेटफॉर्म समर्थन करता है
JavaScript
,TypeScript
,Python
,C++
,PINE
,My Language
,Blockly
रणनीति लिखने और डिजाइन करने के लिए विज़ुअलाइज़ेशन।
यह जावास्क्रिप्ट भाषा का समर्थन करता है और निम्नलिखित जावास्क्रिप्ट पुस्तकालयों को एकीकृत करता हैः
JavaScript
भाषा रणनीति, जब एक प्रोग्राम अपवाद त्रुटि या इंटरफ़ेस व्यवसाय त्रुटि होती है, त्रुटि लॉग रणनीति कोड में विशिष्ट पंक्ति संख्या प्रदर्शित करेगा जहां त्रुटि हुई थी, जो रणनीति डिबगिंग और बग समस्या निवारण के लिए सुविधाजनक है।यह समर्थन करता हैTypeScript
भाषा, अभी भी इसे सेट करेंJavaScript
रणनीति जब हम रणनीतियों बनाने, तो हम लिखते हैं// @ts-check
रणनीति कोड की शुरुआत में या बटन पर क्लिक करेंTypeScript
रणनीति संपादन क्षेत्र के ऊपरी दाएं कोने में स्विच करने के लिएTypeScript
. प्लेटफॉर्म कोड को पहचान लेगाTypeScript
स्वचालित रूप से और आप के लिए संबंधित संकलन और प्रकार की जाँच समर्थन प्रदान करने के लिएः
पायथन रणनीति कार्यक्रम द्वारा प्रयुक्त पायथन व्याख्याता सेट करें
पायथन में लिखी गई रणनीतियाँ, जब बैकटेस्टिंग या लाइव ट्रेडिंग, यदि डॉकर सिस्टम वातावरण में पायथन 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")
हमारा मंच C++ प्रोग्रामिंग भाषा औरC++ 11
मानक. सी ++ में रणनीतियाँ पूर्व-कंपाइल और फिर निष्पादित की जाती हैं। बैकटेस्टिंग सिस्टम में सी ++ में रणनीतियाँ बैकटेस्टिंग सिस्टम के सी ++ बैकटेस्टिंग सर्वर पर चलती हैं; बॉट वातावरण में सी ++ में रणनीतियाँ संकलित होने के बाद डॉकर के आधार पर चलती हैं।
सी++ प्रोग्रामिंग भाषा का उपयोग करना औरC++ 11
मानक, आप एफएमजेड क्वांट ट्रेडिंग प्लेटफॉर्म पर शक्तिशाली और कुशल ट्रेडिंग रणनीतियों का विकास कर सकते हैं। सी ++ की आधुनिक सुविधाओं का उपयोग करके, आप स्वचालित ट्रेडिंग के लिए लचीले और स्केलेबल ट्रेडिंग एल्गोरिदम बना सकते हैं।
निम्नलिखित सी++ पुस्तकालयों को एकीकृत किया गया हैः
यह MyLanguage में लेखन और डिजाइन रणनीति का समर्थन करता है, जो वेंहुआ MyLanguage के अधिकांश व्याकरण, आदेशों और कार्यों के साथ संगत है। MyLanguage बिल्डिंग ब्लॉक प्रोग्रामिंग को प्रोत्साहित करता है, जो जटिल एल्गोरिदम को कार्यों में तोड़ता है। यह संक्षिप्त व्याकरण, विशेष डेटा संरचनाओं और वित्तीय फ़ंक्शन पुस्तकालयों की एक शक्तिशाली पुस्तकालय के माध्यम से जटिल वित्तीय तर्क अनुप्रयोगों का समर्थन करता है। दक्षता और रखरखाव में सुधार के लिए मॉड्यूलर तरीके से अनुप्रयोगों का निर्माण करें।
MyLanguage रणनीति उदाहरण: ट्रांसलेशनल बोलिंगर चैनल पर आधारित प्रणाली
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;
यह प्लेटफॉर्म पाइन भाषा में स्क्रिप्ट का समर्थन करता है और इसके साथ संगत है।Trading View
. PINE भाषा एक हल्के लेकिन शक्तिशाली रणनीति डिजाइन प्रोग्रामिंग भाषा है जो बैकटेस्ट किए गए, लाइव-ट्रेडिंग संकेतकों और रणनीतियों को बनाने के लिए है, जिसमें एक संपन्न मंच है जिसने 100,000 से अधिक PINE स्क्रिप्ट बनाई हैं।
उपयोगकर्ता आसानी से तकनीकी विश्लेषण और ट्रेडिंग रणनीतियों की एक विस्तृत श्रृंखला तक पहुंच और लागू कर सकते हैं; उपयोगकर्ता सामुदायिक स्क्रिप्ट की मदद से अपने ट्रेडिंग विचारों को जल्दी से लागू कर सकते हैं, स्क्रैच से कोड लिखने की आवश्यकता को समाप्त कर सकते हैं और इस प्रकार विकास समय को काफी कम कर सकते हैं; यह नौसिखिया और अनुभवी दोनों व्यापारियों को विभिन्न तकनीकी संकेतकों, रणनीतियों और प्रोग्रामिंग अवधारणाओं को सीखने और समझने में मदद करता है।
पाइन भाषा रणनीति उदाहरणः सुपर ट्रेंड रणनीति
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()
हमारे मंच प्रोग्रामिंग के लिए ब्लॉकली दृश्य दृष्टिकोण का समर्थन करता है। ब्लॉकली संपादक के साथ, उपयोगकर्ता ग्राफिक ब्लॉक (बिल्डिंग ब्लॉक के समान) को एक साथ जोड़कर कोड अवधारणाओं को व्यक्त कर सकते हैं, जैसे कि चर, तार्किक अभिव्यक्ति, लूप, आदि। इस तरह, प्रोग्रामिंग प्रक्रिया को अब थकाऊ व्याकरण विवरणों पर बहुत अधिक ध्यान देने की आवश्यकता नहीं है, और सीधे प्रोग्रामिंग सिद्धांतों का पालन कर सकते हैं। ग्राफिक ब्लॉक को व्यवस्थित और संयोजित करके, उपयोगकर्ता आसानी से प्रोग्रामिंग तर्क को समझ सकते हैं और रचनात्मक विचारों को महसूस कर सकते हैं। प्रोग्रामेटिक, मात्रात्मक व्यापार के साथ जल्दी से शुरू करने के लिए रणनीति डिजाइन में रुचि विकसित करने के लिए आदर्श।