ہیلو، میں سرد ہوا ہوں، میں آپ کو InventorQuantum کا استعمال کرنے کی دعوت دیتا ہوں۔ آج سے، میں نئے آنے والوں کے لیے شروع کرنے والے مضامین لکھوں گا، تاکہ آپ جلدی سے شروع کر سکیں اور اپنی حکمت عملی لکھ سکیں۔
مضمون کا انداز انتہائی مختصر ہے، میں کوشش کرتا ہوں کہ ہر چھوٹا سا مضمون ایک چھوٹا سا مسئلہ حل کرے، اور ایک مکمل، قابل عمل مثال کے ساتھ آئے۔ ویب سائٹ کے QQ گروپ میں میرا ایک حصہ ہے
اگر آپ کے پاس کوئی سوال ہے تو آپ مجھ سے رابطہ کر سکتے ہیں، میں آپ کو کچھ مسائل حل کرنے میں مدد کرنے کی کوشش کروں گا، کیونکہ میں کام پر ہوں، وقت بہت تنگ ہے، میں آپ کو وقت پر جواب نہیں دے سکتا، اور میں آپ کے سوالات کا جواب نہیں دے سکتا، میں آپ کے سوالات کا جواب نہیں دے سکتا، میں آپ کے سوالات کا جواب نہیں دے سکتا، میں آپ کے سوالات کا جواب نہیں دے سکتا، میں آپ کے سوالات کا جواب نہیں دے سکتا، میں آپ کے سوالات کا جواب نہیں دے سکتا، میں آپ کے سوالات کا جواب نہیں دے سکتا، میں آپ کے سوالات کا جواب نہیں دے سکتا، میں آپ کے سوالات کا جواب نہیں دے سکتا، میں آپ کے سوالات کا جواب نہیں دے سکتا، میں آپ کے سوالات کا جواب نہیں دے سکتا۔
برائے مہربانی سمجھیں:
K لائن حاصل کرنے کے بارے میں ، ہمارے گروپ میں دوستوں نے اکثر پوچھا ہے ، یہاں میں ایک چھوٹی سی مثال پیش کرتا ہوں تاکہ آپ کو یہ معلوم ہو سکے کہ کچھ ایکسچینج پلیٹ فارم K لائن ڈیٹا فراہم کرتے ہیں ، (مثال کے طور پر ، ٹوکن)
اس طرح کے پلیٹ فارمز کے لئے ، اوکائن براہ راست حاصل کیا جاسکتا ہے ، جبکہ زیادہ تر ٹریڈنگ پلیٹ فارمز K لائن کا ڈیٹا فراہم نہیں کرتے ہیں۔ اس معاملے میں ، آپ کو خود K لائن جمع کرنا پڑے گا۔
نوٹ: ٹیسٹنگ ماحول میں K لائنوں کو جمع کرنے کی ضرورت نہیں ہے، کیونکہ تخلیق کاروں نے تاریخ کے K لائنوں کو جانچنے کے لئے فراہم کی ہے، کیوں کہ تخلیق کاروں نے تاریخ کے K لائنوں کی مقدار کی ہے، جس سے صارفین کو حقیقی وقت میں تجارت نہیں کی جاتی ہے.
استعمال کیا ہے؟ بنیادی طور پر غور کیا جاتا ہے ، کہ موجد کی مقدار میں کی لائن خود جمع کی گئی ہے ، اس کی تعداد اور درستگی میں معمولی اختلافات ہوسکتے ہیں ، لہذا یہ صارف کو ریل ڈسک آپریشن کے وقت فراہم نہیں کی جاتی ہے۔
Exchange.GetRecords () پر توجہ دینا؛ مجموعی طور پر 1411، 1441 کے بعد، سب سے پہلے حذف کرنے کے لئے، کارکردگی کو متاثر کرنے سے بچنے کے لئے جمع کردہ K کی تعداد میں اضافہ کریں.
function onTick(exchange) {
var records = exchange.GetRecords();//搜集K线,最多可以搜集1411条
if (!records) {
return;
}
Log("当前搜集到的K(分钟)线数量",records.length);
}
function main() {
Log(exchange.GetName(), exchange.GetCurrency());
while (true) {//循环执行
onTick(exchange);
Sleep(10000);
}
}
- 我用这个代码在回测环境中发现收集来的K线历史数据和回测日志的图是不同的,K线数据基本上OPEN/HIGH/LOW/CLOSE有两个是相同的,而且变化明显小于日志的图。我只是在onTick的最后加了一行代码打印records的最后一个。
回测的时间选2015-08-10 17:10:24至2015-08-10 20:10:24,5分钟K线,火币BTC,实际上选其他时间段也有同样问题。请看17:55开始的3根K线,对应的打印如下:
{"Time":1439200500000,"Open":1649.44,"High":1649.443213,"Low":1649.44,"Close":1649.443213,"Volume":226.632}
{"Time":1439200800000,"Open":1645.52,"High":1645.52,"Low":1646.59212,"Close":1646.59212,"Volume":231.261}
{"Time":1439201100000,"Open":1643.88,"High":1643.884816,"Low":1643.88,"Close":1643.884816,"Volume":702.867}
有几个问题想请教一下。
2、楼主这里想说明的是,实盘环境下(无论是火币之类提供K线历史的还是其他不提供的)都要依靠我们自己的机器人收集K线数据,机器人最多会缓存1411条K线,是这样吗?
不好意思这么晚看到.. 如果交易所有提供API获取K线,托管者在实盘下面是不会自己收集的,直接获取交易所提供的K线,如果交易所不提供就自己收集, 只保存最近的1411条的, 模拟测试的话,tick级的数据是模拟的,跟实际有差别的.
- 1

