金字塔跨周期 VBA編程:測試過去的數(shù)據(jù),2013.3.1這根日K線用GetHistoryData可以調(diào)用 [金字塔]
- 咨詢內(nèi)容:
VBA編程:測試過去的數(shù)據(jù),2013.3.1這根日K線用GetHistoryData 可以調(diào)用,我想在這根K線上調(diào)取當(dāng)天的60分鐘K線,如果虧損就要止損,怎么調(diào)用當(dāng)天的四要K線中的某一要呢? 跨周期
- 金字塔客服:
VBA中遇到這種跨周期是比較麻煩,因?yàn)镚etHistoryData 只能對一個(gè)品種對象調(diào)用,如果你需要同時(shí)處理2個(gè)品種,那么你就必須要用數(shù)組先保存一個(gè),然后再調(diào)用另一個(gè)。
然后在用自己保存的之前的數(shù)組數(shù)據(jù)與第二個(gè)品種的數(shù)據(jù)進(jìn)行處理。
至于你說的跨周期的問題,就必須要你自己用算法來對另一個(gè)周期的數(shù)據(jù)進(jìn)行快速查找了。
- 用戶回復(fù):
第一次提問,沒想到版主在周末能回答問題,金字塔公司該發(fā)給你獎(jiǎng)金了啊。
Set HistoryDay = marketdata.GetHistoryData( "rb10","sq", 5) '得到日線數(shù)據(jù)
History.date(History.Count-i) '得到歷史日K線的日期,比如得到2013.3.1
JinShou=History.Close( History.Count- i ) '得到歷史K結(jié)的收盤價(jià)
Set HistoryHour = marketdata.GetHistoryData( "rb10","sq", 4) '得到60分鐘線數(shù)據(jù)
我要得到在2013.3.1這天60分鐘的第二根K線收盤價(jià),我要在這根K線上判斷是否止損,怎么得到這指定的K線收盤價(jià)啊?
好象沒有指定日期得到指定K線的功能呢
(有一種變通方案,就是測試在收盤后進(jìn)行,每根日K線對應(yīng)四根1小時(shí)K線,回朔去找對應(yīng)的1小時(shí)K線,但我在測試時(shí)確實(shí)見到數(shù)據(jù)不全的情況,不一定對應(yīng)四根呢)
(另外一個(gè)問題,我測試是用螺紋鋼連續(xù)合約還是用螺紋鋼指數(shù)合約,兩者有好大區(qū)別呢)
(此方案是用歷史K線數(shù)據(jù)測試盈利情況,寫報(bào)告之用,非常急用)
- 網(wǎng)友回復(fù):
摘抄編程幫助中的信息給你
GetPosFromDate(DateData)
得到得到指定日期時(shí)間DateData的數(shù)據(jù)的基于0索引的序號。
如果指定日期超過數(shù)據(jù)范圍返回-1。示例:
'得到上期所指定品種的日線數(shù)據(jù)
Set History = marketdata.GetHistoryData("rb00","sq",5)
'顯示指定日期的數(shù)據(jù)所在位置
MSGBOX HISTORY.GetPosFromDate("2010/12/28")提醒一下,你二次調(diào)用GetHistoryData后,第一次的調(diào)用就失效了,也就是你不能再Set HistoryHour 這個(gè)句話后再來用HistoryDay對象的數(shù)據(jù)。
解決問題請參考
http://www.weistock.com/bbs/dispbbs.asp?BoardID=5&ID=12404&skin=0 4樓的處理方法
有思路,想編寫各種指標(biāo)公式,程序化交易模型,選股公式,預(yù)警公式的朋友
可聯(lián)系技術(shù)人員 QQ: 262069696 進(jìn)行 有償 編寫!(不貴!點(diǎn)擊查看價(jià)格!)
相關(guān)文章
-
沒有相關(guān)內(nèi)容