[TOC]

موجد مقداری تجارتی پلیٹ فارم پر حکمت عملی تیار کرنا حکمت عملی کے پیرامیٹرز اور حکمت عملی کے تعاملات کو ڈیزائن کرنے سے الگ نہیں ہے۔ موجد مقداری تجارتی پلیٹ فارم سادہ، استعمال میں آسان، اور طاقتور مقداری تجارتی ٹولز فراہم کرنے اور مصنوعات کے ڈیزائن اور افعال کو مسلسل دہرانے کے لیے پرعزم ہے۔ “حکمت عملی کے پیرامیٹرز” اور “انٹریکشن کنٹرولز” کو اپ گریڈ کرکے، حکمت عملی کے ڈیزائن میں پیرامیٹرز اور تعاملات کی ڈیزائن لچک کو مزید بڑھا دیا گیا ہے۔ حکمت عملی کے پیرامیٹرز اور انٹرایکٹو کنٹرول کے افعال کو بہتر بنایا گیا ہے تاکہ کچھ ڈیزائن کی ضروریات کو حاصل کرنا آسان ہو جائے۔ اس مضمون میں، آئیے حکمت عملی کے ڈیزائن کے دو ضروری پہلوؤں پر ایک نظر ڈالتے ہیں: “حکمت عملی پیرامیٹر ڈیزائن” اور “حکمت عملی کا تعامل ڈیزائن”۔
Inventor Quant میں حکمت عملی کے پیرامیٹرز کی اقسام میں اضافہ نہیں ہوا ہے، اور وہ اب بھی پانچ قسم کے پیرامیٹرز ہیں جن سے ہم واقف ہیں:
پھر آپ مجھ سے ضرور پوچھیں گے کہ اس پلیٹ فارم اپ ڈیٹ میں کون سا مواد شامل اور بہتر کیا گیا ہے؟
یہ اپ گریڈ پیرامیٹر بائنڈنگ کنٹرولز کے لیے “اجزاء کی ترتیب” کا اضافہ کرتا ہے، “گروپنگ” اور “پیرامیٹر انحصار” کے افعال کو آسان بناتا ہے، اور ان دونوں افعال کو “جزو کی ترتیب” میں ضم کرتا ہے۔ پیرامیٹر کی ڈیفالٹ ویلیو کے لیے، ایک “اختیاری”/“مطلوبہ” آپشن شامل کیا جاتا ہے تاکہ یہ معلوم کیا جا سکے کہ آیا حکمت عملی آپریشن کے لیے اہل ہے، اگر پیرامیٹر “ضرورت” پر سیٹ ہے لیکن پیرامیٹر کنٹرول میں کوئی خاص قدر نہیں لکھی جاتی ہے۔ حکمت عملی پر عمل درآمد کیا جاتا ہے، پیرامیٹرز، حکمت عملی اس وقت نہیں چلائی جا سکتی۔ اب جب کہ ہمیں اپ گریڈ کی تبدیلیوں کے بارے میں عام فہم ہے، آئیے ان کی تفصیل سے جانچ کریں۔

ہم نے پہلے “اختیاری”/“ضروری” افعال کے بارے میں مختصراً بات کی تھی، اس لیے میں یہاں تفصیلات میں نہیں جاؤں گا۔ مندرجہ ذیل بنیادی طور پر “اجزاء کی ترتیب” کی وضاحت کرتا ہے:
ان کنٹرولز کی مختلف خصوصیات، اقسام اور قواعد مقرر کریں جن کے پیرامیٹرز مطابقت رکھتے ہیں (ان کے پابند ہیں)۔ عددی قسم کے پیرامیٹرز (نمبر کی قسم) کے لیے ڈیفالٹ باؤنڈ کنٹرول ایک ان پٹ باکس ہوتا ہے، آپ ان پٹ باکس کے ذریعے موصول ہونے والے ڈیٹا کے لیے اصول ترتیب دے سکتے ہیں، یعنی سیٹ کرنے کے لیے فگر میں “کم سے کم قدر” اور “زیادہ سے زیادہ قدر” کے کنٹرولز کا استعمال کریں۔ انہیں
پہلے سے طے شدہ ان پٹ باکس کنٹرول کے علاوہ، پلیٹ فارم نے شامل کیا ہے:

بولین قسم کے پیرامیٹرز اس لحاظ سے خاص ہیں کہ ان کے پاس صرف ایک متعلقہ کنٹرول ہے۔ یہ ڈیفالٹ سوئچ کنٹرول ہے۔ اور پیرامیٹر ڈیفالٹ ویلیو بھی درکار ہے۔
کیونکہ بولین اقدار یا تو صحیح ہیں یا غلط، وہ بائنری آپشنز ہیں۔ لہذا، اس پیرامیٹر کی قسم کے مطابق سوئچ کنٹرول کا استعمال کرنا بہت مناسب ہے۔
عام طور پر، بولین قسم کے پیرامیٹرز کو کنٹرول کرنے کے لیے استعمال کیا جاتا ہے کہ آیا پلیٹ فارم پر کچھ حکمت عملی کے افعال فعال ہیں یا نہیں۔

پہلے سے طے شدہ ان پٹ باکس کنٹرول کے علاوہ، پلیٹ فارم نے شامل کیا ہے:
متن “اجزاء کی قسم” میں، ترتیب کو بطور: متن منتخب کریں۔ موجودہ پیرامیٹر کے مطابق حکمت عملی کے انٹرفیس پر ان پٹ باکس کنٹرول ایک بڑے ٹیکسٹ باکس میں تبدیل ہو جائے گا۔ ٹیکسٹ کنٹرول اور عام ان پٹ باکس کنٹرول کے درمیان فرق یہ ہیں: ٹیکسٹ باکس میں درج ٹیکسٹ لپیٹ سکتا ہے، اور ٹیکسٹ باکس کنٹرول کے سائز کو ایڈجسٹ کرسکتا ہے۔ انٹرفیس پیرامیٹر کی متغیر قدر ہے: سٹرنگ۔
وقت چننے والا “اجزاء کی قسم” میں، ترتیب کو منتخب کریں بطور: ٹائم سلیکٹر۔ موجودہ پیرامیٹرز کے مطابق حکمت عملی کے انٹرفیس پر ان پٹ باکس کنٹرول وقت اور تاریخ کی ترتیب کے لیے ایک کنٹرول بن جائے گا۔ “اسٹرنگ ٹائپ پیرامیٹر کے ساتھ اجزاء کی قسم کے لئے وقت کا انتخاب کرنے والا” “نمبر قسم کے پیرامیٹر کے ساتھ اجزاء کی قسم کے لئے وقت کا انتخاب کرنے والا” سے مختلف ہے۔ فارمیٹ:
رنگ چنندہ “اجزاء کی قسم” میں، ترتیب کو منتخب کریں بطور: رنگ سلیکٹر۔ موجودہ پیرامیٹر کے مطابق حکمت عملی کے انٹرفیس پر ان پٹ باکس کنٹرول کلر سلیکشن کنٹرول بن جائے گا۔ عام طور پر رنگوں کو ترتیب دینے کے لیے پیرامیٹرز کو ڈیزائن کرنے کے لیے استعمال کیا جاتا ہے۔ انٹرفیس پیرامیٹر کی متغیر قدر ہے: سٹرنگ (منتخب کردہ رنگ کے مطابق رنگ کی قدر، مثال کے طور پر: #7e1717)۔

ڈراپ ڈاؤن باکس ٹائپ پیرامیٹر کا ڈیفالٹ متعلقہ کنٹرول ایک ڈراپ ڈاؤن باکس ہے، لیکن اس بار پچھلے سادہ سنگل سلیکٹ ڈراپ ڈاؤن باکس میں بہت زیادہ اپ گریڈ کیے گئے ہیں:
پہلے سے طے شدہ ڈراپ ڈاؤن باکس کنٹرول کے علاوہ، اس بار پلیٹ فارم شامل کرتا ہے:

انکرپٹڈ سٹرنگ ٹائپ پیرامیٹر بھی خاص ہے، اور اس میں صرف ایک متعلقہ کنٹرول ہے۔ یہ ڈیفالٹ انکرپٹڈ ان پٹ باکس کنٹرول ہے۔
پلیٹ فارم پر، انکرپٹڈ سٹرنگ ٹائپ کنٹرولز کا استعمال عام طور پر کچھ حساس معلومات، جیسے خفیہ کیز، پاس ورڈز وغیرہ کو سیٹ کرنے کے لیے کیا جاتا ہے۔ یہ ان پٹ پیرامیٹر ویلیوز مقامی طور پر انکرپٹ ہونے کے بعد منتقل کی جائیں گی۔
انٹرفیس پیرامیٹر کی متغیر قدر ہے: سٹرنگ۔
حکمت عملی کے انٹرفیس پیرامیٹرز کی مندرجہ بالا تمام اقسام کے لیے، یہ اپ گریڈ پچھلے “پیرامیٹر گروپنگ” اور “پیرامیٹر انحصار” کے افعال کو “جزو کی ترتیب” میں ضم کرتا ہے۔ تمام انٹرفیس پیرامیٹرز کے اجزاء کی ترتیب میں “گروپنگ” اور “فلٹر” کی ترتیبات موجود ہیں۔
گروہ بندی آپ گروپ ڈراپ ڈاؤن باکس کنٹرول میں براہ راست وہ لیبل درج کر سکتے ہیں جنہیں آپ گروپ بنانا چاہتے ہیں اور گروپ ان پٹ کی تصدیق کے لیے Enter کلید استعمال کر سکتے ہیں۔ سسٹم گروپ بندی کے اختیارات میں فی الحال درج کردہ لیبل کو ریکارڈ کرے گا۔ پھر آپ گروپس کو موجودہ انٹرفیس پیرامیٹرز کے لیے تفویض کر سکتے ہیں۔ گروپ بندی کے بعد، حکمت عملی کی بیک ٹیسٹنگ/حقیقی تجارتی انٹرفیس پر، گروپ کے طور پر نشان زد پیرامیٹرز کو گروپنگ ایریا میں ظاہر کیا جائے گا۔
فلٹرز فلٹر کنٹرول میں کچھ تاثرات درج کریں تاکہ یہ معلوم کیا جا سکے کہ آیا موجودہ پیرامیٹر کو چالو اور ڈسپلے کرنے کی ضرورت ہے۔ یہ فنکشن یہ محسوس کر سکتا ہے کہ موجودہ پیرامیٹر کو کسی خاص پیرامیٹر کی ترتیب کے لحاظ سے ظاہر یا چھپایا جا سکتا ہے۔ فلٹر اظہار کی مثالیں:
过滤器格式: a>b , a==1 , a , !a , a>=1&&a<=10 , a>b
یہاں، a اور b دونوں حکمت عملی انٹرفیس پیرامیٹرز کے متغیرات کی نمائندگی کرتے ہیں۔
اگر مندرجہ بالا وضاحتیں تھوڑی غیر فطری ہیں، تو ان کو سمجھنے کا بہترین طریقہ یہ ہے کہ ان پیرامیٹر کے افعال کو حقیقت میں استعمال اور جانچیں:
مثال کے طور پر جاوا اسکرپٹ کی زبان کی پالیسی لیں:
function main() {
Log("---------------------------开始测试数字类型参数---------------------------")
Log("变量pNum1:", pNum1, ", 变量值类型:", typeof(pNum1))
Log("变量pNum2:", pNum2, ", 变量值类型:", typeof(pNum2))
Log("变量pNum3:", pNum3, ", 变量值类型:", typeof(pNum3))
Log("变量pNum4:", pNum4, ", 变量值类型:", typeof(pNum4))
Log("---------------------------开始测试布尔类型参数---------------------------")
Log("变量pBool1:", pBool1, ", 变量值类型:", typeof(pBool1))
Log("变量pBool2:", pBool2, ", 变量值类型:", typeof(pBool2))
Log("---------------------------开始测试字符串类型参数---------------------------")
Log("变量pStr1:", pStr1, ", 变量值类型:", typeof(pStr1))
Log("变量pStr2:", pStr2, ", 变量值类型:", typeof(pStr2))
Log("变量pStr3:", pStr3, ", 变量值类型:", typeof(pStr3))
Log("变量pStr4:", pStr4, ", 变量值类型:", typeof(pStr4))
Log("---------------------------开始测试下拉框类型参数---------------------------")
Log("变量pCombox1:", pCombox1, ", 变量值类型:", typeof(pCombox1))
Log("变量pCombox2:", pCombox2, ", 变量值类型:", typeof(pCombox2))
Log("变量pCombox3:", pCombox3, ", 变量值类型:", typeof(pCombox3))
Log("---------------------------开始测试加密串类型参数---------------------------")
Log("变量pSecretStr1:", pSecretStr1, ", 变量值类型:", typeof(pSecretStr1))
}

مکمل پیرامیٹر جانچ کی حکمت عملی: https://www.fmz.com/strategy/455212
مندرجہ بالا پیرامیٹرز میں ایک پیرامیٹر انحصار ڈیزائن پوشیدہ ہے، بہت سی حکمت عملیوں میں ایک مخصوص پیرامیٹر کی بنیاد پر ترتیبات کی ایک سیریز کو فعال کرنے کی ضرورت ہوتی ہے، جو اس طرح کے پیرامیٹر انحصار کے ساتھ حاصل کی جا سکتی ہے۔
Inventor Quantitative Trading Platform میں حکمت عملی کے پانچ قسم کے انٹرایکٹو کنٹرولز بھی ہیں، اور ان انٹرایکٹو کنٹرولز کو بھی اس بار بہتر اور اپ گریڈ کیا گیا ہے۔ گروپ بندی کے فنکشن کو آسان بنانے کے لیے “جز کی ترتیب” شامل کی گئی۔

انٹرایکٹو کنٹرول بنیادی طور پر حکمت عملی انٹرفیس کے پیرامیٹرز کی “جزوں کی ترتیب” کی طرح ہوتے ہیں، ڈیفالٹ ان پٹ باکس کنٹرولز کے علاوہ، اجزاء کی قسمیں بھی معاونت کرتی ہیں:
استعمال حکمت عملی انٹرفیس پیرامیٹرز کے مختلف اجزاء کی اقسام کے جیسا ہی ہے، لہذا اسے یہاں دہرایا نہیں جائے گا۔

انٹرایکٹو کنٹرول بنیادی طور پر حکمت عملی انٹرفیس کے پیرامیٹرز کی “اجزاء کی ترتیب” کی طرح ہیں۔

ڈیفالٹ ان پٹ باکس کنٹرول کے علاوہ، جزو کی قسم بھی سپورٹ کرتی ہے:

انٹرایکٹو کنٹرول کے ڈراپ ڈاؤن باکس کو بھی اپ گریڈ کیا گیا ہے: “متعدد انتخاب کو سپورٹ کریں”، “کسٹم ڈیفالٹ ویلیوز”، آپشن بائنڈنگ مخصوص ڈیٹا وغیرہ۔
پہلے سے طے شدہ ڈراپ ڈاؤن باکس جزو کے علاوہ، درج ذیل شامل کیے گئے ہیں:

ایک بٹن قسم کے انٹرایکٹو کنٹرول میں کوئی ان پٹ آئٹم نہیں ہوتا ہے جب ٹرگر کیا جاتا ہے، بھیجی گئی انٹرایکٹو کمانڈ میں صرف بٹن کنٹرول کا نام ہوتا ہے۔
اسے سمجھنے کا بہترین طریقہ یہ ہے کہ اسے دستی طور پر جانچا جائے یہاں ایک جانچ کی حکمت عملی بھی تیار کی گئی ہے۔
واضح رہے کہ بیک ٹیسٹنگ سسٹم میں انٹرایکٹو کنٹرولز کی جانچ نہیں کی جا سکتی، اور صرف ریئل ٹائم ٹیسٹنگ ہی بنائی جا سکتی ہے۔
function main() {
var lastCmd = ""
while (true) {
var cmd = GetCommand() // 接收交互控件产生的消息
if (cmd) {
Log(cmd)
lastCmd = cmd
}
LogStatus(_D(), lastCmd)
Sleep(500)
}
}
تصادفی طور پر کچھ معلومات درج کریں، کچھ اختیارات سیٹ کریں، اور پھر انٹرایکٹو پیغامات تیار کرنے کے لیے انٹرایکٹو کنٹرول بٹن پر کلک کریں۔


مکمل انٹرایکٹو کنٹرول ٹیسٹنگ حکمت عملی: https://www.fmz.com/strategy/455231



function main() {
Log("参数test1使用币种控件选择后,test1的值为:", test1)
Log("参数test2使用交易代码控件选择后,test2的值为:", test2)
}

参数test1使用币种控件选择后,test1的值为: BTC

参数test2使用交易代码控件选择后,test2的值为: ETH_USDT.next_quarter

function main() {
while (true) {
var cmd = GetCommand()
if (cmd) {
Log(cmd)
}
Sleep(2000)
}
}

test1:SOL

test2:XRP_USDT.swap