یہ JSON ڈھانچہ HttpQuery فنکشن کے پیرامیٹرز اور HttpQuery_Go فنکشن کو Http درخواست بھیجنے کے لئے تشکیل دینے کے لئے استعمال کیا جاتا ہے.
درخواست کا طریقہ، مثلاً:GET
, POST
، وغیرہ
طریقہ کار
سٹرنگ
درخواست کا جسم۔ مثال کے طور پر ، POST درخواست میں ، جسم میں فارم ڈیٹا ، JSON ، متن وغیرہ شامل ہوسکتے ہیں۔
جسم
سٹرنگ
حروف سیٹ کوڈنگ۔ مثال کے طور پر ، جسم میں متن کے اعداد و شمار کی کوڈنگ کی وضاحت کریں:"UTF-8"
.
چرسٹ
سٹرنگ
کوکی ڈیٹا کا ایک چھوٹا سا ٹکڑا ہے جو کلائنٹ (عام طور پر براؤزر) اور سرور کے مابین ریاست کی معلومات کو ذخیرہ کرنے اور تبادلہ کرنے کے لئے استعمال ہوتا ہے۔
کوکی
سٹرنگ
براؤزر ٹی ایل ایس کے فنگر پرنٹ کی نقالی کرنے کے لئے استعمال کیا.
پروفائل
سٹرنگ
جب درست پر سیٹ کیا جاتا ہے تو ، HttpQuery فنکشن کال مکمل رسپانس میسج واپس کرتا ہے۔ جب غلط پر سیٹ کیا جاتا ہے تو ، صرف رسپانس میسج باڈی میں موجود ڈیٹا واپس کیا جاتا ہے۔
ڈیبگ
بول
درخواست ہیڈر کی معلومات کلیدی قدر کے جوڑوں (JSON ساخت) کی شکل میں موجود ہیں اور مختلف معلومات ، جیسے مواد کی قسم ، توثیق کی معلومات ، کیش کنٹرول وغیرہ منتقل کرنے کے لئے استعمال ہوتی ہیں۔
ہیڈر
JSON
ٹائم آؤٹ سیٹنگ۔ 1000 سیٹنگ کا مطلب ہے 1 سیکنڈ کا ٹائم آؤٹ۔
ٹائم آؤٹ
نمبر
استعمال کا مثال:
function main() {
var options = {
method: "POST",
body: "a=10&b=20&c=30",
charset: "UTF-8",
cookie: "session_id=12345; lang=en",
profile: "chrome_103",
debug: false,
headers: {"TEST-HTTP-QUERY": "123"},
timeout: 1000
}
var ret = HttpQuery("http://127.0.0.1:8080", options)
Log(ret)
}
مندرجہ بالا کوڈ کو چلانے پر بھیجا گیا HTTP پیغام:
POST / HTTP/1.1
Content-Type: application/x-www-form-urlencoded
Cookie: session_id=12345; lang=en
Host: 127.0.0.1:8080
Test-Http-Query: 123
Transfer-Encoding: chunked
User-Agent: Mozilla/5.0 (Macintosh; ...
Accept-Encoding: gzip, deflate, br
e
a=10&b=20&c=30
0
{@fun/Global/HttpQuery HttpQuery}، {@fun/Global/HttpQuery_Go HttpQuery_Go}
یہ JSON ساخت ڈیبگ موڈ میں HttpQuery تقریب کی طرف سے واپس ڈیٹا کی ساخت ہے جب ڈیبگ میدان میںoptions
ساخت پیرامیٹر سچ ہے.
HTTP حالت کا کوڈ اسٹیٹس کوڈ نمبر ہیڈر کی معلومات کی درخواست کریں. ہیڈر JSON کوکیز کی معلومات کوکیز صف درخواست کا مکمل راستہ. ٹریس JSON پیغام کی لمبائی لمبائی نمبر پیغام کا مواد۔ جسم سٹرنگ
واپس آنے والے JSON ڈیٹا ڈھانچے کی ایک مثال یہ ہے:
{
"StatusCode": 302,
"Header": {
"Content-Type": ["text/html"],
// ...
},
"Cookies": [{
// ...
}],
"Trace": {},
"Length": 154,
"Body": "..."
}
{@fun/Global/HttpQuery HttpQuery}، {@fun/Global/HttpQuery_Go HttpQuery_Go}
یہ JSON ڈھانچہ حکمت عملی کی حیثیت بار میں دکھایا گیا ٹیبل کے مواد کو ترتیب دینے کے لئے استعمال کیا جاتا ہے.
UI اور کنٹرولز کی قسم کو ترتیب دینے کے لئے استعمال کیا جاتا ہے جسے تجزیہ اور ظاہر کیا جائے گا۔ اسٹیٹس بار ٹیبل کے لئے یہ مقررہ طور پر مقرر کیا گیا ہے:table
.
قسم
سٹرنگ
اسٹیٹس بار ٹیبل کا عنوان مقرر کرنے کے لئے استعمال کیا جاتا ہے.
عنوان
سٹرنگ
اسٹیٹس بار ٹیبل کے کالم کے عنوانات مقرر کرنے کے لئے استعمال کیا جاتا ہے۔ صف کا پہلا عنصر پہلے کالم کا عنوان ہے ، اور اسی طرح.
کالا
صف
ریاست بار ٹیبل کے صف کے اعداد و شمار کو ترتیب دینے کے لئے استعمال کیا جاتا ہے۔ صفوں کی صف کا پہلا عنصر (دو جہتی صف) بھی ایک صف کی ساخت ہے۔ اس صف کی ساخت کی لمبائی ٹیبل کالموں کی تعداد کے مطابق ہونی چاہئے (صف کی ساخت میں عناصر ٹیبل کالم کے ناموں کے مطابق ہیں) ، یعنی ، جدول میں اعداد و شمار کی پہلی صف۔
صفیں
صف
function main() {
var tbl = {
type: "table",
title: "title",
cols: ["Column 1", "Column 2", "Column 3"],
rows: [
["Row 1 Column 1", "Row 1 Column 2", "Row 1 Column 3"],
["Row 2 Column 1", "Row 2 Column 2", "Row 2 Column 3"],
["Row 3 Column 1", "Row 3 Column 2", "Row 3 Column 3"],
]
}
LogStatus("`" + JSON.stringify(tbl) + "`")
}
{@fun/Log/LogStatus لاگ اسٹیٹس}
یہ JSON ڈھانچہ حالت بار میں بٹن کنٹرول کو ترتیب دینے کے لئے استعمال کیا جاتا ہے۔ بٹن کنٹرول JSON ڈھانچہ حالت بار ٹیبل JSON ڈھانچے میں سرایت کیا جاسکتا ہے۔ یہ ڈھانچہ ایک پرانا ورژن ڈھانچہ ہے ، اور پلیٹ فارم اب بھی ہم آہنگ ہے۔ بٹن JSON ڈھانچے کا تازہ ترین ورژن استعمال کرنے کی سفارش کی جاتی ہے۔ حالت بار بٹن کنٹرول کی تعمیر کا مثال (بٹن کو ٹرگر کرنے اور کلک کرنے کے بعد، پاپ اپ باکس میں ایک ان پٹ کنٹرول شامل ہے، جو ان پٹ فیلڈ کے ذریعے تعمیر کیا جاتا ہے):
{
"type": "button",
"cmd": "open",
"name": "opening a position",
"input": {
"name": "number of opening positions",
"type": "number",
"defValue": 1
}
}
پاپ اپ باکس میں کنٹرولز کی حیثیت بار بٹن کنٹرول کے ذریعے مقرر کر رہے ہیں پر کلک کر کے متحرکinput
یاgroup
.
بٹن کنٹرول کے لئے، مقررہ ترتیب ہے:button
.
قسم
سٹرنگ
بٹن کی قسم کی ترتیبات
کلاس
سٹرنگ
بٹن کنٹرول پر متن، یعنی بٹن کا نام.
نام
سٹرنگ
انٹرایکٹو کمانڈ کا مواد جو حکمت عملی میں بھیجا جاتا ہے جب بٹن کنٹرول کلک آپریشن کو متحرک کرتا ہے۔
سی ایم ڈی
سٹرنگ
بٹن کنٹرول کی وضاحت۔ بیان اس وقت ظاہر ہوتا ہے جب ماؤس کو حالت بار میں بٹن پر رکھا جاتا ہے۔
تفصیل
سٹرنگ
بٹن کو غیر فعال (سچ) / فعال (جھوٹا) پر سیٹ کرتا ہے۔
معذور
بول
جب تعامل کے لئے حالت بار کے بٹن کی تعمیر کی جاتی ہے تو ، ڈیٹا ان پٹ کی بھی حمایت کی جاتی ہے۔GetCommand()
فنکشن.input
آئٹم کو اسٹیٹس بار میں بٹن کنٹرول کے JSON ڈیٹا ڈھانچے میں بٹن ٹرگر ہونے پر دکھائے جانے والے پاپ اپ باکس میں ان پٹ کنٹرول کو ترتیب دینے کے لئے۔
مثال کے طور پر، کی قدر مقرر کرنے کے لئےinput
فیلڈ:
{
"name": "Number of opening positions",
"type": "number",
"defValue": 1,
"description": "test",
}
مندرجہ بالا JSON ڈھانچے میں ہر فیلڈ کی تفصیل:
"number"
: عددی ان پٹ کنٹرول"string"
: تار ان پٹ کنٹرول."selected"
: ڈراپ ڈاؤن باکس کنٹرول."boolean"
: سوئچ کنٹرول."input": {"name": "Opening quantity", "type": "selected", "defValue": "A|B|C"}
، ڈراپ ڈاؤن باکس کے اختیارات کی متن کی وضاحت A، B، C پر مقرر کی گئی ہے۔ڈراپ ڈاؤن باکس کی قسم کنٹرول کی طرف سے توسیع کے کھیتوں کے لئے:
{text: "description", value: "value"}
ڈھانچہ۔ ڈیف ویلیو فیلڈ کو ڈیفالٹ آپشن سیٹ کرنے کے لئے استعمال کریں ، جو متعدد انتخاب ہوسکتا ہے۔ان پٹ
JSON
کےinput
فیلڈ پاپ اپ باکس میں ایک کنٹرول تشکیل دیتا ہے جو اسٹیٹس بار کے بٹن پر کلک کرکے ٹرگر ہونے کے بعد پاپ اپ ہوتا ہے۔group
اورinput
یہ کنٹرولز کے ایک گروپ کی تشکیل کرتا ہے.group
کے طور پر ایک ہی ڈیٹا کی ساخت ہےinput
فیلڈ کی قیمت. براہ مہربانی متعلقہ وضاحت کا حوالہ دیتے ہیںinput
field.
گروپ صف
مثال کے طور پرclass
حالت بار میں ایک بٹن کی JSON ساخت کا قدر:
function main() {
var table = {
type: "table",
title: "Status bar button style",
cols: ["Default", "Original", "Success", "Information", "Warning", "Danger"],
rows: [
[
{"type":"button", "class": "btn btn-xs btn-default", "name": "Default"},
{"type":"button", "class": "btn btn-xs btn-primary", "name": "Original"},
{"type":"button", "class": "btn btn-xs btn-success", "name": "Success"},
{"type":"button", "class": "btn btn-xs btn-info", "name": "Information"},
{"type":"button", "class": "btn btn-xs btn-warning", "name": "Warning"},
{"type":"button", "class": "btn btn-xs btn-danger", "name": "Danger"}
]
]
}
LogStatus("`" + JSON.stringify(table) + "`")
}
مثال کے طور پرgroup
کے ساتھ میدانinput
فیلڈ:
function main() {
// The drop-down box control in the page triggered by the testBtn1 button uses the options field to set options and the defValue field to set the default options. This is different from other examples in this chapter that directly use defValue to set options.
var testBtn1 = {
type: "button",
name: "testBtn1",
cmd: "cmdTestBtn1",
input: {name: "testBtn1ComboBox", type: "selected", options: ["A", "B"], defValue: 1}
}
/*
Status bar button control (set input field implementation) testBtn2 button triggered by the page in the drop-down box control using the options field to set the options, options field in the options field not only supports the string,
it also supports the use of ```{text: "description", value: "value"}``` structure. Use the defValue field to set the default option. The default option can be multiple selection (multiple selection is achieved through an array structure). Multiple selection requires setting the additional field multiple to true.
*/
var testBtn2 = {
type: "button",
name: "testBtn2",
cmd: "cmdTestBtn2",
input: {
name: "testBtn2MultiComboBox",
type: "selected",
description: "Implementing multiple selection in drop-down box",
options: [{text: "Option A", value: "A"}, {text: "Option B", value: "B"}, {text: "Option C", value: "C"}],
defValue: ["A", "C"],
multiple: true
}
}
// Status bar grouping button control (set group field implementation) testBtn3 button triggered by the page in the drop-down box control using the options field to set options, also supports the direct use of defValue set options.
var testBtn3 = {
type: "button",
name: "testBtn3",
cmd: "cmdTestBtn3",
group: [
{name: "comboBox1", label: "labelComboBox1", description: "Drop-down box 1", type: "selected", defValue: 1, options: ["A", "B"]},
{name: "comboBox2", label: "labelComboBox2", description: "Drop-down box 2", type: "selected", defValue: "A|B"},
{name: "comboBox3", label: "labelComboBox3", description: "Drop-down box 3", type: "selected", defValue: [0, 2], multiple: true, options: ["A", "B", "C"]},
{
name: "comboBox4",
label: "labelComboBox4",
description: "Drop-down box 4",
type: "selected",
defValue: ["A", "C"],
multiple: true,
options: [{text: "Option A", value: "A"}, {text: "Option B", value: "B"}, {text: "Option C", value: "C"}, {text: "Option D", value: "D"}]
}
]
}
while (true) {
LogStatus("`" + JSON.stringify(testBtn1) + "`\n", "`" + JSON.stringify(testBtn2) + "`\n", "`" + JSON.stringify(testBtn3) + "`\n")
var cmd = GetCommand()
if (cmd) {
Log(cmd)
}
Sleep(5000)
}
}
{@fun/Log/LogStatus لاگ اسٹیٹس}
یہ JSON ڈھانچہ حالت بار میں بٹن کنٹرول کو ترتیب دینے کے لئے استعمال کیا جاتا ہے۔ بٹن کنٹرول JSON ڈھانچہ حالت بار ٹیبل JSON ڈھانچے میں سرایت کیا جاسکتا ہے۔ بٹن JSON ڈھانچے کا تازہ ترین ورژن۔ حالت بار بٹن کنٹرول کی تعمیر کا مثال (بٹن کو ٹرگر کرنے اور کلک کرنے کے بعد، پاپ اپ باکس میں متعدد ان پٹ کنٹرولز شامل ہیں، جو گروپ فیلڈ کے ذریعے تعمیر کیے جاتے ہیں):
{
"type": "button",
"cmd": "open",
"name": "Open a position and place an order",
"group": [{
"type": "selected",
"name": "tradeType",
"label": "order type",
"description": "market order, limit order",
"default": 0,
"group": "trading setup",
"settings": {
"options": ["market order", "limit order"],
"required": true,
}
}, {
"type": "selected",
"name": "direction",
"label": "trading direction",
"description": "buy, sell",
"default": "buy",
"group": "trading setup",
"settings": {
"render": "segment",
"required": true,
"options": [{"name": "buy", "value": "buy"}, {"name": "sell", "value": "sell"}],
}
}, {
"type": "number",
"name": "price",
"label": "price",
"description": "order price",
"group": "trading setup",
"filter": "tradeType==1",
"settings": {
"required": true,
}
}, {
"type": "number",
"name": "amount",
"label": "order quantity",
"description": "order quantity",
"group": "trading setup",
"settings": {
"required": true,
}
}],
}
پاپ اپ باکس میں کنٹرولز کی حیثیت بار بٹن کنٹرول کے ذریعے مقرر کر رہے ہیں پر کلک کر کے متحرکinput
یاgroup
.
بٹن کنٹرول کے لئے، مقررہ ترتیب ہے:button
.
قسم
سٹرنگ
بٹن کنٹرول پر متن، یعنی بٹن کا نام.
نام
سٹرنگ
انٹرایکٹو کمانڈ کا مواد جو حکمت عملی میں بھیجا جاتا ہے جب بٹن کنٹرول کلک آپریشن کو متحرک کرتا ہے۔
سی ایم ڈی
سٹرنگ
جب تعامل کے لئے حالت بار کے بٹن کی تعمیر کی جاتی ہے تو ، ڈیٹا ان پٹ کی بھی حمایت کی جاتی ہے۔GetCommand()
فنکشن.input
آئٹم کو اسٹیٹس بار میں بٹن کنٹرول کے JSON ڈیٹا ڈھانچے میں بٹن ٹرگر ہونے پر دکھائے جانے والے پاپ اپ باکس میں ان پٹ کنٹرول کو ترتیب دینے کے لئے۔
ان پٹ ڈھانچے کے پرانے ورژن کے مقابلے میں ، نئے ورژن میں کچھ نئے فیلڈز اور تبدیلیاں ہیں:
{
"type": "selected",
"name": "test",
"label": "topic",
"description": "desc",
"default": 1,
"filter": "a>1",
"group": "group1",
"settings": { ... }, // Component configuration
}
مندرجہ بالا JSON ڈھانچے میں ہر فیلڈ کی تفصیل اور وضاحت:
قسم
کنٹرول کی قسم (ضروری فیلڈ) ، مندرجہ ذیل ترتیبات کی حمایت کرتا ہے:"number"
عددی ان پٹ باکس،"string"
تار ان پٹ باکس،"selected"
ڈراپ ڈاؤن باکس،"boolean"
کنٹرول سوئچ کریں.
نام اگر موجودہ JSON ڈھانچہ ان پٹ فیلڈ کی فیلڈ ویلیو ہے، جب لیبل فیلڈ سیٹ نہیں ہے، نام پاپ اپ باکس میں کنٹرول عنوان ہے جو اسٹیٹس بار بٹن پر کلک کرنے کے بعد پاپ اپ ہوتا ہے۔ اگر موجودہ JSON ڈھانچہ گروپ فیلڈ کی فیلڈ ویلیو (آرری ڈھانچہ) میں ایک عنصر ہے تو ، نام کو کنٹرول ٹائٹل کے طور پر استعمال نہیں کیا جاتا ہے۔ نام فیلڈ کا استعمال کنٹرول ان پٹ مواد کے فیلڈ نام کی نشاندہی کرنے کے لئے کیا جاتا ہے۔ مثال کے طور پر ، گروپ فیلڈ کا ایک اقتباس بطور مثال استعمال کیا جاتا ہے:
var testBtn3 = {
type: "button",
name: "testBtn3",
cmd: "cmdTestBtn3",
group: [
{name: "comboBox1", label: "labelComboBox1", description: "Drop-down box 1", type: "selected", defValue: 1, options: ["A", "B"]},
{name: "comboBox2", label: "labelComboBox2", description: "Drop-down box 2", type: "selected", defValue: "A|B"},
{name: "comboBox3", label: "labelComboBox3", description: "Drop-down box 3", type: "selected", defValue: [0, 2], multiple: true, options: ["A", "B", "C"]},
{
name: "comboBox4",
label: "labelComboBox4",
description: "Drop-down box 4",
type: "selected",
defValue: ["A", "C"],
multiple: true,
options: [{text: "Option A", value: "A"}, {text: "Option B", value: "B"}, {text: "Option C", value: "C"}, {text: "Option D", value: "D"}]
}
]
}
اس ٹکڑے کے مطابق ، اگر اسٹیٹس بار کے بٹن سے تعامل شروع ہوتا ہے تو ، ایک پاپ اپ باکس 4 کنٹرولز کے ساتھ پاپ اپ ہوگا ، جن میں سے سب ڈراپ ڈاؤن باکس کنٹرولز ہیں۔ ہر کنٹرول کے اختیارات مرتب کرنے اور تعامل کا پیغام بھیجنے کے لئے ٹھیک ہے پر کلک کرنے کے بعد ، حکمت عملی میں گیٹ کمانڈ فنکشن وصول کرے گا۔cmdTestBtn3:{"comboBox1":1,"comboBox2":0,"comboBox3":[0,2],"comboBox4":["A","C"]}
.
JSON ڈھانچے میں نام کی قدر واپس آنے والی انٹرایکٹو معلومات کے فیلڈ نام کے طور پر استعمال کی جاتی ہے، مثال کے طور پر: comboBox1، comboBox2، وغیرہ.
لیبل کنٹرول کا عنوان مقرر کرنے کے لئے استعمال کیا.
تفصیل کنٹرول کی تفصیل۔ اگر موجودہ JSON ڈھانچہ گروپ فیلڈ کی فیلڈ ویلیو (آرری ڈھانچہ) میں ایک عنصر ہے ، اور لیبل فیلڈ سیٹ نہیں کیا گیا ہے ، تو تفصیل پاپ اپ باکس میں کنٹرول کا عنوان ہے جو اسٹیٹس بار کے بٹن پر کلک کرنے کے بعد پاپ اپ ہوتا ہے۔
ڈیفالٹ کنٹرول کا ڈیفالٹ ویلیو
فلٹر سلیکٹر ، کنٹرولز کو چھپانے کے لئے استعمال کیا جاتا ہے۔ اس فیلڈ کو ترتیب نہ دینے کا مطلب ہے کہ فلٹرنگ (کنٹرولز کی نمائش) نہیں ہے۔ جب یہ فیلڈ مقرر ہوتا ہے تو ، جب اظہار درست ہوتا ہے تو کوئی فلٹرنگ (کنٹرولز کی نمائش) نہیں ہوتی ہے۔ جب اظہار غلط ہوتا ہے تو ، فلٹرنگ ہوتی ہے (کنٹرولز کی نمائش نہیں ہوتی ہے)
گروپ کنٹرول کے گروپ کو کنٹرول کرنے کے لئے استعمال کیا جاتا ہے، جو فولڈ کیا جا سکتا ہے.
ترتیبات اجزاء کی ترتیب، کنٹرول میں مختلف UI اختیارات ہیں، مخصوص ترتیبات بنانے کے لئے اس اختیار کا استعمال کریں. مثال کے طور پر:
settings:{
multiple:true,
customizable:true,
options:[{name:'xxx|yyy',value:0}]
}
ترتیبات:
settings.required: یہ ضروری ہے یا نہیں۔
settings.disabled: غیر فعال کرنا ہے یا نہیں۔
settings.min: جب type=number درست ہو، تو اس میں ایک تار کی کم سے کم قیمت یا کم سے کم لمبائی کی نشاندہی کی جاتی ہے۔
settings.max: جب type=number درست ہو، تو اس میں ایک تار کی زیادہ سے زیادہ قیمت یا زیادہ سے زیادہ لمبائی کی نشاندہی کی جاتی ہے۔
settings.step: درست ہے جب type=number اور render=slider، قدم کی لمبائی کی نشاندہی.
settings.multiple: type= منتخب ہونے پر درست، جس سے یہ ظاہر ہوتا ہے کہ متعدد انتخاب کی حمایت کی جاتی ہے۔
settings.customizable: یہ درست ہے جب type= منتخب کیا جاتا ہے ، اس بات کی نشاندہی کرتا ہے کہ حسب ضرورت کی حمایت کی جاتی ہے۔ صارفین ڈراپ ڈاؤن باکس کنٹرول میں براہ راست ترمیم اور نئے اختیارات شامل کرسکتے ہیں۔ اگر نیا ترمیم شدہ آپشن منتخب کیا گیا ہے تو ، تعامل شروع ہونے پر آپشن کی نمائندگی کرنے والی قیمت کی بجائے آپشن کا نام استعمال کیا جاتا ہے۔
settings.options: type=selected جب درست، منتخب کرنے والے اختیارات کے اعداد و شمار کی شکل کا اشارہ: [
ان پٹ
JSON
کےinput
فیلڈ پاپ اپ باکس میں ایک کنٹرول تشکیل دیتا ہے جو اسٹیٹس بار کے بٹن پر کلک کرکے ٹرگر ہونے کے بعد پاپ اپ ہوتا ہے۔group
اورinput
یہ کنٹرولز کے ایک گروپ کی تشکیل کرتا ہے.group
کے طور پر ایک ہی ڈیٹا کی ساخت ہےinput
فیلڈ کی قیمت. براہ مہربانی مندرجہ بالا وضاحت کا حوالہ دیںinput
field.
گروپ صف
دو لسانی ترتیبات کی حمایت کریں:
{
type:'selected',
name:'test',
label:'选项|options',
description:'描述|description',
default:0, // Here, the default value is set to 0, which means the value in the option {name:'xxx|yyy',value:0}
filter:'a>1&&a<10',
group:'分组|group',
settings:{
multiple:true,
customizable:true,
options:[{name:'xxx|yyy',value:0}]
}
}
{@fun/Log/LogStatus لاگ اسٹیٹس}
یہ JSON اپنی مرضی کے مطابق ڈرائنگ تقریب کے چارٹ ترتیب کی معلومات مقرر کرنے کے لئے استعمال کیا جاتا ہےChart()
استعمال شدہ چارٹ لائبریری ہائی چارٹس ہے۔ یہاں صرف چند بنیادی ترتیب والے فیلڈز درج ہیں۔
پلیٹ فارم توسیع فیلڈ۔ ہائی اسٹاک چارٹس استعمال کرنے کے لئے سچ پر سیٹ کریں؛ ہائی چارٹس چارٹس استعمال کرنے کے لئے غلط پر سیٹ کریں۔
__isاسٹاک سٹرنگ
{
layout: 'single', // Not participating in grouping, displayed separately, default is group 'group'
height: 300, // Specify height
}
توسیع JSON چارٹ کا عنوان عنوان سٹرنگ X محور کی تشکیل. xمحور JSON Y محور کی ترتیب. yمحور JSON چارٹ ڈیٹا سیریز سیریز JSON
ایک سادہ ڈرائنگ مثال:
// This chart is an object in JavaScript language. Before using the Chart function, we need to declare an object variable chart to configure the chart.
var chart = {
// This field marks whether the chart is a general chart. If you are interested, you can change it to false and run it.
__isStock: true,
// Zoom tool
tooltip: {xDateFormat: '%Y-%m-%d %H:%M:%S, %A'},
// title
title : { text : 'Price difference analysis chart'},
// Select range
rangeSelector: {
buttons: [{type: 'hour',count: 1, text: '1h'}, {type: 'hour',count: 3, text: '3h'}, {type: 'hour', count: 8, text: '8h'}, {type: 'all',text: 'All'}],
selected: 0,
inputEnabled: false
},
// The horizontal axis of the coordinate axis is: x-axis, and the current setting type is: time
xAxis: { type: 'datetime'},
// The vertical axis of the coordinate axis is: the y-axis, the default value is adjusted according to the data size
yAxis : {
// title
title: {text: 'Price difference'},
// Whether to enable the right vertical axis
opposite: false
},
// Data series, this property saves each data series (line, K-line chart, label, etc.)
series : [
// The index is 0, and the data array stores the data of the index series.
{name : "line1", id : "line 1,buy1Price", data : []},
// The index is 1, dashStyle:'shortdash' is set, that is, a dashed line is set
{name : "line2", id : "line 2,lastPrice", dashStyle : 'shortdash', data : []}
]
}
function main(){
// Call the Chart function to initialize the chart
var ObjChart = Chart(chart)
// Clear
ObjChart.reset()
while(true){
// Get the timestamp of this poll, which is a millisecond timestamp. Used to determine the position of the X-axis written to the chart
var nowTime = new Date().getTime()
// Get market data
var ticker = _C(exchange.GetTicker)
// Get the buy price from the return value of the market data
var buy1Price = ticker.Buy
// Get the last transaction price. In order to prevent the two lines from overlapping, we add 1.
var lastPrice = ticker.Last + 1
// Use the timestamp as the X value and the buy price as the Y value to pass into the data sequence of index 0
ObjChart.add(0, [nowTime, buy1Price])
// Same as above
ObjChart.add(1, [nowTime, lastPrice])
Sleep(2000)
}
}
{@fun/Log/چارٹ چارٹ}
یہ JSON اپنی مرضی کے مطابق ڈرائنگ تقریب کے چارٹ ترتیب کی معلومات مقرر کرنے کے لئے استعمال کیا جاتا ہےKLineChart
صرف چند بنیادی ترتیب کے شعبوں یہاں درج ہیں.
چاہے مرکزی چارٹ پر ڈرائنگ. اوورلیپ بول X محور کی تشکیل. xمحور JSON Y محور کی ترتیب. yمحور JSON موم بتی چارٹ کی ترتیب. شمع JSON
برائے مہربانی ملاحظہ کریںKLineChart فنکشن کا استعمال کرتے ہوئے چارٹ ڈرائنگ پر خصوصی مضمون.
{@fun/Log/KLineChart KLineChart} {@fun/Log/KLineChart KLineChart} {@fun/Log/KLineChart KLineChart}
JSON ڈیٹا کو ترتیب دینے کے لئے استعمال کیا جاتا ہے جو لوڈ کیا جائے گاexchange.SetData()
JSON ڈیٹا ایک صف کی ساخت ہے، جس میں ہر عنصر بھی ایک صف ہے، یعنی[time, data]
.
اعداد و شمار کا ٹائم اسٹیمپ، جو ان اعداد و شمار کے وقت کو نشان زد کرتا ہے۔
وقت
نمبر
اعداد و شمار کے اعداد و شمار کا ایک ٹکڑا ہے جو ڈیٹا کی طرف سے لوڈ کردہ اعداد و شمار میں ایک خاص وقت کے مطابق ہےexchange.SetData()
جب حکمت عملی چل رہی ہے،exchange.GetData()
تقریب موجودہ وقت کے مطابق اسی ٹائم اسٹیمپ کے ساتھ ڈیٹا حاصل کرتا ہے.
اعداد و شمار تار، نمبر، بول، آبجیکٹ، صف، وغیرہ
بیک ٹسٹنگ سسٹم میں ڈیٹا لوڈ کرنے اور جب حکمت عملی بیک ٹسٹ چل رہا ہے تو ڈیٹا حاصل کرنے کا ایک مثال:
/*backtest
start: 2020-01-21 00:00:00
end: 2020-02-12 00:00:00
period: 1d
basePeriod: 1d
exchanges: [{"eid":"Bitfinex","currency":"BTC_USD"}]
*/
function main() {
exchange.SetData("test", [[1579536000000, _D(1579536000000)], [1579622400000, _D(1579622400000)], [1579708800000, _D(1579708800000)]])
while(true) {
Log(exchange.GetData("test"))
Sleep(1000 * 60 * 60 * 24)
}
}
{@مزہ SetData}، {@مزہ حاصل ڈیٹا}
یہ JSON ڈیٹا کی ساخت ہےEventLoop()
فنکشن.EventLoop()
فنکشن مانیٹر: 1. کسی بھی ویب ساکٹ پڑھنے کے قابل ڈیٹا ایونٹ؛ 2. تبادلہ.Go (() اور HttpQuery_Go (() افعال کے ساتھ بیک وقت ٹاسک تکمیل کے واقعات؛ 3.threading.Thread()
جاوا اسکرپٹ زبان کی حکمت عملی میں فنکشن.
واقعہ کا ترتیب نمبر۔ سیک نمبر واقعہ کا نام واقعہ سٹرنگ ایونٹ تھریڈ ID تھریڈ نمبر واقعہ انڈیکس انڈیکس نمبر نینو ٹائم اسٹیمپ. نینو نمبر
استعمال کریںexchange.Go()
متوازی درخواستیں کرنے کے لئے تقریب اور واقعہ ڈیٹا کی ساخت کی طرف سے واپسEventLoop()
function.
{
"Seq":1,
"Event":"Exchange_GetTrades",
"ThreadId":0,
"Index":3,
"Nano":1682068771309583400
}
جاوا اسکرپٹ زبان کی حکمت عملی کے بیک وقت پھانسی تھریڈ میں (کے ذریعے پیداthreading.Thread()
فنکشن) ، جبpostMessage()
موضوع اعتراض کی تقریب ایک پیغام بھیجنے کے لئے استعمال کیا جاتا ہےEventLoop()
پیغام وصول کرنے والے تھریڈ میں فنکشن مندرجہ ذیل واقعہ ڈیٹا ڈھانچے کی نگرانی کرے گا:
{
"Seq":4,
"Event":"thread",
"ThreadId":1,
"Index":0,
"Nano":1727592066508674000
}
{@fun/Global/EventLoop ایونٹ لوپ}
یہ JSON ڈیٹا کی ساخت ہےDBExec()
تقریب؛ یہ بھی SQL بیان کا استعمال کرتے ہوئے ایک عملدرآمد کرتے وقت واپس آ جاتا ہےexec()
کی طرف سے پیدا اعتراض کا طریقہDial()
function.
اعداد و شمار کے کالم ناموں کو تلاش کرنے کے لئے، ایک تار صف. کالم صف مخصوص اعداد و شمار کو استفسار کیا جائے گا ، جہاں اعداد و شمار کا ہر ٹکڑا ایک کالم کے نام سے مطابقت رکھتا ہے۔ اقدار فیلڈ کی قدر دو جہتی صف ہے ، جہاں ہر عنصر صف اور ڈیٹا ریکارڈ ہے۔ اقدار صف
ڈیٹا بیس میں اعداد و شمار کی پوچھ گچھ کا مثال:
{
"columns":["TS","HIGH","OPEN","LOW","CLOSE","VOLUME"],
"values":[
[1518970320000,100,99.1,90,100,12345.6],
[1518960320000,100,99.1,90,100,12345.6]
]
}
{@fun/Global/DBExec DBExec}، {@fun/Global/Dial Dial}
یہ JSON رکن تقریب کی طرف سے واپس ڈیٹا کی ساخت ہےjoin()
کےThread
آبجیکٹ، جس میں متوازی موضوعات کے بارے میں کچھ معلومات محفوظ کرتا ہےJavaScript
زبان کی حکمت عملیThread
اعتراض موضوع موضوع سے مراد ہے، جس کی طرف سے پیدا کیا جاتا ہےthreading.Thread()
.
تھریڈ ID. آئی ڈی نمبر چاہے اس تار کو ختم کرنے کے لئے مجبور کیا جائے. ختم بول نینو سیکنڈ میں دھاگے کا چلنے کا وقت۔ گزرا ہوا نمبر تھریڈ فنکشن کی واپسی کی قیمت. ریٹ نمبر
مندرجہ ذیل کوڈ کی جانچ پڑتال وقت کی میکانزمjoin()
فنکشنThread
آبجیکٹ اور پرنٹس کی واپسی کی قیمتjoin()
function.
function testFunc() {
for (var i = 0; i < 5; i++) {
Log(i)
Sleep(300)
}
}
function main() {
var t1 = threading.Thread(testFunc)
Log(t1.join(1000)) // undefined
Log(t1.join()) // {"id":1,"terminated":false,"elapsed":1506864000}
} ```
{@fun/Threads/Thread/join join}
فنڈنگ
بلٹ ان متغیرات