
بصری پروگرامنگ ہمیشہ سے سافٹ ویئر ٹول ڈویلپرز کے لیے ایک مطلوبہ ہدف رہا ہے، یہاں تک کہ مقداری تجارت کے میدان میں بھی۔ کیونکہ “جو آپ دیکھتے ہیں وہی آپ کو ملتا ہے” تصور کا نقطہ نظر پروگرامنگ کی ترقی کے لیے تکنیکی حد کو بہت حد تک کم کر دیتا ہے۔ صارفین کو اب بورنگ کوڈنگ کے ایک گروپ سے نمٹنے کی ضرورت نہیں ہے، انہیں صرف اپنے دماغ، تخیل اور منطقی سوچ کو استعمال کرنے اور کاروبار پر توجہ مرکوز کرنے کی ضرورت ہے۔ آپ اپنے مطلوبہ پروگرام کو محسوس کر سکتے ہیں، کیا یہ حیرت انگیز نہیں ہے!
پھر آئیے ایک ساتھ مقداری تجارتی حکمت عملیوں کے بصری پروگرامنگ کے میدان میں داخل ہوں!
https://www.fmz.com پر لاگ ان ہونے کے بعد، ایک اکاؤنٹ رجسٹر کریں (اگر آپ پہلے ہی رجسٹرڈ ہیں تو براہ راست لاگ ان کریں)، اور کلک کریں: کنٹرول سینٹر->پالیسی لائبریری->نئی پالیسی۔

ہم ایک ابتدائی تصوراتی حکمت عملی دیکھ سکتے ہیں۔ یہ صرف ڈیفالٹ کنفیگرڈ ایکسچینج کے اکاؤنٹ اثاثہ کی معلومات کو آؤٹ پٹ کرتا ہے (بیک ٹیسٹ یا روبوٹ میں پہلی ایکسچینج آبجیکٹ)۔ (جیسا کہ نیچے دکھایا گیا ہے)

## اس سے پہلے کہ ہم ویژولائزیشن کا استعمال سیکھنا شروع کریں، ہم پہلے تصور کے کچھ ڈیزائن تصورات کو سمجھ سکتے ہیں۔
ایک محتاط مشاہدے سے پتہ چلتا ہے کہ تمام ماڈیولز میں tenons (concave) اور mortises (convex) ہوتے ہیں، جس کا مطلب ہے کہ ماڈیولز “منسلک” اور “منسلک” ہوسکتے ہیں۔ اگر دو ماڈیولز کے ذریعے دکھائے گئے فنکشنل کوڈز کو جوڑا جا سکتا ہے، تو جب آپ دونوں ماڈیولز کے مورٹیز اور ٹیونن کو ایک دوسرے کے قریب لائیں گے تو وہ ایک ساتھ ٹوٹ جائیں گے۔

کچھ ماڈیولز میں کچھ خاص ترتیبات ہوتی ہیں، مثال کے طور پر:

آپ “پروجیکٹ” ماڈیول کو بائیں طرف “جوائن” ماڈیول کی طرف گھسیٹ سکتے ہیں، تاکہ آپ مورٹیز اور ٹینن پوزیشن کو شامل کر سکیں، اس طرح متن کو الگ کرنے کے لیے ایک پوزیشن شامل کر سکیں۔ اس طرح، آپ چھوٹے گیئر پر کلک کر کے ماڈیول کے لیے کچھ ایڈجسٹمنٹ اور سیٹنگز کر سکتے ہیں۔
کچھ ماڈیولز کو ان پٹ پیرامیٹرز کی ضرورت ہوتی ہے، جو کہ ویلیوز، سٹرنگز وغیرہ ہو سکتے ہیں۔ اگر آپ متغیرات کو ماڈیول کے ان پٹ پیرامیٹرز کے طور پر شامل نہیں کرتے ہیں، تو ماڈیول کو پہلے سے طے شدہ ان پٹ پیرامیٹرز کے مطابق عمل میں لایا جائے گا۔
مربع جڑیں تلاش کرنے کے لیے اس جیسا کیلکولیشن ماڈیول اس ماڈیول کے حساب کے نتائج کو ظاہر کرتا ہے۔
جیسا کہ آپ دیکھ سکتے ہیں، اگر ان پٹ پیرامیٹر غائب ہے، ڈیفالٹ ویلیو 9 کو ان پٹ پیرامیٹر کے طور پر 9 کے مربع جڑ کا حساب لگانے کے لیے استعمال کیا جاتا ہے۔

بلاشبہ، اگر آپ متغیر ماڈیول کو ان پٹ پیرامیٹر کے طور پر استعمال کرنا چاہتے ہیں، تو آپ متغیر ماڈیول کو مورٹیز اور ٹینون (رسیس) پوزیشن سے براہ راست جوڑ سکتے ہیں۔

ماڈیول پر کلک کیا جا سکتا ہے اور بائیں ماؤس کے بٹن سے گھسیٹا جا سکتا ہے۔ ماڈیولز کو ctrl + c کا استعمال کرتے ہوئے کاپی کیا جا سکتا ہے اور ctrl + v کا استعمال کرتے ہوئے پیسٹ کیا جا سکتا ہے، بالکل اسی طرح جیسے آسانی سے کوڈ یا ٹیکسٹ کو کاپی اور پیسٹ کرنا۔ آپریشن کے علاقے کو ماؤس وہیل کا استعمال کرتے ہوئے اوپر یا نیچے چھوٹا کیا جا سکتا ہے، اور تمام ماڈیول اوپر یا نیچے کیے جائیں گے۔ آپریشن کے علاقے میں خالی جگہ پر کلک کریں اور تھامیں اور آپریشن کے علاقے کو منتقل کرنے کے لیے گھسیٹیں۔ ردی کی ٹوکری دائیں طرف ان ماڈیولز کو ریکارڈ کرتی ہے جو حال ہی میں حذف کیے گئے تھے۔ سب سے اہم بات، ماڈیول کی حکمت عملی کو جمع کرنے کے بعد، “محفوظ کریں” پر کلک کرنا نہ بھولیں۔
آپ دیکھ سکتے ہیں کہ بصری ترمیم کے علاقے کے بائیں جانب بہت سے ماڈیول زمرے ہیں، اور ہر زمرے میں بہت سے دستیاب بصری ماڈیولز موجود ہیں۔
کل 11 زمرے ہیں۔

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

جاوا اسکرپٹ لینگویج کوڈ کی طرح:
function main(){
Log("你好,可视化编程!")
}
یہ ماڈیول “آؤٹ پٹ انفارمیشن” جیسا ہی نظر آتا ہے، سوائے اس کے کہ یہ معلومات کو آؤٹ پٹ کرتا ہے اور اسے کرنٹ اکاؤنٹ سے منسلک WeChat اکاؤنٹ میں دھکیلتا ہے۔

جاوا اسکرپٹ لینگویج کوڈ کی طرح:
function main () {
Log("微信推送!@")
}
تھرو ایکسپشن ماڈیول پروگرام کو ایک غلطی پیدا کرنے اور پھر پروگرام پر عمل درآمد روکنے کی اجازت دیتا ہے (استثنیٰ ہینڈلنگ کوڈ لکھے بغیر)۔

یہ جاوا اسکرپٹ کی حکمت عملی کی طرح ہے جہاں تھرو “سٹرنگ ٹو بی آؤٹ پٹ” فنکشن کو مین فنکشن میں براہ راست عمل میں لایا جاتا ہے۔
function main () {
throw "第一句就抛出异常,让程序停止!"
}
بیک ٹیسٹنگ کے نتائج:
یہ عام طور پر ڈیبگنگ کے دوران زیادہ کثرت سے استعمال ہوتا ہے، مثال کے طور پر، جب آپ چاہتے ہیں کہ پروگرام کو کسی خاص حالت میں روکا جائے اور اس وقت کچھ ڈیٹا پرنٹ کریں تاکہ آسانی سے مشاہدہ کیا جا سکے۔
یا آپ کوڈ فلو میں ایک استثنائی تھرونگ ماڈیول رکھ سکتے ہیں جہاں مسائل پیش آ سکتے ہیں، تاکہ پروگرام غلطیوں کی اطلاع دے سکے اور کچھ خامیاں دریافت کر سکے۔
ہائبرنیشن ماڈیول
جیسا کہ جاوا اسکرپٹ کی حکمت عملی میں ہے:
function main () {
Sleep(1000 * 5)
}
ہائبرنیشن ماڈیول کی جانچ کریں:
بیک ٹیسٹنگ کے نتائج:


یہ ماڈیول Inventor Quantitative Trading Platform API کے LogProfit فنکشن سے ملتا جلتا ہے، منافع کے لاگ کو پرنٹ کرتا ہے اور ان پٹ پیرامیٹرز کی بنیاد پر منافع کے منحنی خطوط کو خود بخود کھینچتا ہے۔
مثال کے طور پر:
Backtest عملدرآمد ذیل میں دکھایا گیا ہے:
متعلقہ جاوا اسکرپٹ پالیسی کوڈ درج ذیل ہے:
function main () {
LogProfit(1)
Sleep(1000 * 5)
LogProfit(2)
Sleep(1000 * 5)
LogProfit(3)
Sleep(1000 * 5)
LogProfit(2)
Sleep(1000 * 5)
LogProfit(5)
}
اسے کسی بھی جگہ پر تقسیم کیا جاسکتا ہے جہاں آپ آمدنی کی معلومات کو آؤٹ پٹ کرنا چاہتے ہیں۔
لوپ ماڈیول کٹے ہوئے ماڈیول کے امتزاج کی ایک سیریز کو لپیٹ سکتا ہے اور اس ماڈیول کے امتزاج کو لوپ میں کام کرنے دیتا ہے۔
ٹیسٹ:
بیک ٹیسٹنگ کے نتائج:
یہ دیکھا جا سکتا ہے کہ لوپ ماڈیول کے پرنٹ پرافٹ اور سلیپ پر مشتمل ماڈیول کے امتزاج کو لپیٹنے کے بعد، ماڈیول کے امتزاج کو مسلسل عمل میں لایا جائے گا۔
اس ماڈیول کا استعمال بنیادی طور پر لوپ ماڈیول جیسا ہی ہے، فرق صرف اتنا ہے کہ اس ماڈیول میں بلٹ ان سلیپ فنکشن ہے۔

یہ ماڈیول استعمال کیا جا سکتا ہے جب متغیر ماڈیولز یا عددی قدروں کو درستگی کو کنٹرول کرنے کی ضرورت ہو، ان پٹ پیرامیٹر حصے کی عددی قدر سیٹنگز کے مطابق مخصوص اعشاریہ کی عددی قدر کے طور پر آؤٹ پٹ ہو گی۔
مثال کے طور پر، نمبر 3.1415926535897 پر درستگی کے ساتھ کارروائی کی جاتی ہے۔

بیک ٹیسٹنگ شوز:


لاگز کو صاف کرنے کے لیے استعمال کیا جاتا ہے ان پٹ پیرامیٹرز پر منحصر ہے، کچھ لاگز کو برقرار رکھا جا سکتا ہے۔ جیسا کہ API دستاویزات میں ہے:
LogReset()

ریونیو لاگ کو صاف کرنے کے لیے استعمال کیا جاتا ہے ان پٹ پیرامیٹرز پر منحصر ہے، لاگ کا ایک حصہ برقرار رکھا جا سکتا ہے۔ جیسا کہ API دستاویزات میں ہے:
LogProfitReset()

اس ٹول ماڈیول کو “ٹریڈنگ ماڈیول کی قسم” میں مارکیٹ ماڈیول کے ساتھ استعمال کرنے کی ضرورت ہے، جیسا کہ تصویر میں دکھایا گیا ہے:

تازہ ترین ٹکر مارکیٹ کی تازہ ترین لین دین کی قیمت کو آؤٹ پٹ کرنے کے لیے آؤٹ پٹ انفارمیشن ماڈیول کا استعمال کریں:

بیک ٹیسٹنگ شوز:

JavaScript حکمت عملی کوڈ کی طرح:
function main () {
Log(exchange.GetTicker().Last)
}

اس ماڈیول کو “ٹریڈنگ ماڈیول قسم” میں K-line ڈیٹا ایکوزیشن ماڈیول کے ساتھ استعمال کرنے کی بھی ضرورت ہے۔
پہلے ایک متغیر ماڈیول بنائیں اور اسے نام دیں: K-line۔
پھر K-line ڈیٹا حاصل کریں، اسے حاصل کرنے کے لیے K-line ڈیٹا ماڈیول کا استعمال کریں، اور اسے متغیر ماڈیول کے لیے تفویض کریں: “K-line”۔
پھر K-line متغیر ماڈیول کی لمبائی حاصل کرنے کے لیے “لسٹ ماڈیول کی قسم” میں فہرست کی لمبائی کے ماڈیول کا استعمال کریں، جس کا استعمال یہ بتانے کے لیے کیا جاتا ہے کہ K-لائن کے کس بار سے ڈیٹا حاصل کرنا ہے۔
ایک ساتھ سلائی کریں، جیسا کہ دکھایا گیا ہے:
جب بیک ٹیسٹ چلایا جاتا ہے، آخری K-لائن بار کا ٹائم اسٹیمپ پرنٹ ہو جاتا ہے۔


اسے “ٹرانزیکشن ماڈیول کی قسم” میں گیٹ ڈیپتھ ڈیٹا ماڈیول کے ساتھ استعمال کرنے کی بھی ضرورت ہے۔

انڈیکس کو 0 پر سیٹ کریں، سیل آرڈر سیٹ کریں، اور سیل ون آرڈر کی معلومات حاصل کریں۔

JavaScript حکمت عملی کوڈ کی طرح:
function main () {
Log(exchange.GetDepth().Asks[0])
}
اس ماڈیول کو Get Asset Information ماڈیول کے ساتھ استعمال کرنے کی ضرورت ہے۔

مثال کے طور پر: کرنٹ اکاؤنٹ میں دستیاب سکے کی تعداد پرنٹ کریں۔

بیک ٹیسٹنگ شوز:

جیسا کہ جاوا اسکرپٹ کی حکمت عملی میں ہے:
function main () {
Log(exchange.GetAccount().Stocks)
}

اس ماڈیول کا استعمال آرڈر ڈیٹا میں کسی خاص وصف کی قدر حاصل کرنے کے لیے کیا جاتا ہے، جیسے آرڈر بک میں پہلی فروخت کی قیمت یا مقدار (مثال نمبر 13)۔

بیک ٹیسٹنگ کے نتائج:
جیسا کہ جاوا اسکرپٹ کی حکمت عملی میں ہے:
function main () {
Log(exchange.GetDepth().Asks[0].Price)
}
اسے “Query Order Details Module” (جس کی وضاحت ایڈوانس سیکشن میں کی جائے گی) کے ذریعے واپس کردہ آرڈر کی معلومات میں ایک خاص وصف حاصل کرنے کے لیے بھی استعمال کیا جا سکتا ہے۔

اسی طرح، اسے “گیٹ فیوچرز پوزیشن ماڈیول” کے ساتھ استعمال کیا جانا چاہیے، واضح رہے کہ گیٹ فیوچر پوزیشن ماڈیول کے ذریعے واپس کردہ پوزیشن ڈیٹا ایک صف (فہرست) ہے، جو مختلف معاہدوں اور سمتوں کی پوزیشنوں پر مشتمل ڈیٹا کا ڈھانچہ ہے۔ . لہذا، آپ کو اس کا استعمال کرتے وقت انڈیکس کی وضاحت کرنی ہوگی۔
بہت کچھ سیکھنے کے بعد، آئیے ایک ہیجنگ آپریشن کو یکجا کریں، یعنی ایک ہی وقت میں قریبی مدت اور فارورڈ دونوں معاہدوں کو ہیج کریں۔ ہم ایک مثبت ثالثی ہیج بناتے ہیں، یعنی ایک مختصر فارورڈ کنٹریکٹ، 1 کنٹریکٹ کھولتے ہیں، اور قریبی مدت میں ایک طویل معاہدہ کھولتے ہیں۔

بیک ٹیسٹنگ کے نتائج:

تصور کی مثال کی حکمت عملی:
مزید حکمت عملی یہاں دستیاب ہیں: https://www.fmz.com/square
اس سلسلے کے دیگر مضامین