টেমপ্লেট লাইব্রেরিএফএমজেড কোয়ান্ট ট্রেডিং প্ল্যাটফর্মে টেমপ্লেট লাইব্রেরী বৈশিষ্ট্য সমর্থন করে এমন প্রোগ্রামিং ভাষা হলJavaScript
, Python
, C++
, এবংBlockly
. যদি কৌশল তৈরি করার সময় বিভাগটি টেমপ্লেট ক্লাস লাইব্রেরিতে সেট করা থাকে, তবে বর্তমানে এফএমজেড কোয়ান্ট ট্রেডিং প্ল্যাটফর্মের অ্যাকাউন্টে লগ ইন করা অ্যাকাউন্টের কৌশল লাইব্রেরিতে একটি টেমপ্লেট লাইব্রেরি তৈরি করা হবে এবং তৈরির পরে বিভাগটি স্বাভাবিক কৌশলতে পরিবর্তন করা সম্ভব নয়।
এক্সপোর্ট ফাংশনটি টেমপ্লেট লাইব্রেরির একটি ইন্টারফেস ফাংশন, এবং এটি টেমপ্লেট লাইব্রেরির সাথে সম্পর্কিত কৌশল দ্বারা কল করা যেতে পারে।
/*
-- After the strategy references the template, call this method directly with $.Test()
-- The main function is not triggered in the strategy, it is only the entry point for template debugging
*/
$.Test = function() {
Log('Test')
}
function main() {
$.Test()
}
def Test():
Log("template call")
# Export the Test function, the main strategy can be called via ext.Test().
ext.Test = Test
// After the strategy references the template, call this method directly with ext::Test()
void Test() {
Log("template call");
}
টেমপ্লেট লাইব্রেরি বিভিন্ন প্রোগ্রামিং ভাষার জন্য একটি ভিন্ন বিন্যাসে লেখা হয়। টেমপ্লেট লাইব্রেরিতে ঘোষিত এবং বাস্তবায়িত ফাংশন এক্সপোর্ট করার জন্য একটি উদাহরণ কোড নিম্নরূপঃ
দ্যBlockly Visualization
কৌশল ব্যবহার লাইব্রেরি কার্যকারিতা একটি টেমপ্লেট ক্লাস লাইব্রেরি লেখা দ্বারা বাস্তবায়িত করা যেতে পারেJavaScript
নিম্নলিখিত লেখার ফর্ম্যাট ব্যবহার করে লিখিত।
/*blockly
{
"type": "ext_testA",
"message0": "testA|testA",
"template": "function(){return 99;}()",
"order": "ORDER_ATOMIC",
"output": "Number"
},{
"type": "ext_MA",
"message0": "MA 周期 %1| MA Period %1",
"args0": [{
"type": "input_value",
"check": "Number"
}],
"template": "(function(){var r = exchange.GetRecords(); return (!r || r.length < %1) ? false : TA.MA(r, %1); })()",
"order": "ORDER_ATOMIC",
"output": null,
"colour": 85
}
*/
টেমপ্লেট লাইব্রেরি নিজস্ব ইন্টারফেস প্যারামিটারও সেট করতে পারে, যা টেমপ্লেট লাইব্রেরির কোডে গ্লোবাল ভেরিয়েবলের আকারে ব্যবহৃত হয়। উদাহরণস্বরূপ, আমরা একটি টেমপ্লেট ক্লাস লাইব্রেরির পরামিতি সেট করিঃ
কৌশল কোডে প্যারামিটারের ভেরিয়েবলের নাম | কৌশল পর্দায় প্রদর্শিত পরামিতির নাম | প্রকার | ডিফল্ট মান |
---|---|---|---|
প্যারামিটার ১ | প্যারামিটার ১ | সংখ্যা | 99 |
$.SetParam1 = function(p1) {
param1 = p1
}
$.GetParam1 = function() {
Log("param1:", param1)
return param1
}
def SetParam1(p1):
global param1
param1 = p1
def GetParam1():
Log("param1:", param1)
return param1
ext.SetParam1 = SetParam1
ext.GetParam1 = GetParam1
void SetParam1(float p1) {
param1 = p1;
}
float GetParam1() {
Log("param1:", param1);
return param1;
}
পরীক্ষার জন্য টেমপ্লেট ক্লাস লাইব্রেরির কোডparam1
পরামিতিঃ
function main () {
Log("Call $.GetParam1:", $.GetParam1())
Log("Call $.SetParam1:", "#FF0000")
$.SetParam1(20)
Log("Call $.GetParam1:", $.GetParam1())
}
def main():
Log("Call ext.GetParam1:", ext.GetParam1())
Log("Call ext.SetParam1:", "#FF0000")
ext.SetParam1(20)
Log("Call ext.GetParam1:", ext.GetParam1())
void main() {
Log("Call ext::GetParam1:", ext::GetParam1());
Log("Call ext::SetParam1:", "#FF0000");
ext::SetParam1(20);
Log("Call ext::GetParam1:", ext::GetParam1());
}
উপরের টেমপ্লেট ক্লাস লাইব্রেরির কৌশল কোডটি উল্লেখ করুন এবং প্যারামিটার পেতে টেমপ্লেট ক্লাস লাইব্রেরির এক্সপোর্ট ফাংশনটি ব্যবহার করুনparam1
এবং প্যারামিটার পরিবর্তনparam1
.
যখন একটি কৌশল একটি টেমপ্লেট লাইব্রেরির রেফারেন্স করে, তখন এটির প্রয়োজন হয় যে বর্তমানে লগ ইন করা FMZ Quant Trading Platform অ্যাকাউন্টে তার কৌশল লাইব্রেরিতে একটি উপলব্ধ টেমপ্লেট লাইব্রেরি থাকে।কৌশল সম্পাদনা পাতা, কৌশল সংরক্ষণ করুন.
কৌশল কাঠামো এবং API ফাংশন কৌশল পরামিতি