mobetat49008 發表於 17-6-28 13:59

ASCII 匯入 分k 日k 讀到的價格不符

大大好
我用ASCII 匯入1分k歷史資料
然後在訊號的部分用print方式去讀取歷史資料
print(file("C:\multichartdebugfile\test.txt"),date=",date,"time",time);
print(file("C:\multichartdebugfile\test.txt"),"open=",open,",high=",high,",low=",low,",close=",close);

讀到結果如下 ( 以第一筆為例)
date=1150121.00time1026.00
open=9295.00=high9296.00,low=9294.00,close=9296.00
結果正確!

但是我在Protfolio trader
直接把商品裡的週期從1分改成1日
第一筆結果是
date=1150625.00time1345.00
open=9268.00=high9370.00,low=9263.00,close=9340.00

但是如果去看分k資料
2015/06/25,13:45:00,9343,9344,9340,9340
很明顯
分k跟日k的數值讀到的O,H,L,C不ㄧ樣
請問我是哪裡設定有問題嗎?
謝謝

easytrader788 發表於 17-6-28 18:21

日K 週期 顯示的是當日的開盤價/最高價/最低價/收盤價
換個方式來說
日開盤價 = 當日第一根1分K 開盤價
日最高價 = 當日所有一分K的最高價
日最低價 = 當日所有一分K的最低價
日收盤價 = 當日最後一根1分K收盤價

而日K print 出來的時間 1345是因為 QM 裡設定每日區段結束時間為 1345

分K 週期顯示的是當根分K的 開盤價/最高價/最低價/收盤價

所以一定不相同

只有一個狀況 - 最後一根分K 的開高低都與日K相同 , 這時 1345的分K資料就會與日K相同

jinace 發表於 17-6-28 14:16

日K與分K的開盤時間
一個是0845一個是1344
會不一樣不是很正常嗎?

mobetat49008 發表於 17-6-28 14:36

那這樣我用1分k 資料去分析日K
出來的結果是對的嗎?
不好意思

jinace 發表於 17-6-28 15:34

因為我不知道你要分析什麼與怎麼分析
所以很難說對或不對

mobetat49008 發表於 17-6-28 16:01

那....
因為我原本是設想系統會自己從1分k的資料取出特定時間變成日k
假設版主大大說1344
那可能就是我只要看1分k每天的1344

所以看起來沒有那麼聰明?
那這樣他1344的資料到底是從何而來的?

jinace 發表於 17-6-28 16:32

又看了一次~我好像還是沒看懂你的疑問

mc的基礎資料可以儲存成day/min/tick刻度,取樣壓縮的概念
min可以壓縮變成day週期,但day資料無法還原成min

mc的日K週期可以直接讀day刻度的資料,或由min刻度組成

如果同時要用到日K與分K週期就需要使用data2的方式

大致上概念是這樣...

mobetat49008 發表於 17-6-28 17:02

是的 我知道多週期底下需要用到data2

原意簡短來說如下步驟
1. 匯入1分k資料
2. 把商品裡的週期從1分改成1日
3. 按下回測按鈕開始回測
4. 檢查print的log

第一筆結果是
date=1150625.00time1345.00
open=9268.00=high9370.00, low=9263.00, close=9340.00

5. 但是如果去看同樣時間的分k資料
2015/06/25,13:45:00,9343,9344,9340,9340

這兩個是不相符的
所以想知道我是不是哪裡做錯了?
不好意思如果可以希望解開我的迷惑
謝謝

jinace 發表於 17-6-28 17:54

你把週期改為一日後~OHLC表示的是08:45~13:45之間的變動
而你所說的分K資料是13:44~13:45之間的變動

不懂你刻意把週期改為一日,卻希望得到跟一分同樣的資料?

mobetat49008 發表於 17-6-28 18:53

感謝jinace跟easytrader788大大的回覆
這樣小弟明白了

總結一下
就是如果變成日k
就換取當天所有分k的O,H,L,C

cowbearcar 發表於 17-6-28 20:54

怎麼這麼煩!明明是一行程式也不用寫!!
先選「日線圖」->檔案->Export 匯出-> 第一個不要「勾」,不用指標結果!
就這樣整作出你想要的匯出ASCII資料
再到 Quote Manager->New Symbol->ASCII 匯入便行。->如沒有Volume,把它改為 Undefine
基本上,我建議先 刪丟 Symbol,重新增加,確保沒有殘餘資料。
因為你開的是同名Symbol

系統匯出的東西,必然可以匯入回來,
一行程式也不用寫,你還可以了解正確答案是怎樣!

jinace 發表於 17-6-28 21:15

cowbearcar 發表於 17-6-28 20:54
怎麼這麼煩!明明是一行程式也不用寫!!
先選「日線圖」->檔案->Export 匯出-> 第一個不要「勾」,不用指 ...

可能是用Portfolio trader可以做批次匯出自由度也比較高吧
頁: [1]
查看完整版本: ASCII 匯入 分k 日k 讀到的價格不符