Type/to search
0
Follow
1
Followers
Memulai Bagian 1: Mengumpulkan Grafik K-line dalam Perdagangan Nyata
FAQ
Created 2015-07-21 13:15:05  Updated 2019-08-01 11:01:03
 3
 3199

Halo semua, saya cold wind, selamat datang di Inventor Quantification, mulai hari ini saya akan mulai menulis artikel tentang pemula, agar Anda bisa cepat masuk dan menulis strategi Anda sendiri.

Gaya artikel adalah gaya yang sangat sederhana, saya mencoba untuk membuat setiap artikel kecil yang dapat memecahkan masalah kecil, dan dilengkapi dengan contoh yang lengkap dan dapat diterapkan.

Saya akan mencoba untuk membantu Anda menyelesaikan beberapa masalah, karena saya juga bekerja, dan waktu akan menjadi lebih tertekan, saya tidak dapat membalasnya tepat waktu, dan saya juga tidak dapat menjawab pertanyaan Anda.

Tolong pahami.

Untuk mendapatkan data K-line, beberapa teman di grup sering bertanya, di sini saya memberikan contoh kecil yang sederhana untuk memberi tahu Anda bahwa beberapa platform perdagangan menyediakan data K-line, (misalnya token).

Okcoin, yang ditujukan untuk platform seperti ini, dapat diakses secara langsung, sementara sebagian besar platform perdagangan tidak menyediakan data K-line, dalam hal ini harus mengumpulkan K-line sendiri.

Catatan: Dalam lingkungan pengujian tidak perlu mengumpulkan K-line, karena, inventor mengkuantifikasikan K-line historis yang disediakan untuk pengujian, mengapa inventor mengkuantifikasikan K-line historis yang tidak memungkinkan pengguna untuk berdagang secara langsung

Penggunaan K-line terutama mempertimbangkan bahwa inventor mengkuantifikasi K-line yang dikumpulkan sendiri, dalam jumlah dan akurasi, mungkin akan bervariasi secara halus, sehingga tidak tersedia untuk pengguna saat operasi di hard disk.

Yang perlu diperhatikan adalah exchange.GetRecords ((); jumlah K yang dikumpulkan, maksimal 1411, ditambah 1441 item, akan dihapus lebih awal, ini untuk menghindari dampak kinerja.

img

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); }

}

Related Recommendations
Comment
All comments (3)

    大家好,我是冷风,欢迎大家使用BOTVS,从今天起,我开陆续写新手入门的文章,以方便大家快速入门,写出自己的策略。

    关于这个很期待,但是好像没有或者很少!!!

    11 years ago

    有几个问题想请教一下。

    1. 我用这个代码在回测环境中发现收集来的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线,是这样吗?

    11 years ago

    不好意思这么晚看到.. 如果交易所有提供API获取K线,托管者在实盘下面是不会自己收集的,直接获取交易所提供的K线,如果交易所不提供就自己收集, 只保存最近的1411条的, 模拟测试的话,tick级的数据是模拟的,跟实际有差别的.

    11 years ago
  • 1
Forums
PINE Language
Get the app
iPhone Download
© 2015 - ∞ INVENTOR PTE LTD (SG)