{@struct/Record Record} اسپاٹ یا معاہدے کی ساخت کی صف حاصل کریں جو فی الحال مقرر کردہ ٹریڈنگ جوڑی، معاہدے کا کوڈ، یعنی K لائن ڈیٹا سے مطابقت رکھتا ہے.
کےexchange.GetRecords()
فنکشن {@struct/Record Record} ڈھانچے کی ایک صف واپس کرتا ہے جب ڈیٹا کی درخواست کامیاب ہوتی ہے ، اور جب ڈیٹا کی درخواست ناکام ہوجاتی ہے تو یہ صفر اقدار واپس کرتا ہے۔
{@struct/Record Record} صفیں، خالی اقدار
تبادلہ.GetRecords() تبادلہ.GetRecords ((علامت) تبادلہ.GetRecords ((علامت، نقطہ) exchange.GetRecords ((علامت، مدت، حد) تبادلہ.GetRecords (معیاد) تبادلہ.GetRecords ((مدت، حد)
پیرامیٹرsymbol
مخصوص ٹریڈنگ جوڑی اور معاہدہ کوڈ کی وضاحت کرنے کے لئے استعمال کیا جاتا ہے جو مطلوبہ {@struct/Record Record} صف کے اعداد و شمار کے مطابق ہے۔ اگر یہ پیرامیٹر منظور نہیں کیا جاتا ہے تو ، فی الحال مقرر کردہ ٹریڈنگ جوڑی اور معاہدے کا کوڈ کی K لائن ڈیٹا ڈیفالٹ کے مطابق طلب کیا جائے گا۔exchange.GetRecords(symbol)
فنکشنexchange
اسپاٹ ایکسچینج آبجیکٹ ہے۔ اگر آپ کو USDT کے طور پر نامزد کرنسی اور BTC کے طور پر ٹرانزیکشن کرنسی کے ساتھ ڈیٹا حاصل کرنے کی درخواست کرنے کی ضرورت ہے تو ، پیرامیٹرsymbol
ہے:"BTC_USDT"
، اور فارمیٹ FMZ پلیٹ فارم کی طرف سے مقرر ٹریڈنگ جوڑی فارمیٹ ہے.exchange.GetRecords(symbol)
فنکشنexchange
فیوچر ایکسچینج آبجیکٹ ہے۔ اگر آپ کو بی ٹی سی symbol
ہے:"BTC_USDT.swap"
، اور فارمیٹ کے ایک مجموعہ ہےتجارتی جوڑااورمعاہدہ کا کوڈFMZ پلیٹ فارم کی طرف سے مقرر کیا جاتا ہے، جس میں حروف exchange.GetRecords(symbol)
فنکشنexchange
فیوچر ایکسچینج آبجیکٹ ہے۔ اگر آپ کو بی ٹی سی کے یو معیاری آپشن معاہدے کے آرڈر بک ڈیٹا کی درخواست کرنے کی ضرورت ہے تو ، پیرامیٹرsymbol
ہے:"BTC_USDT.BTC-240108-40000-C"
(مثال کے طور پر بائننس آپشن بی ٹی سی-240108-40000-C کو لے کر) ، فارمیٹتجارتی جوڑاایف ایم زیڈ پلیٹ فارم کے ذریعہ بیان کردہ اور ایکسچینج کے ذریعہ بیان کردہ مخصوص آپشن معاہدے کا کوڈ ، جس کو علامت period
مطلوبہ K لائن ڈیٹا کی مدت کی وضاحت کرتا ہے، مثال کے طور پر: {@var/PERIOD/PERIOD_M1 PERIOD_M1}، {@var/PERIOD/PERIOD_M5 PERIOD_M5}، {@var/PERIOD/PERIOD_M15 PERIOD_M15} وغیرہ۔ پیرامیٹر کی قیمتperiod
نہ صرف طے شدہ معیاری مدت ، بلکہ سیکنڈ میں عددی اقدار کو بھی پاس کیا جاسکتا ہے۔ اگر یہ پیرامیٹر پاس نہیں کیا جاتا ہے تو ، ڈیفالٹ کے ذریعہ درخواست کردہ K- لائن ڈیٹا کی مدت موجودہ حکمت عملی ریئل ٹائم / بیک ٹسٹ ترتیب کی ڈیفالٹ K- لائن مدت ہے۔
مدت
غلط
نمبر
پیرامیٹرlimit
مطلوبہ K- لائن ڈیٹا کی لمبائی کی وضاحت کرنے کے لئے استعمال کیا جاتا ہے۔ اگر یہ پیرامیٹر منظور نہیں کیا جاتا ہے تو ، ڈیفالٹ درخواست کی لمبائی تبادلہ K- لائن انٹرفیس کے وقت درخواست کردہ K- لائن باروں کی زیادہ سے زیادہ تعداد ہے۔ اس پیرامیٹر کی وجہ سے تبادلہ K- لائن ڈیٹا سے استفسار کرنے کے لئے پیجنگ ہوسکتی ہے ، اور پیجنگ استفسار کے دوران فنکشن کال کا وقت کی کھپت بڑھ جائے گی۔
حد
غلط
نمبر
function main() {
// Print K-line data with a K-line period of 120 seconds (2 minutes)
Log(exchange.GetRecords(60 * 2))
// Print K-line data with a K-line period of 5 minutes
Log(exchange.GetRecords(PERIOD_M5))
}
def main():
Log(exchange.GetRecords(60 * 2))
Log(exchange.GetRecords(PERIOD_M5))
void main() {
Log(exchange.GetRecords(60 * 2)[0]);
Log(exchange.GetRecords(PERIOD_M5)[0]);
}
ایک اپنی مرضی کے مطابق مدت کے لئے K لائن ڈیٹا حاصل کریں.
function main() {
var records = exchange.GetRecords(PERIOD_H1)
/*
The exchange interface may not be accessible due to network reasons (even if the docker program's device can open the exchange website, the API interface may not be accessible).
At this point, records is null. When accessing records[0].Time, it will cause an error. Therefore, when testing this code, ensure that you can access the exchange interface.
*/
Log("The first k-line data is Time:", records[0].Time, "Open:", records[0].Open, "High:", records[0].High)
Log("The second k-line data is Time:", records[1].Time ,"Close:", records[1].Close)
Log("Current K-line (latest)", records[records.length-1], "Previous K-line", records[records.length-2])
}
def main():
records = exchange.GetRecords(PERIOD_H1)
Log("The first k-line data is Time:", records[0]["Time"], "Open:", records[0]["Open"], "High:", records[0]["High"])
Log("The second k-line data Time:", records[1]["Time"], "Close:", records[1]["Close"])
Log("Current K-line (latest)", records[-1], "Previous K-line", records[-2])
void main() {
auto records = exchange.GetRecords(PERIOD_H1);
Log("The first k-line data is Time:", records[0].Time, "Open:", records[0].Open, "High:", records[0].High);
Log("The second k-line data Time:", records[1].Time, "Close:", records[1].Close);
Log("Current K-line (latest)", records[records.size() - 1], "Previous K-line", records[records.size() - 2]);
}
آؤٹ پٹ K لائن بار ڈیٹا:
function main() {
var records = exchange.GetRecords("BTC_USDT.swap", 60, 100)
Log(records)
}
def main():
records = exchange.GetRecords("BTC_USDT.swap", 60, 100)
Log(records)
void main() {
auto records = exchange.GetRecords("BTC_USDT.swap", 60, 100);
Log(records);
}
جب تشکیل شدہexchange
آبجیکٹ ایک فیوچر ایکسچینج آبجیکٹ ہے،symbol
, period
، اورlimit
ایک مخصوص مصنوعات (مستقبل کی مصنوعات) کے K لائن ڈیٹا کی درخواست کرنے کے لئے پیرامیٹرز.
پہلے سے طے شدہ K لائن مدت backtest اور حقیقی ٹریڈنگ صفحات میں مقرر کیا جا سکتا ہے.exchange.GetRecords()
فنکشن ، اس پیرامیٹر مدت سے متعلق K لائن ڈیٹا حاصل کیا جائے گا۔ اگر فنکشن کو بلانے پر کوئی پیرامیٹر متعین نہیں کیا جاتا ہے تو ، بیک ٹیسٹ اور حقیقی مارکیٹ پیرامیٹرز میں طے شدہ K لائن مدت کے مطابق متعلقہ K لائن ڈیٹا واپس کیا جائے گا۔
واپسی کی قیمت کی ایک صف ہےRecord
ڈھانچے، واپس K لائن کے اعداد و شمار وقت کے ساتھ ساتھ جمع کیا جائے گا، جمع K لائن سلاخوں کی اوپری حد کی طرف سے متاثر کیا جاتا ہےexchange.SetMaxBarLen()
فنکشن کی ترتیب۔ ڈیفالٹ کی حد 5000 بار ہے جب یہ مقرر نہیں ہوتی ہے۔ جب K لائن ڈیٹا K لائن بار جمع کرنے کی حد تک پہنچ جاتا ہے تو ، اسے K لائن بار شامل کرکے اور سب سے پہلے K لائن بار کو حذف کرکے اپ ڈیٹ کیا جائے گا (جیسے قطار میں / باہر) ۔ کچھ تبادلے K لائن انٹرفیس فراہم نہیں کرتے ہیں ، لہذا ڈوکر مارکیٹ ٹرانزیکشن ریکارڈ ڈیٹا اکٹھا کرتا ہے (Trade
منظم صف) حقیقی وقت میں K لائنز پیدا کرنے کے لئے.
اگر ایکسچینج کے K- لائن انٹرفیس پیجنگ سوالات کی حمایت کرتا ہے تو ، متعدد API درخواستیں کال کرنے پر کی جائیں گیexchange.SetMaxBarLen()
ایک بڑی K لائن کی لمبائی مقرر کرنے کے لئے تقریب.
جبexchange.GetRecords()
فنکشن کو ابتدائی طور پر بلایا جاتا ہے تو ، بیک ٹیسٹنگ اور حقیقی تجارت کے درمیان حاصل کردہ K- لائن باروں کی تعداد مختلف ہوتی ہے۔ - بیک ٹیسٹنگ سسٹم بیک ٹیسٹنگ ٹائم رینج کے آغاز سے پہلے ہی ایک خاص تعداد میں K- لائن بار حاصل کرے گا (ڈیفالٹ 5000 ہے ، بیک ٹیسٹنگ سسٹم کی ترتیبات اور اعداد و شمار کی مقدار حتمی تعداد کو متاثر کرے گی) ، جیسا کہ ابتدائی K- لائن ڈیٹا۔ - اصل تجارت کے دوران حاصل کردہ K- لائن باروں کی تعداد اس اعداد و شمار کی زیادہ سے زیادہ مقدار پر مبنی ہے جو ایکسچینج کے K- لائن انٹرفیس سے حاصل کی جاسکتی ہے۔
کےperiod
پیرامیٹر 5 پر مقرر کیا جاتا ہے، جو 5 سیکنڈ کے ایک مدت کے ساتھ K لائن کے اعداد و شمار حاصل کرنے کے لئے ایک درخواست ہے.period
پیرامیٹر 60 سے تقسیم نہیں ہوتا ہے (یعنی ، جس مدت کی نمائندگی کی جاتی ہے وہ منٹوں میں تقسیم نہیں ہوتی ہے۔ بنیادی نظام کے متعلقہ انٹرفیس کا استعمال کرتا ہےexchange.GetTrades()
ٹرانزیکشن ریکارڈ کے اعداد و شمار حاصل کرنے اور مطلوبہ K- لائن کے اعداد و شمار کا تجزیہ کرنے کے لئے.period
پیرامیٹر 60 سے تقسیم کیا جاتا ہے، تو مطلوبہ K لائن کے اعداد و شمار کو کم از کم 1 منٹ کے K لائن کے اعداد و شمار کا استعمال کرتے ہوئے ترکیب کیا جاتا ہے (اگر ممکن ہو تو، مطلوبہ K لائن کے اعداد و شمار کو زیادہ مدت کا استعمال کرتے ہوئے ترکیب کیا جاتا ہے).
بیک ٹیسٹنگ سسٹم میں تخروپن سطح کی بیک ٹیسٹنگ کے لئے بنیادی K لائن مدت کی ترتیب کی ضرورت ہوتی ہے (جب بیک ٹیسٹنگ سسٹم سطح کی بیک ٹیسٹنگ کی نقالی کرتا ہے تو ، اسی کے مطابق K لائن کے اعداد و شمار کو سیٹ کے بنیادی K لائن مدت کے مطابق ٹِک ڈیٹا تیار کرنے کے لئے استعمال کیا جاتا ہے) ۔ یہ نوٹ کیا جانا چاہئے کہ حکمت عملی میں حاصل کردہ K لائن کے اعداد و شمار کی مدت بنیادی K لائن مدت سے کم نہیں ہونی چاہئے۔ کیونکہ تخروپن سطح کی بیک ٹیسٹنگ میں ، بیک ٹیسٹنگ سسٹم میں ہر مدت کے K لائن کے اعداد و شمار کو بنیادی K لائن مدت کے K لائن کے اعداد و شمار سے ترکیب کیا جاتا ہے۔
کےC++
زبان مندرجہ ذیل کوڈ مثال ہے اگر آپ کو آپ کے اپنے K لائن ڈیٹا کی تعمیر کرنے کی ضرورت ہے:
#include <sstream>
void main() {
Records r;
r.Valid = true;
for (auto i = 0; i < 10; i++) {
Record ele;
ele.Time = i * 100000;
ele.High = i * 10000;
ele.Low = i * 1000;
ele.Close = i * 100;
ele.Open = i * 10;
ele.Volume = i * 1;
r.push_back(ele);
}
// Output display: Records[10]
Log(r);
auto ma = TA.MA(r,10);
// Output display: [nan,nan,nan,nan,nan,nan,nan,nan,nan,450]
Log(ma);
}
تبادلے جو حمایت نہیں کرتےexchange.GetRecords()
فنکشن:
فنکشن کا نام | غیر تعاون یافتہ اسپاٹ ایکسچینجز | غیر معاون فیوچر ایکسچینج |
---|---|---|
ریکارڈ حاصل کریں | Zaif / Coincheck / BitFlyer | فیوچر_ایوو |
{@fun/Market/exchange.GetTicker تبادلہ.GetTicker}، {@fun/Market/exchange.GetDepth تبادلہ.GetDepth}، {@fun/Market/exchange.GetTrades تبادلہ.GetTrades}، {@fun/Market/exchange.SetMaxBarLen تبادلہ.SetMaxBarLen}
exchange.GetTrades exchange.GetPeriod