দ্য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
(অন্তর্নিহিত কে-লাইন সময়কাল, মিলিসেকেন্ডে টাইমস্ট্যাম্প করা) সময়সীমা নির্ধারণ করতে ব্যবহৃত হয় যার মধ্যে তথ্য সংগ্রহ করা হবে।
{@fun/Market/exchange.SetData exchange.SetData}
exchange.SetData exchange.GetMarkets