{@struct/Ticker Ticker} اسپاٹ یا معاہدے کی ساخت حاصل کریں جو فی الحال مقرر کردہ ٹریڈنگ جوڑی، معاہدے کا کوڈ، یعنی ٹکر ڈیٹا سے مطابقت رکھتا ہے.GetTicker ()
تقریب تبادلہ اعتراض {@var/EXCHANGE تبادلہ} کا ایک رکن تقریب ہے، کے استعمالexchange
صرف سے متعلقہ اعتراض رکن افعال (طریقے)exchange
، اور یہ دستاویز میں دہرایا نہیں جائے گا.
کےexchange.GetTicker()
فنکشن {@struct/Ticker Ticker} ڈھانچہ واپس کرتا ہے جب ڈیٹا کی درخواست کامیاب ہوتی ہے ، اور ڈیٹا کی درخواست ناکام ہونے پر null قدر واپس کرتا ہے۔
{@struct/Ticker Ticker}، null قدر
تبادلہ.GetTicker() تبادلہ.GetTicker ((علامت)
پیرامیٹرsymbol
{@struct/Ticker Ticker} ڈیٹا کی درخواست کے مطابق مخصوص ٹریڈنگ جوڑی اور معاہدے کا کوڈ متعین کرنے کے لئے استعمال کیا جاتا ہے۔ اگر یہ پیرامیٹر پاس نہیں کیا جاتا ہے تو ، فی الحال مقرر کردہ ٹریڈنگ جوڑی اور معاہدے کا کوڈ کی مارکیٹ کے اعداد و شمار کی درخواست کی جائے گی۔
جب کال کریںexchange.GetTicker(symbol)
فنکشنexchange
اسپاٹ ایکسچینج آبجیکٹ ہے۔ اگر آپ کو مارکیٹ کے اعداد و شمار کی درخواست کرنے کی ضرورت ہے تو اس کی کرنسی USDT اور ٹریڈنگ کرنسی BTC کے طور پر ہے ، پیرامیٹرsymbol
ہے:"BTC_USDT"
، اور یہ فارمیٹ ایف ایم زیڈ پلیٹ فارم کے ذریعہ طے شدہ ٹریڈنگ جوڑی فارمیٹ ہے۔
جب کال کریںexchange.GetTicker(symbol)
فنکشنexchange
فیوچر ایکسچینج آبجیکٹ ہے۔ اگر آپ کو بی ٹی سی symbol
ہے:"BTC_USDT.swap"
، اور فارمیٹ کے ایک مجموعہ ہےتجارتی جوڑااورمعاہدہ کا کوڈایف ایم زیڈ پلیٹ فارم کے ذریعہ بیان کیا گیا ہے ، جس کو علامت exchange.GetTicker(symbol)
فنکشنexchange
فیوچر ایکسچینج آبجیکٹ ہے۔ اگر آپ کو بی ٹی سی symbol
ہے:"BTC_USDT.BTC-240108-40000-C"
(مثال کے طور پر بائننس آپشن بی ٹی سی-240108-40000-C کو لے کر) ، فارمیٹتجارتی جوڑاایف ایم زیڈ پلیٹ فارم کے ذریعہ بیان کردہ اور ایکسچینج کے ذریعہ بیان کردہ مخصوص آپشن معاہدے کا کوڈ ، جس کو علامت
علامت غلط سٹرنگ
function main(){
// If it is a futures exchange object, set the contract code first, e.g. set it as a perpetual contract
// exchange.SetContractType("swap")
var ticker = exchange.GetTicker()
/*
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, the ticker is null, and it will cause an error when accessing ticker.High, so when testing this code, make sure that the exchange interface can be accessed.
*/
Log("Symbol:", ticker.Symbol, "High:", ticker.High, "Low:", ticker.Low, "Sell:", ticker.Sell, "Buy:", ticker.Buy, "Last:", ticker.Last, "Open:", ticker.Open, "Volume:", ticker.Volume)
}
def main():
ticker = exchange.GetTicker()
Log("Symbol:", ticker["Symbol"], "High:", ticker["High"], "Low:", ticker["Low"], "Sell:", ticker["Sell"], "Buy:", ticker["Buy"], "Last:", ticker["Last"], "Open:", ticker.Open, "Volume:", ticker["Volume"])
void main() {
auto ticker = exchange.GetTicker();
Log("Symbol:", ticker.Symbol, "High:", ticker.High, "Low:", ticker.Low, "Sell:", ticker.Sell, "Buy:", ticker.Buy, "Last:", ticker.Last, "Open:", ticker.Open, "Volume:", ticker.Volume);
}
فیوچر ایکسچینج اشیاء کے لئے (یعنیexchange
یاexchanges[0]
), آپ کو استعمال کرتے ہوئے معاہدے کا کوڈ مقرر کرنے کی ضرورتexchange.SetContractType()
ٹکر فنکشن کو کال کرنے سے پہلے، جو بار بار نہیں کیا جائے گا.
function main() {
var ticker = exchange.GetTicker("BTC_USDT")
Log(ticker)
}
def main():
ticker = exchange.GetTicker("BTC_USDT")
Log(ticker)
void main() {
auto ticker = exchange.GetTicker("BTC_USDT");
Log(ticker);
}
استعمال کریںsymbol
ایک مخصوص علامت (اسپاٹ علامت) کے لئے مارکیٹ کے اعداد و شمار کی درخواست کرنے کے لئے پیرامیٹر.
کےTicker
ڈیٹا واپس کیاexchange.GetTicker()
backtesting کے نظام میں کام.High
اورLow
ایک فروخت اور اس وقت کی مارکیٹ میں ایک خریدنے سے لیا، کی طرف سے سمیلیٹ اقدار ہیں.Ticker
ڈیٹا واپس کیاexchange.GetTicker()
حقیقی مارکیٹ میں کام.High
اورLow
اقدار کی بنیاد پر ہیں کے اعداد و شمار کی واپسی کی طرف سے encapsulated تبادلہTick
انٹرفیس، جس میں ایک مخصوص مدت (عام طور پر ایک 24 گھنٹے کی مدت) کے اندر اندر سب سے زیادہ اور سب سے کم قیمت شامل ہے.
تبادلے جو حمایت نہیں کرتےexchange.GetTicker()
فنکشن:
فنکشن کا نام | غیر تعاون یافتہ اسپاٹ ایکسچینجز | غیر معاون فیوچر ایکسچینج |
---|---|---|
گیٹ ٹکر | – | فیوچر_ایوو |
{@fun/Market/exchange.GetDepth exchange.GetDepth}، {@fun/Market/exchange.GetTrades exchange.GetTrades}، {@fun/Market/exchange.GetRecords exchange.GetRecords}، {@fun/Market/exchange.GetTickers exchange.GetTickers}، {@fun/Market/exchange.GetTickers exchange.GetTickers}، {@fun/Market/exchange.GetTickers exchange.GetTickers}، {@fun/Market/exchange.GetTickers exchange.GetTickers}، {@fun/Market/exchange.GetTickers exchange.GetTickers}، {@fun/Market/exchange.GetTickers exchange.GetTickers}، {@fun/Market/exchange.GetTickers exchange.GetTickers}، {@fun/Market/exchange.GetTickers exchange.GetTickers}، {@fun/Market/exchange.GetTickers exchange
{@struct/Depth Depth} اسپاٹ یا معاہدے کی ساخت حاصل کریں جو فی الحال مقرر کردہ ٹریڈنگ جوڑی، معاہدے کا کوڈ، یعنی آرڈر بک کے اعداد و شمار سے مطابقت رکھتا ہے.
کےexchange.GetDepth()
فنکشن {@struct/Depth Depth} ڈھانچہ لوٹاتا ہے اگر ڈیٹا کی درخواست کامیاب ہو، اور اگر ڈیٹا کی درخواست ناکام ہو تو یہ null لوٹاتا ہے۔
{@struct/Depth Depth}، صفر قدر
تبادلہ.GetDepth() تبادلہ.گٹ گہرائی ((علامت)
پیرامیٹرsymbol
{@struct/Depth Depth} ڈیٹا کی درخواست کے مطابق مخصوص ٹریڈنگ جوڑی اور معاہدے کا کوڈ کی وضاحت کرنے کے لئے استعمال کیا جاتا ہے۔ اگر یہ پیرامیٹر منظور نہیں کیا جاتا ہے تو ، فی الحال مقرر کردہ ٹریڈنگ جوڑی اور معاہدے کا کوڈ کے آرڈر بک کے اعداد و شمار کی درخواست کی جائے گی۔exchange.GetDepth(symbol)
فنکشنexchange
اسپاٹ ایکسچینج آبجیکٹ ہے۔ اگر آپ کو آرڈر بک ڈیٹا حاصل کرنے کی درخواست کرنے کی ضرورت ہے تو اس کی کرنسی USDT اور ٹرانزیکشن کرنسی BTC کے طور پر ہے ، پیرامیٹرsymbol
ہے:"BTC_USDT"
، اور فارمیٹ FMZ پلیٹ فارم کی طرف سے مقرر ٹریڈنگ جوڑی فارمیٹ ہے.exchange.GetDepth(symbol)
فنکشنexchange
فیوچر ایکسچینج آبجیکٹ ہے۔ اگر آپ کو بی ٹی سی symbol
ہے:"BTC_USDT.swap"
، اور فارمیٹ کے ایک مجموعہ ہےتجارتی جوڑااورمعاہدہ کا کوڈFMZ پلیٹ فارم کی طرف سے مقرر کیا جاتا ہے، جس میں حروف exchange.GetDepth(symbol)
فنکشنexchange
فیوچر ایکسچینج آبجیکٹ ہے۔ اگر آپ کو بی ٹی سی symbol
ہے:"BTC_USDT.BTC-240108-40000-C"
(مثال کے طور پر بائننس آپشن بی ٹی سی-240108-40000-C کو لے کر) ، فارمیٹتجارتی جوڑاایف ایم زیڈ پلیٹ فارم کے ذریعہ بیان کردہ اور ایکسچینج کے ذریعہ بیان کردہ مخصوص آپشن معاہدے کا کوڈ ، جس کو علامت
function main(){
var depth = exchange.GetDepth()
/*
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, the depth is null, which will cause an error when accessing depth.Asks[1].Price, so make sure you can access the exchange interface when testing the code.
*/
var price = depth.Asks[1].Price
Log("Sell 2 price is:", price)
}
def main():
depth = exchange.GetDepth()
price = depth["Asks"][1]["Price"]
Log("Sell 2 price is:", price)
void main() {
auto depth = exchange.GetDepth();
auto price = depth.Asks[1].Price;
Log("Sell 2 price is:", price);
}
ٹیسٹexchange.GetDepth()
فنکشن:
function main() {
// BTC U-based perpetual contract
var depth = exchange.GetDepth("BTC_USDT.swap")
Log(depth)
}
def main():
depth = exchange.GetDepth("BTC_USDT.swap")
Log(depth)
void main() {
auto depth = exchange.GetDepth("BTC_USDT.swap");
Log(depth);
}
جب تشکیل شدہexchange
آبجیکٹ ایک فیوچر ایکسچینج آبجیکٹ ہے،symbol
ایک مخصوص علامت (فيوچر علامت) کے آرڈر بک کے اعداد و شمار کی درخواست کرنے کے لئے پیرامیٹر.
بیک ٹسٹنگ سسٹم میں، ہر گریڈ کے لئے اعداد و شمارexchange.GetDepth()
استعمال کرتے وقتٹِک کا مشابہتbacktesting تمام نمونے کے اقدار ہیں. backtesting کے نظام میں، اعداد و شمار کی طرف سے واپسexchange.GetDepth()
استعمال کرتے وقتاصلی ٹِکbacktesting ایک دوسری سطح گہری تصویر ہے.
{@fun/Market/exchange.GetTicker تبادلہ.GetTicker}، {@fun/Market/exchange.GetTrades تبادلہ.GetTrades}، {@fun/Market/exchange.GetRecords تبادلہ.GetRecords}
{@struct/Trade Trade} اسپاٹ یا معاہدے کی ساخت کی صف حاصل کریں جو فی الحال مقرر کردہ ٹریڈنگ جوڑی، معاہدے کا کوڈ، یعنی مارکیٹ ٹرانزیکشن کے اعداد و شمار سے مطابقت رکھتا ہے.
کےexchange.GetTrades()
فنکشن {@struct/Trade Trade} ڈھانچے کی ایک صف واپس کرتا ہے اگر ڈیٹا کی درخواست کامیاب ہو، اور اگر ڈیٹا کی درخواست ناکام ہو تو یہ صفر اقدار واپس کرتا ہے.
{@struct/Trade Trade} صفیں، خالی اقدار
تبادلہ.GetTrades() تبادلہ.GetTrades (علامت)
پیرامیٹرsymbol
مخصوص ٹریڈنگ جوڑی اور معاہدہ کوڈ کی وضاحت کرنے کے لئے استعمال کیا جاتا ہے جو مطلوبہ {@struct/Trade Trade} صف کے اعداد و شمار کے مطابق ہے۔ اگر یہ پیرامیٹر منظور نہیں کیا جاتا ہے تو ، فی الحال مقرر کردہ ٹریڈنگ جوڑی اور معاہدہ کوڈ کے تازہ ترین ٹرانزیکشن ریکارڈ کے اعداد و شمار کی پیشگی درخواست کی جائے گی۔exchange.GetTrades(symbol)
فنکشنexchange
اسپاٹ ایکسچینج آبجیکٹ ہے۔ اگر آپ کو آرڈر بک کے اعداد و شمار حاصل کرنے کی درخواست کرنے کی ضرورت ہے تو اس کی کرنسی USDT اور ٹریڈنگ کرنسی BTC کے طور پر ہے ، پیرامیٹرsymbol
ہے:"BTC_USDT"
، اور فارمیٹ FMZ پلیٹ فارم کی طرف سے مقرر ٹریڈنگ جوڑی فارمیٹ ہے.exchange.GetTrades(symbol)
فنکشنexchange
فیوچر ایکسچینج آبجیکٹ ہے۔ اگر آپ کو بی ٹی سی symbol
ہے:"BTC_USDT.swap"
، اور فارمیٹ کے ایک مجموعہ ہےتجارتی جوڑااورمعاہدہ کا کوڈFMZ پلیٹ فارم کی طرف سے مقرر کیا جاتا ہے، جس میں حروف exchange.GetTrades(symbol)
فنکشنexchange
فیوچر ایکسچینج آبجیکٹ ہے۔ اگر آپ کو بی ٹی سی کے یو معیاری آپشن معاہدے کے آرڈر بک ڈیٹا کی درخواست کرنے کی ضرورت ہے تو ، پیرامیٹرsymbol
ہے:"BTC_USDT.BTC-240108-40000-C"
(مثال کے طور پر بائننس آپشن بی ٹی سی-240108-40000-C کو لے کر) ، فارمیٹتجارتی جوڑاایف ایم زیڈ پلیٹ فارم کے ذریعہ بیان کردہ اور ایکسچینج کے ذریعہ بیان کردہ مخصوص آپشن معاہدے کا کوڈ ، جس کو علامت
function main(){
var trades = exchange.GetTrades()
/*
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, trade is null. When accessing trade[0].Id, it will cause an error. Therefore, when testing this code, ensure that you can access the exchange interface.
*/
Log("id:", trades[0].Id, "time:", trades[0].Time, "Price:", trades[0].Price, "Amount:", trades[0].Amount, "type:", trades[0].Type)
}
def main():
trades = exchange.GetTrades()
Log("id:", trades[0]["Id"], "time:", trades[0]["Time"], "Price:", trades[0]["Price"], "Amount:", trades[0]["Amount"], "type:", trades[0]["Type"])
void main() {
auto trades = exchange.GetTrades();
Log("id:", trades[0].Id, "time:", trades[0].Time, "Price:", trades[0].Price, "Amount:", trades[0].Amount, "type:", trades[0].Type);
}
ٹیسٹ کریںexchange.GetTrades()
فنکشن:
function main() {
// BTC's U-based perpetual contract
var trades = exchange.GetTrades("BTC_USDT.swap")
Log(trades)
}
def main():
trades = exchange.GetTrades("BTC_USDT.swap")
Log(trades)
void main() {
auto trades = exchange.GetTrades("BTC_USDT.swap");
Log(trades);
}
جب تشکیل شدہexchange
آبجیکٹ ایک فیوچر ایکسچینج آبجیکٹ ہے،symbol
ایک مخصوص علامت (فيوچر علامت) کے لئے مارکیٹ ٹرانزیکشن ریکارڈ ڈیٹا کی درخواست کرنے کا پیرامیٹر۔
exchange.GetTrades()
موجودہ تجارتی جوڑے ، مارکیٹ کی ٹرانزیکشن ہسٹری (اپنی نہیں) کے مطابق معاہدوں کو حاصل کرنے کے لئے فنکشن۔ کچھ تبادلے اس فنکشن کی حمایت نہیں کرتے ہیں ، اور مخصوص ڈیٹا واپس کیا جاتا ہے کہ ٹرانزیکشن ریکارڈ کی حد کا کتنا حصہ تبادلہ پر منحصر ہے اور مخصوص صورتحال کے مطابق اس سے نمٹنے کی ضرورت ہے۔ واپسی کا ڈیٹا ایک صف ہے ، جہاں ہر عنصر کی تاریخی ترتیب اورexchange.GetRecords ()
فنکشن اعداد و شمار کا ایک ہی ترتیب واپس کرتا ہے، یعنی صف کا آخری عنصر موجودہ وقت کے قریب ترین ڈیٹا ہے۔
کےexchange.GetTrades()
فنکشن کا استعمال کرتے ہوئے ایک خالی صف لوٹاتا ہےٹِک کا مشابہتbacktesting کے نظام میں backtesting.exchange.GetTrades()
استعمال کرتے وقتاصلی ٹِکبیک ٹسٹنگ سسٹم میں بیک ٹسٹنگ آرڈر فلو اسنیپ شاٹ ڈیٹا ہے، یعنی {@struct/Trade Trade} ڈھانچہ صف۔
تبادلے جو حمایت نہیں کرتےexchange.GetTrades()
فنکشن:
فنکشن کا نام | غیر تعاون یافتہ اسپاٹ ایکسچینجز | غیر معاون فیوچر ایکسچینج |
---|---|---|
گیٹ ٹریڈز | – | فیوچر_بٹ مارٹ / فیوچر_بی باکس |
{@fun/Market/exchange.GetTicker تبادلہ.GetTicker}، {@fun/Market/exchange.GetDepth تبادلہ.GetDepth}، {@fun/Market/exchange.GetRecords تبادلہ.GetRecords}
{@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}
براہ راست ٹریڈنگ میں حکمت عملی کی بیک ٹیسٹنگ اور چلانے کے دوران ایف ایم زیڈ کوانٹ ٹریڈنگ پلیٹ فارم ویب سائٹ کے صفحے پر K لائن مدت مقرر کریں ، یعنی ڈیفالٹ K لائن مدت کو کال کرتے وقت استعمال کیا جاتا ہے۔exchange.GetRecords()
پیرامیٹرز کو منتقل کرنے کے بغیر کام.
سیکنڈ میں K لائن کا دورانیہ، سیکنڈ میں انٹیجر ویلیو نمبر
تبادلہ.GetPeriod()
function main() {
// For example, the K-line period set on the website page of the FMZ Quant Trading platform during backtesting and live trading is 1 hour.
var period = exchange.GetPeriod()
Log("K-line period:", period / (60 * 60), "hours")
}
def main():
period = exchange.GetPeriod()
Log("K-line period:", period / (60 * 60), "hours")
void main() {
auto period = exchange.GetPeriod();
Log("K-line period:", period / (60 * 60.0), "hours");
}
{@fun/Market/exchange.GetRecords تبادلہ.GetRecords}
K لائن کی زیادہ سے زیادہ لمبائی مقرر کریں.
تبادلہ.SetMaxBarLen ((n)
پیرامیٹرn
زیادہ سے زیادہ K لائن کی لمبائی کی وضاحت کرنے کے لئے استعمال کیا جاتا ہے.
ن
سچ
نمبر
function main() {
exchange.SetMaxBarLen(50)
var records = exchange.GetRecords()
Log(records.length, records)
}
def main():
exchange.SetMaxBarLen(50)
r = exchange.GetRecords()
Log(len(r), r)
void main() {
exchange.SetMaxBarLen(50);
auto r = exchange.GetRecords();
Log(r.size(), r[0]);
}
کےexchange.SetMaxBarLen()
فنکشن cryptocurrency حکمت عملی رن ٹائم کے لئے دو پہلوؤں کو متاثر کرتا ہے:
{@fun/Market/exchange.GetRecords تبادلہ.GetRecords}
اصل مواد کو آخری تک واپس کریںrest
موجودہ تبادلہ آبجیکٹ کے لئے درخواست ({@var/EXCHANGE تبادلہ}، {@var/EXCHANGE/exchanges exchanges}).
جواب کے اعداد و شمارrest
درخواست.
سٹرنگ
تبادلہ.GetRawJSON()
function main(){
exchange.GetAccount();
var obj = JSON.parse(exchange.GetRawJSON());
Log(obj);
}
import json
def main():
exchange.GetAccount()
obj = json.loads(exchange.GetRawJSON())
Log(obj)
void main() {
auto obj = exchange.GetAccount();
// C++ does not support the GetRawJSON function
Log(obj);
}
کےexchange.GetRawJSON()
فنکشن صرف حقیقی ٹریڈنگ کے لئے حمایت کی جاتی ہے.C++
language.
{@var/EXCHANGE تبادلہ}
تبادلہ اعتراض کے لئے فی الحال مقرر کرنسی کی شرح حاصل کریں.
تبادلے کے اعتراض کی شرح تبادلہ کی موجودہ قیمت۔ نمبر
تبادلہ.GetRate()
function main(){
Log(exchange.GetTicker())
// Set up exchange rate conversion
exchange.SetRate(7)
Log(exchange.GetTicker())
Log("Current exchange rate:", exchange.GetRate())
}
def main():
Log(exchange.GetTicker())
exchange.SetRate(7)
Log(exchange.GetTicker())
Log("Current exchange rate:", exchange.GetRate())
void main() {
Log(exchange.GetTicker());
exchange.SetRate(7);
Log(exchange.GetTicker());
Log("Current exchange rate:", exchange.GetRate());
}
اگرexchange.SetRate()
تبادلہ کی شرح مقرر کرنے کے لئے بلایا نہیں کیا گیا ہے،exchange.GetRate()
فنکشن 1 کی ڈیفالٹ شرح کی قدر لوٹاتا ہے۔ یعنی ، فی الحال دکھائی جانے والی کرنسی (quoteCurrency) سے متعلق ڈیٹا کو تبدیل نہیں کیا گیا ہے۔
اگر زر مبادلہ کی شرح کی قیمت کا استعمال کرتے ہوئے مقرر کیا گیا ہےexchange.SetRate()
مثال کے طور پر،exchange.SetRate(7)
اس کے بعد تمام قیمت کی معلومات، جیسے قیمتوں کا تعین، گہرائیوں، اور آرڈر کی قیمتوں کے ذریعے حاصلexchange
ایکسچینج آبجیکٹ کو مقرر کردہ زر مبادلہ کی شرح سے ضرب کرکے تبدیل کیا جائے گا7
.
اگرexchange
کال کرنے کے بعد USD کے ساتھ تبادلہ کے برابر ہےexchange.SetRate(7)
، براہ راست مارکیٹ میں تمام قیمتوں کو ضرب کر کے CNY کے قریب قیمت میں تبدیل کیا جائے گا7
اس وقت، زر مبادلہ کی شرح کی قیمت کا استعمال کرتے ہوئے حاصل کیا جاتا ہےexchange.GetRate()
ہے7
.
{@fun/Trade/exchange.SetRate تبادلہ.SetRate}
کےexchange.SetData()
تقریب کی حکمت عملی چل رہا ہے جب لوڈ ڈیٹا مقرر کرنے کے لئے استعمال کیا جاتا ہے.
پیرامیٹر کے بعد تار کی لمبائیvalue
JSON کوڈنگ.
نمبر
exchange.SetData ((کلید، قدر)
ڈیٹا جمع کرنے کا نام۔
چابی
سچ
سٹرنگ
ڈیٹا کو لوڈ کیا جائے گاexchange.SetData()
فنکشن ایک صف کا ڈیٹا ڈھانچہ ہے. ڈیٹا ڈھانچہ کی طرف سے درخواست کی ڈیٹا کی شکل کے طور پر ایک ہی ہےexchange.GetData()
بیرونی اعداد و شمار کی درخواست کرتے وقت فنکشن، یعنی:"schema": ["time", "data"]
.
قیمت
سچ
صف
/*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() {
var data = [
[1579536000000, "abc"],
[1579622400000, 123],
[1579708800000, {"price": 123}],
[1579795200000, ["abc", 123, {"price": 123}]]
]
exchange.SetData("test", data)
while(true) {
Log(exchange.GetData("test"))
Sleep(1000)
}
}
'''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"}]
'''
def main():
data = [
[1579536000000, "abc"],
[1579622400000, 123],
[1579708800000, {"price": 123}],
[1579795200000, ["abc", 123, {"price": 123}]]
]
exchange.SetData("test", data)
while True:
Log(exchange.GetData("test"))
Sleep(1000)
/*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"}]
*/
void main() {
json data = R"([
[1579536000000, "abc"],
[1579622400000, 123],
[1579708800000, {"price": 123}],
[1579795200000, ["abc", 123, {"price": 123}]]
])"_json;
exchange.SetData("test", data);
while(true) {
Log(exchange.GetData("test"));
Sleep(1000);
}
}
یہ پیرامیٹر کے لئے ڈیٹا کی ضرورت ہوتی ہےvalue
ایک ہی شکل میں ہونا چاہئےdata
مندرجہ ذیل مثال میں متغیر. آپ دیکھ سکتے ہیں کہ ٹائم اسٹیمپ1579622400000
وقت سے مطابقت رکھتا ہے2020-01-22 00:00:00
، اور اس وقت کے بعد حکمت عملی پروگرام چلایا جاتا ہے جب، کال کریںexchange.GetData()
اگلے ڈیٹا ٹائم اسٹیمپ سے پہلے اعداد و شمار حاصل کرنے کے لئے تقریب1579708800000
، یعنی وقت2020-01-23 00:00:00
آپ کو کیا ملتا ہے[1579622400000, 123]
اس ڈیٹا کا مواد ، جیسا کہ پروگرام چلتا رہتا ہے ، وقت تبدیل ہوتا ہے ، اور اسی طرح اعداد و شمار کی شے کو شے کے ذریعہ حاصل کرنے کے لئے۔ مندرجہ ذیل مثال میں ، رن ٹائم (بیکٹ ٹیسٹنگ یا لائیو ٹریڈنگ) میں ، موجودہ لمحہ ٹائم اسٹیمپ تک پہنچ جاتا ہے یا اس سے تجاوز کرتا ہے۔1579795200000
،exchange.GetData()
فنکشن بلایا جاتا ہے اور واپسی کی قیمت ہے:{"Time":1579795200000,"Data":["abc", 123,{"price":123}]}
. "Time":1579795200000
کے مطابق ہے1579795200000
ڈیٹا میں[1579795200000, ["abc", 123, {"price": 123}]]
. "Data":["abc", 123, {"price": 123}]
اعداد و شمار سے مطابقت رکھتا ہے["abc", 123, {"price": 123}]]
میں[1579795200000, ["abc", 123, {"price": 123}]]
.
لوڈ کردہ اعداد و شمار کسی بھی معاشی اشارے ، صنعت کے اعداد و شمار ، متعلقہ اشارے وغیرہ ہوسکتے ہیں ، جو تمام مقداری معلومات کے حکمت عملی مقداری تشخیص کے لئے استعمال ہوتے ہیں۔
{@fun/Market/exchange.GetData تبادلہ.GetData}
کےexchange.GetData()
فنکشن کی طرف سے لوڈ ڈیٹا حاصل کرنے کے لئے استعمال کیا جاتا ہےexchange.SetData()
فنکشن یا بیرونی لنک کی طرف سے فراہم کی.
ڈیٹا کلیکشن میں ریکارڈ۔ چیز
تبادلہ.GetData ((کلید) تبادلہ.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)
}
}
'''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"}]
'''
def main():
exchange.SetData("test", [[1579536000000, _D(1579536000000/1000)], [1579622400000, _D(1579622400000/1000)], [1579708800000, _D(1579708800000/1000)]])
while True:
Log(exchange.GetData("test"))
Sleep(1000 * 60 * 60 * 24)
/*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"}]
*/
void main() {
json arr = R"([[1579536000000, ""], [1579622400000, ""], [1579708800000, ""]])"_json;
arr[0][1] = _D(1579536000000);
arr[1][1] = _D(1579622400000);
arr[2][1] = _D(1579708800000);
exchange.SetData("test", arr);
while(true) {
Log(exchange.GetData("test"));
Sleep(1000 * 60 * 60 * 24);
}
}
براہ راست اعداد و شمار لکھنے کے لئے کال.
/*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() {
while(true) {
Log(exchange.GetData("http://xxx.xx.x.xx:9090/data"))
Sleep(1000)
}
}
'''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"}]
'''
def main():
while True:
Log(exchange.GetData("http://xxx.xx.x.xx:9090/data"))
Sleep(1000)
/*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"}]
*/
void main() {
while(true) {
Log(exchange.GetData("http://xxx.xx.x.xx:9090/data"));
Sleep(1000);
}
}
یہ بیرونی روابط کے ذریعے ڈیٹا کی درخواست کرنے کے لئے حمایت کرتا ہے، درخواست کردہ ڈیٹا کی شکل:
{
"schema":["time","data"],
"data":[
[1579536000000, "abc"],
[1579622400000, 123],
[1579708800000, {"price": 123}],
[1579795200000, ["abc", 123, {"price": 123}]]
]
}
کہاںschema
لوڈ کردہ ڈیٹا کے جسم میں ہر ریکارڈ کے لئے ڈیٹا فارمیٹ ہے، جو مقرر کیا جاتا ہے["time", "data"]
میں اندراج کی طرف سے اندراج کے اعداد و شمار کی شکل کے مطابقdata
صفت.
میں ذخیرہ کیا جاتا ہےdata
خاصیت ڈیٹا کا جسم ہے ، ہر اندراج میں ملی سیکنڈ کی سطح کا ٹائم اسٹیمپ اور ڈیٹا کا مواد ہوتا ہے (جو کوئی بھی JSON کوڈ قابل ڈیٹا ہوسکتا ہے) ۔
ٹیسٹنگ کے لئے سروس پروگرام، گو میں لکھا:
package main
import (
"fmt"
"net/http"
"encoding/json"
)
func Handle (w http.ResponseWriter, r *http.Request) {
defer func() {
fmt.Println("req:", *r)
ret := map[string]interface{}{
"schema": []string{"time","data"},
"data": []interface{}{
[]interface{}{1579536000000, "abc"},
[]interface{}{1579622400000, 123},
[]interface{}{1579708800000, map[string]interface{}{"price":123}},
[]interface{}{1579795200000, []interface{}{"abc", 123, map[string]interface{}{"price":123}}},
},
}
b, _ := json.Marshal(ret)
w.Write(b)
}()
}
func main () {
fmt.Println("listen http://localhost:9090")
http.HandleFunc("/data", Handle)
http.ListenAndServe(":9090", nil)
}
درخواست موصول ہونے پر پروگرام کے جواب کے اعداد و شمار:
{
"schema":["time","data"],
"data":[
[1579536000000, "abc"],
[1579622400000, 123],
[1579708800000, {"price": 123}],
[1579795200000, ["abc", 123, {"price": 123}]]
]
}
ٹیسٹ کی حکمت عملی کا کوڈ:
function main() {
Log(exchange.GetData("http://xxx.xx.x.xx:9090/data"))
Log(exchange.GetData("https://www.fmz.com/upload/asset/32bf73a69fc12d36e76.json"))
}
def main():
Log(exchange.GetData("http://xxx.xx.x.xx:9090/data"))
Log(exchange.GetData("https://www.fmz.com/upload/asset/32bf73a69fc12d36e76.json"))
void main() {
Log(exchange.GetData("http://xxx.xx.x.xx:9090/data"));
Log(exchange.GetData("https://www.fmz.com/upload/asset/32bf73a69fc12d36e76.json"));
}
ایک بیرونی لنک کے اعداد و شمار حاصل کرنے کے لئے کال کا طریقہ.
function main() {
Log(exchange.GetData("https://www.datadata.com/api/v1/query/xxx/data")) // The xxx part of the link is the code of the query data, here xxx is an example.
}
def main():
Log(exchange.GetData("https://www.datadata.com/api/v1/query/xxx/data"))
void main() {
Log(exchange.GetData("https://www.datadata.com/api/v1/query/xxx/data"));
}
پلیٹ فارم پر تخلیق کردہ استفسار کے لئے ڈیٹا کی درخواست کریںڈیٹا ڈیٹا، درخواست ہے کہ جواب کے اعداد و شمار کی شکل ہو جائے گا (وقت ہونا ضروری ہے، اعداد و شمار کے شعبوں میں بیان کیا گیا ہے):
{
"data": [],
"schema": ["time", "data"]
}
exchange.GetData()
فنکشن بلایا جاتا ہے، ایک JSON اعتراض واپس کیا جاتا ہے، مثال کے طور پر:{"Time":1579795200000, "Data":"..."}
.
بیک ٹیسٹنگ کے لئے ایک بار میں ڈیٹا حاصل کریں اور براہ راست تجارت کے لئے ایک منٹ کے ڈیٹا کو کیش کریں۔ بیک ٹیسٹنگ سسٹم میں ، جب رسائی انٹرفیس کا استعمال کرتے ہوئے ڈیٹا کی درخواست کی جائے تو ، بیک ٹیسٹنگ سسٹم خود بخود شامل کرتا ہےfrom
(سیکنڈ میں وقت کا نشان)to
(سیکنڈ میں ٹائم اسٹیمپ) کی درخواست، پیرامیٹرز جیسےperiod
(بنیادی K لائن کی مدت، ملی سیکنڈ میں ٹائم اسٹیمپ) کا استعمال اس وقت کے فریم کو طے کرنے کے لئے کیا جاتا ہے جس پر ڈیٹا حاصل کیا جانا ہے۔
{@ تفریح/مارکیٹ/تبادلہ.سیٹ ڈیٹا تبادلہ.سیٹ ڈیٹا}
کےexchange.GetMarkets()
فنکشن تبادلہ مارکیٹ کی معلومات حاصل کرنے کے لئے استعمال کیا جاتا ہے.
{@struct/Market Market} ساخت پر مشتمل لغت. چیز
تبادلہ.GetMarkets()
function main() {
var markets = exchange.GetMarkets()
var currency = exchange.GetCurrency()
// Get the current contract code can also use exchange.GetContractType() function
var ct = "swap"
var key = currency + "." + ct
Log(key, ":", markets[key])
}
def main():
markets = exchange.GetMarkets()
currency = exchange.GetCurrency()
ct = "swap"
key = currency + "." + ct
Log(key, ":", markets[key])
void main() {
auto markets = exchange.GetMarkets();
auto currency = exchange.GetCurrency();
auto ct = "swap";
auto key = currency + "." + ct;
Log(key, ":", markets[key]);
}
فیوچر ایکسچینج آبجیکٹ پر کال کا مثال:
/*backtest
start: 2023-05-10 00:00:00
end: 2023-05-20 00:00:00
period: 1m
basePeriod: 1m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
function main() {
var arrSymbol = ["SOL_USDT.swap", "BTC_USDT.quarter", "ETH_USDT.swap", "ETH_USDT.quarter"]
var tbl1 = {
type: "table",
title: "markets1",
cols: ["key", "Symbol", "BaseAsset", "QuoteAsset", "TickSize", "AmountSize", "PricePrecision", "AmountPrecision", "MinQty", "MaxQty", "MinNotional", "MaxNotional", "CtVal"],
rows: []
}
var markets1 = exchange.GetMarkets()
for (var key in markets1) {
var market = markets1[key]
tbl1.rows.push([key, market.Symbol, market.BaseAsset, market.QuoteAsset, market.TickSize, market.AmountSize, market.PricePrecision, market.AmountPrecision, market.MinQty, market.MaxQty, market.MinNotional, market.MaxNotional, market.CtVal])
}
for (var symbol of arrSymbol) {
exchange.GetTicker(symbol)
}
var tbl2 = {
type: "table",
title: "markets2",
cols: ["key", "Symbol", "BaseAsset", "QuoteAsset", "TickSize", "AmountSize", "PricePrecision", "AmountPrecision", "MinQty", "MaxQty", "MinNotional", "MaxNotional", "CtVal"],
rows: []
}
var markets2 = exchange.GetMarkets()
for (var key in markets2) {
var market = markets2[key]
tbl2.rows.push([key, market.Symbol, market.BaseAsset, market.QuoteAsset, market.TickSize, market.AmountSize, market.PricePrecision, market.AmountPrecision, market.MinQty, market.MaxQty, market.MinNotional, market.MaxNotional, market.CtVal])
}
LogStatus("`" + JSON.stringify([tbl1, tbl2]) + "`")
}
'''backtest
start: 2023-05-10 00:00:00
end: 2023-05-20 00:00:00
period: 1m
basePeriod: 1m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
'''
import json
def main():
arrSymbol = ["SOL_USDT.swap", "BTC_USDT.quarter", "ETH_USDT.swap", "ETH_USDT.quarter"]
tbl1 = {
"type": "table",
"title": "markets1",
"cols": ["key", "Symbol", "BaseAsset", "QuoteAsset", "TickSize", "AmountSize", "PricePrecision", "AmountPrecision", "MinQty", "MaxQty", "MinNotional", "MaxNotional", "CtVal"],
"rows": []
}
markets1 = exchange.GetMarkets()
for key in markets1:
market = markets1[key]
tbl1["rows"].append([key, market["Symbol"], market["BaseAsset"], market["QuoteAsset"], market["TickSize"], market["AmountSize"], market["PricePrecision"], market["AmountPrecision"], market["MinQty"], market["MaxQty"], market["MinNotional"], market["MaxNotional"], market["CtVal"]])
for symbol in arrSymbol:
exchange.GetTicker(symbol)
tbl2 = {
"type": "table",
"title": "markets2",
"cols": ["key", "Symbol", "BaseAsset", "QuoteAsset", "TickSize", "AmountSize", "PricePrecision", "AmountPrecision", "MinQty", "MaxQty", "MinNotional", "MaxNotional", "CtVal"],
"rows": []
}
markets2 = exchange.GetMarkets()
for key in markets2:
market = markets2[key]
tbl2["rows"].append([key, market["Symbol"], market["BaseAsset"], market["QuoteAsset"], market["TickSize"], market["AmountSize"], market["PricePrecision"], market["AmountPrecision"], market["MinQty"], market["MaxQty"], market["MinNotional"], market["MaxNotional"], market["CtVal"]])
LogStatus("`" + json.dumps([tbl1, tbl2]) + "`")
/*backtest
start: 2023-05-10 00:00:00
end: 2023-05-20 00:00:00
period: 1m
basePeriod: 1m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
void main() {
auto arrSymbol = {"SOL_USDT.swap", "BTC_USDT.quarter", "ETH_USDT.swap", "ETH_USDT.quarter"};
json tbl1 = R"({
"type": "table",
"title": "markets1",
"cols": ["key", "Symbol", "BaseAsset", "QuoteAsset", "TickSize", "AmountSize", "PricePrecision", "AmountPrecision", "MinQty", "MaxQty", "MinNotional", "MaxNotional", "CtVal"],
"rows": []
})"_json;
auto markets1 = exchange.GetMarkets();
for (auto& [key, market] : markets1.items()) {
json arrJson = {key, market["Symbol"], market["BaseAsset"], market["QuoteAsset"], market["TickSize"], market["AmountSize"], market["PricePrecision"], market["AmountPrecision"], market["MinQty"], market["MaxQty"], market["MinNotional"], market["MaxNotional"], market["CtVal"]};
tbl1["rows"].push_back(arrJson);
}
for (const auto& symbol : arrSymbol) {
exchange.GetTicker(symbol);
}
json tbl2 = R"({
"type": "table",
"title": "markets2",
"cols": ["key", "Symbol", "BaseAsset", "QuoteAsset", "TickSize", "AmountSize", "PricePrecision", "AmountPrecision", "MinQty", "MaxQty", "MinNotional", "MaxNotional", "CtVal"],
"rows": []
})"_json;
auto markets2 = exchange.GetMarkets();
for (auto& [key, market] : markets2.items()) {
json arrJson = {key, market["Symbol"], market["BaseAsset"], market["QuoteAsset"], market["TickSize"], market["AmountSize"], market["PricePrecision"], market["AmountPrecision"], market["MinQty"], market["MaxQty"], market["MinNotional"], market["MaxNotional"], market["CtVal"]};
tbl2["rows"].push_back(arrJson);
}
json tbls = R"([])"_json;
tbls.push_back(tbl1);
tbls.push_back(tbl2);
LogStatus("`" + tbls.dump() + "`");
}
مستقبل کے تبادلے اعتراض کو کال کرنے کے لئے استعمال کریںexchange.GetMarkets()
بیک ٹسٹنگ سسٹم میں فنکشن۔ کسی بھی مارکیٹ فنکشن کو کال کرنے سے پہلے ، گیٹ مارکیٹس صرف موجودہ ڈیفالٹ ٹریڈنگ جوڑی کے مارکیٹ ڈیٹا کو واپس کرتا ہے۔ مارکیٹ فنکشن کو کال کرنے کے بعد ، یہ تمام مطلوبہ اقسام کے مارکیٹ ڈیٹا کو واپس کرتا ہے۔ آپ مندرجہ ذیل ٹیسٹ مثال کا حوالہ دے سکتے ہیں:
کےexchange.GetMarkets()
فنکشن ٹریڈنگ کی قسم کا نام رکھنے والی کلید کے ساتھ ایک لغت واپس کرتا ہے ، اور تجارتی جوڑی کے طور پر فارمیٹ کردہ اسپاٹ فکسز کے لئے ، مثال کے طور پر:
{
"BTC_USDT" : {...}, // The key value is the Market structure
"LTC_USDT" : {...},
...
}
مستقبل کے معاہدے کے تبادلے کے لئے، کیونکہ ایک ہی قسم کے لئے متعدد معاہدے ہوسکتے ہیں، مثال کے طور پرBTC_USDT
ٹریڈنگ کے جوڑوں، ہمیشہ کے لئے معاہدوں، سہ ماہی معاہدوں، اور اسی طرح کے ہیں.exchange.GetMarkets()
فنکشن معاہدے کے کوڈ کے ساتھ مل کر جوڑی کے کلیدی نام کے ساتھ ایک لغت واپس کرتا ہے، مثال کے طور پر:
{
"BTC_USDT.swap" : {...}, // The key value is the Market structure
"BTC_USDT.quarter" : {...},
"LTC_USDT.swap" : {...},
...
}
exchange.GetMarkets()
فنکشن لائیو ٹریڈنگ، بیک ٹیسٹنگ سسٹم کی حمایت کرتا ہے.exchange.GetMarkets()
فنکشن صرف ان اقسام کے لئے مارکیٹ کی معلومات واپس کرتا ہے جو ایکسچینج پر آن لائن تجارت کی جاتی ہیں.exchange.GetMarkets()
فنکشن اختیارات کے معاہدوں کی حمایت نہیں کرتا.تبادلے جو حمایت نہیں کرتےexchange.GetMarkets()
فنکشن:
فنکشن کا نام | غیر تعاون یافتہ اسپاٹ ایکسچینجز | غیر معاون فیوچر ایکسچینج |
---|---|---|
گیٹ مارکیٹس | Coincheck / Bithumb / BitFlyer | – |
{@struct/مارکیٹ مارکیٹ}
کےexchange.GetTickers()
تقریب تبادلہ مجموعی ٹکر ڈیٹا حاصل کرنے کے لئے استعمال کیا جاتا ہے ({@struct/Ticker Ticker} ساخت کی صف).exchange
تمام ٹریڈنگ جوڑوں کے لئے ٹکر ڈیٹا واپس کرتا ہے جب یہ ایک اسپاٹ ایکسچینج آبجیکٹ ہےexchange
تمام معاہدوں کے لئے ٹکر ڈیٹا واپس کرتا ہے جب یہ فیوچر ایکسچینج آبجیکٹ ہے۔
کےexchange.GetTickers()
فنکشن {@struct/Ticker Ticker} ڈھانچے کی ایک صف واپس کرتا ہے جب یہ ڈیٹا کی درخواست کرنے میں کامیاب ہوتا ہے ، اور جب یہ ناکام ہوجاتا ہے تو صفر ہوتا ہے۔
{@struct/Ticker Ticker} صفیں، خالی اقدار
تبادلہ.GetTickers()
function main() {
var tickers = exchange.GetTickers()
if (tickers && tickers.length > 0) {
Log("Number of tradable items on the exchange:", tickers.length)
}
}
def main():
tickers = exchange.GetTickers()
if tickers and len(tickers) > 0:
Log("Number of tradable items on the exchange:", len(tickers))
void main() {
auto tickers = exchange.GetTickers();
if (tickers.Valid && tickers.size() > 0) {
Log("Number of tradable items on the exchange:", tickers.size());
}
}
کال کریںexchange.GetTickers()
مجموعی مارکیٹ کے اعداد و شمار حاصل کرنے کے لئے کام.
/*backtest
start: 2024-05-21 00:00:00
end: 2024-09-05 00:00:00
period: 5m
basePeriod: 1m
exchanges: [{"eid":"Binance","currency":"BTC_USDT"}]
*/
function main() {
var arrSymbol = ["ADA_USDT", "LTC_USDT", "ETH_USDT", "SOL_USDT"]
// Before requesting other trading pair market data, call Get Tickers
var tickers1 = exchange.GetTickers()
var tbl1 = {type: "table", title: "tickers1", cols: ["Symbol", "High", "Open", "Low", "Last", "Buy", "Sell", "Time", "Volume"], rows: []}
for (var ticker of tickers1) {
tbl1.rows.push([ticker.Symbol, ticker.High, ticker.Open, ticker.Low, ticker.Last, ticker.Buy, ticker.Sell, ticker.Time, ticker.Volume])
}
// Request market data for other trading pairs
for (var symbol of arrSymbol) {
exchange.GetTicker(symbol)
}
// Call GetTickers again
var tickers2 = exchange.GetTickers()
var tbl2 = {type: "table", title: "tickers2", cols: ["Symbol", "High", "Open", "Low", "Last", "Buy", "Sell", "Time", "Volume"], rows: []}
for (var ticker of tickers2) {
tbl2.rows.push([ticker.Symbol, ticker.High, ticker.Open, ticker.Low, ticker.Last, ticker.Buy, ticker.Sell, ticker.Time, ticker.Volume])
}
LogStatus("`" + JSON.stringify([tbl1, tbl2]) + "`")
}
'''backtest
start: 2024-05-21 00:00:00
end: 2024-09-05 00:00:00
period: 5m
basePeriod: 1m
exchanges: [{"eid":"Binance","currency":"BTC_USDT"}]
'''
import json
def main():
arrSymbol = ["ADA_USDT", "LTC_USDT", "ETH_USDT", "SOL_USDT"]
tickers1 = exchange.GetTickers()
tbl1 = {"type": "table", "title": "tickers1", "cols": ["Symbol", "High", "Open", "Low", "Last", "Buy", "Sell", "Time", "Volume"], "rows": []}
for ticker in tickers1:
tbl1["rows"].append([ticker["Symbol"], ticker["High"], ticker["Open"], ticker["Low"], ticker["Last"], ticker["Buy"], ticker["Sell"], ticker["Time"], ticker["Volume"]])
for symbol in arrSymbol:
exchange.GetTicker(symbol)
tickers2 = exchange.GetTickers()
tbl2 = {"type": "table", "title": "tickers2", "cols": ["Symbol", "High", "Open", "Low", "Last", "Buy", "Sell", "Time", "Volume"], "rows": []}
for ticker in tickers2:
tbl2["rows"].append([ticker["Symbol"], ticker["High"], ticker["Open"], ticker["Low"], ticker["Last"], ticker["Buy"], ticker["Sell"], ticker["Time"], ticker["Volume"]])
LogStatus("`" + json.dumps([tbl1, tbl2]) + "`")
/*backtest
start: 2024-05-21 00:00:00
end: 2024-09-05 00:00:00
period: 5m
basePeriod: 1m
exchanges: [{"eid":"Binance","currency":"BTC_USDT"}]
*/
json tickerToJson(const Ticker& ticker) {
json arrJson;
arrJson.push_back(ticker.Symbol);
arrJson.push_back(ticker.High);
arrJson.push_back(ticker.Open);
arrJson.push_back(ticker.Low);
arrJson.push_back(ticker.Last);
arrJson.push_back(ticker.Buy);
arrJson.push_back(ticker.Sell);
arrJson.push_back(ticker.Time);
arrJson.push_back(ticker.Volume);
return arrJson;
}
void main() {
std::string arrSymbol[] = {"ADA_USDT", "LTC_USDT", "ETH_USDT", "SOL_USDT"};
auto tickers1 = exchange.GetTickers();
json tbl1 = R"({
"type": "table",
"cols": ["Symbol", "High", "Open", "Low", "Last", "Buy", "Sell", "Time", "Volume"],
"rows": []
})"_json;
tbl1["title"] = "tickers1";
for (const auto& ticker : tickers1) {
json arrJson = tickerToJson(ticker);
tbl1["rows"].push_back(arrJson);
}
for (const std::string& symbol : arrSymbol) {
exchange.GetTicker(symbol);
}
auto tickers2 = exchange.GetTickers();
json tbl2 = R"({
"type": "table",
"cols": ["Symbol", "High", "Open", "Low", "Last", "Buy", "Sell", "Time", "Volume"],
"rows": []
})"_json;
tbl2["title"] = "tickers2";
for (const auto& ticker : tickers2) {
json arrJson = tickerToJson(ticker);
tbl2["rows"].push_back(arrJson);
}
json tbls = R"([])"_json;
tbls.push_back(tbl1);
tbls.push_back(tbl2);
LogStatus("`" + tbls.dump() + "`");
}
اسپاٹ تبادلہ اعتراض کا استعمال کریں اور کال کریںexchange.GetTickers()
بیک ٹسٹ سسٹم میں فنکشن۔ کسی بھی مارکیٹ فنکشن کو کال کرنے سے پہلے ، گیٹ ٹکرز صرف موجودہ ڈیفالٹ ٹریڈنگ جوڑی کے ٹکر ڈیٹا کو لوٹاتا ہے۔ مارکیٹ فنکشن کو کال کرنے کے بعد ، یہ تمام مطلوبہ اقسام کے ٹکر ڈیٹا کو لوٹاتا ہے۔ آپ مندرجہ ذیل ٹیسٹ مثال کا حوالہ دے سکتے ہیں:
تبادلے جو حمایت نہیں کرتےexchange.GetTickers()
فنکشن:
فنکشن کا نام | غیر تعاون یافتہ اسپاٹ ایکسچینجز | غیر معاون فیوچر ایکسچینج |
---|---|---|
GetTickers | Zaif / WOO / Gemini / Coincheck / BitFlyer / Bibox | فیوچر_WOO / فیوچر_ڈی وائی ڈی ایکس / فیوچر_ڈریبیٹ / فیوچر_بی باکس / فیوچر_ایوو |
{@struct/TickerTicker}، {@fun/Market/exchange.GetTicker تبادلہ.GetTicker}
لاگ تجارت